Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(263)

Unified Diff: components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java

Issue 2418843002: Correctly rename minidumps "foo.dmpX.try0" after failed uploads. (Closed)
Patch Set: Added some tests to ensure CrashFileManager.readAttemptNumber returns -1 in cases like ".try-X" (e.… Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
index f4f6e94645ae4816990161db0d512d6e79143e9f..10a07e5cd283d68fe7abb74d03e887d3c0c05190 100644
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/CrashFileManager.java
@@ -126,11 +126,14 @@ public class CrashFileManager {
@VisibleForTesting
public static String filenameWithIncrementedAttemptNumber(String filename) {
int numTried = readAttemptNumber(filename);
- if (numTried > 0) {
+ if (numTried >= 0) {
int newCount = numTried + 1;
return filename.replace(
UPLOAD_ATTEMPT_DELIMITER + numTried, UPLOAD_ATTEMPT_DELIMITER + newCount);
} else {
+ // readAttemptNumber returning -1 means there is no UPLOAD_ATTEMPT_DELIMITER in the file
+ // name (or that there is a delimiter but no attempt number). So, we have to add the
+ // delimiter and attempt number ourselves.
return filename + UPLOAD_ATTEMPT_DELIMITER + "1";
}
}
@@ -173,6 +176,11 @@ public class CrashFileManager {
return filename.replace(NOT_YET_UPLOADED_MINIDUMP_SUFFIX, UPLOAD_FORCED_MINIDUMP_SUFFIX);
}
+ /**
+ * Returns how many times we've tried to upload a certain Minidump file.
+ * @return the number of attempts to upload the given Minidump file, parsed from its file name,
+ * returns -1 if an attempt-number cannot be parsed from the file-name.
+ */
@VisibleForTesting
public static int readAttemptNumber(String filename) {
int tryIndex = filename.lastIndexOf(UPLOAD_ATTEMPT_DELIMITER);
@@ -183,12 +191,12 @@ public class CrashFileManager {
try {
int nextInt = numTriesScanner.nextInt();
// Only return the number if it occurs just after the UPLOAD_ATTEMPT_DELIMITER.
- return numTriesString.indexOf(Integer.toString(nextInt)) == 0 ? nextInt : 0;
+ return numTriesString.indexOf(Integer.toString(nextInt)) == 0 ? nextInt : -1;
} catch (NoSuchElementException e) {
- return 0;
+ return -1;
}
}
- return 0;
+ return -1;
}
/**

Powered by Google App Engine
This is Rietveld 408576698