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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java

Issue 2862353003: [Crash Reporting] Fix a race between uploading and appending logcat data. (Closed)
Patch Set: Rebase Created 3 years, 7 months 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: chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java
index 72274caf7606d9566e3cfbef39faa9517a758f65..367fe20d13a23c24b0afe3c50bf8196d0f522962 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java
@@ -86,9 +86,15 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
// Setup prerequisites.
final AtomicInteger numServiceStarts = new AtomicInteger(0);
final File[] minidumpFiles = {
- new File(mCrashDir, "chromium_renderer-111.dmp1"),
- new File(mCrashDir, "chromium_renderer-222.dmp2"),
- new File(mCrashDir, "chromium_renderer-333.dmp3"),
+ new File(mCrashDir, "chromium_renderer-111.dmp1.try0"),
+ new File(mCrashDir, "chromium_renderer-222.dmp2.try1"),
+ new File(mCrashDir, "chromium_renderer-333.dmp3.try2"),
+ };
+ final File[] invalidMinidumpFiles = {
+ // The ".try" suffix is required.
+ new File(mCrashDir, "chromium_renderer-111.dmp4"),
+ // The minidump should not have exceeded the maximum number of tries.
+ new File(mCrashDir, "chromium_renderer-222.dmp5.try3"),
};
MinidumpPreparationContext context = new MinidumpPreparationContext(
getInstrumentation().getTargetContext().getApplicationContext()) {
@@ -111,6 +117,9 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
for (File minidumpFile : minidumpFiles) {
setUpMinidumpFile(minidumpFile, BOUNDARY);
}
+ for (File minidumpFile : invalidMinidumpFiles) {
+ setUpMinidumpFile(minidumpFile, BOUNDARY);
+ }
// Run test.
service.onCreate();
@@ -131,7 +140,7 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
List<CountedMinidumpUploadCallable> callables =
new ArrayList<CountedMinidumpUploadCallable>();
callables.add(new CountedMinidumpUploadCallable(
- "chromium_renderer-111.dmp1", MinidumpUploadCallable.UPLOAD_SUCCESS, false));
+ "chromium_renderer-111.dmp1.try0", MinidumpUploadCallable.UPLOAD_SUCCESS, false));
runUploadCrashTest(callables);
}
@@ -142,8 +151,7 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
final List<CountedMinidumpUploadCallable> callables =
new ArrayList<CountedMinidumpUploadCallable>();
for (int i = 0; i < MinidumpUploadService.MAX_TRIES_ALLOWED; i++) {
- callables.add(new CountedMinidumpUploadCallable(
- "chromium_renderer-111.dmp1" + (i > 0 ? ".try" + i : ""),
+ callables.add(new CountedMinidumpUploadCallable("chromium_renderer-111.dmp1.try" + i,
MinidumpUploadCallable.UPLOAD_FAILURE, true));
}
runUploadCrashTest(callables);
@@ -155,7 +163,7 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
List<CountedMinidumpUploadCallable> callables =
new ArrayList<CountedMinidumpUploadCallable>();
callables.add(new CountedMinidumpUploadCallable(
- "chromium_renderer-111.dmp1", MinidumpUploadCallable.UPLOAD_FAILURE, true));
+ "chromium_renderer-111.dmp1.try0", MinidumpUploadCallable.UPLOAD_FAILURE, true));
callables.add(new CountedMinidumpUploadCallable(
"chromium_renderer-111.dmp1.try1", MinidumpUploadCallable.UPLOAD_SUCCESS, true));
runUploadCrashTest(callables);
@@ -167,7 +175,7 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
List<CountedMinidumpUploadCallable> callables =
new ArrayList<CountedMinidumpUploadCallable>();
callables.add(new CountedMinidumpUploadCallable(
- "chromium_renderer-111.dmp1", MinidumpUploadCallable.UPLOAD_FAILURE, false));
+ "chromium_renderer-111.dmp1.try0", MinidumpUploadCallable.UPLOAD_FAILURE, false));
runUploadCrashTest(callables);
}
@@ -269,7 +277,7 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
// dependent on the service, we do this after context creation.
service.attachBaseContextLate(context);
// Create the file used for uploading.
- File minidumpFile = new File(mCrashDir, "chromium_renderer-111.dmp1");
+ File minidumpFile = new File(mCrashDir, "chromium_renderer-111.dmp1.try0");
minidumpFile.createNewFile();
setUpMinidumpFile(minidumpFile, BOUNDARY);
@@ -517,7 +525,7 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
@SmallTest
@Feature({"Android-AppBase"})
public void testGetCrashType1() throws IOException {
- final File minidumpFile = new File(mCrashDir, "chromium_renderer-123.dmp");
+ final File minidumpFile = new File(mCrashDir, "chromium_renderer-123.dmp.try0");
setUpMinidumpFile(minidumpFile, BOUNDARY, "browser");
assertEquals(BROWSER, MinidumpUploadService.getCrashType(minidumpFile.getAbsolutePath()));
}
@@ -525,7 +533,7 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
@SmallTest
@Feature({"Android-AppBase"})
public void testGetCrashType2() throws IOException {
- final File minidumpFile = new File(mCrashDir, "chromium_renderer-123.dmp");
+ final File minidumpFile = new File(mCrashDir, "chromium_renderer-123.dmp.try0");
setUpMinidumpFile(minidumpFile, BOUNDARY, "renderer");
assertEquals(RENDERER, MinidumpUploadService.getCrashType(minidumpFile.getAbsolutePath()));
}
@@ -533,7 +541,7 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
@SmallTest
@Feature({"Android-AppBase"})
public void testGetCrashType3() throws IOException {
- final File minidumpFile = new File(mCrashDir, "chromium_renderer-123.dmp");
+ final File minidumpFile = new File(mCrashDir, "chromium_renderer-123.dmp.try0");
setUpMinidumpFile(minidumpFile, BOUNDARY, "gpu-process");
assertEquals(GPU, MinidumpUploadService.getCrashType(minidumpFile.getAbsolutePath()));
}
@@ -541,7 +549,7 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
@SmallTest
@Feature({"Android-AppBase"})
public void testGetCrashType4() throws IOException {
- final File minidumpFile = new File(mCrashDir, "chromium_renderer-123.dmp");
+ final File minidumpFile = new File(mCrashDir, "chromium_renderer-123.dmp.try0");
setUpMinidumpFile(minidumpFile, BOUNDARY, "weird test type");
assertEquals(OTHER, MinidumpUploadService.getCrashType(minidumpFile.getAbsolutePath()));
}

Powered by Google App Engine
This is Rietveld 408576698