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

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

Issue 2307713002: [Android] Provide an API for manually triggering a crash report upload. (Closed)
Patch Set: More test suppressions Created 4 years, 3 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
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadCallableTest.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 f4aae35b751e24cfff123f9786d4d0984e48ead4..4fe24c386284563e58bfcf94d3660973a80ca7fc 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
@@ -365,6 +365,121 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
@SmallTest
@Feature({"Android-AppBase"})
+ public void testTryUploadCrashDumpWithLocalId_MinidumpFileExists() throws IOException {
+ // Set up prerequisites.
+ File minidumpFile =
+ new File(mCrashDir, "chromium-renderer-minidump-f297dbcba7a2d0bb.dmp0.try3");
+ final File expectedRenamedMinidumpFile =
+ new File(mCrashDir, "chromium-renderer-minidump-f297dbcba7a2d0bb.forced0.try0");
+ setUpMinidumpFile(minidumpFile, BOUNDARY);
+ final String startServiceFlag = "startServiceFlag";
+ MinidumpPreparationContext context = new MinidumpPreparationContext(
+ getInstrumentation().getTargetContext()) {
+ @Override
+ public ComponentName startService(Intent intentToCheck) {
+ assertEquals(MinidumpUploadService.ACTION_UPLOAD, intentToCheck.getAction());
+ String filePath =
+ intentToCheck.getStringExtra(MinidumpUploadService.FILE_TO_UPLOAD_KEY);
+ assertEquals("Minidump path should be for a fresh upload",
+ expectedRenamedMinidumpFile.getAbsolutePath(), filePath);
+ setFlag(startServiceFlag);
+ return new ComponentName(getPackageName(), MinidumpUploadService.class.getName());
+ }
+ };
+
+ // Run test.
+ MinidumpUploadService service = new TestMinidumpUploadService(context);
+ service.tryUploadCrashDumpWithLocalId("f297dbcba7a2d0bb");
+
+ // Verify.
+ assertTrue("Should have called startService(...)", context.isFlagSet(startServiceFlag));
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testTryUploadCrashDumpWithLocalId_SkippedMinidumpFileExists() throws IOException {
+ // Set up prerequisites.
+ File minidumpFile =
+ new File(mCrashDir, "chromium-renderer-minidump-f297dbcba7a2d0bb.skipped0.try0");
+ final File expectedRenamedMinidumpFile =
+ new File(mCrashDir, "chromium-renderer-minidump-f297dbcba7a2d0bb.forced0.try0");
+ setUpMinidumpFile(minidumpFile, BOUNDARY);
+ final String startServiceFlag = "startServiceFlag";
+ MinidumpPreparationContext context = new MinidumpPreparationContext(
+ getInstrumentation().getTargetContext()) {
+ @Override
+ public ComponentName startService(Intent intentToCheck) {
+ assertEquals(MinidumpUploadService.ACTION_UPLOAD, intentToCheck.getAction());
+ String filePath =
+ intentToCheck.getStringExtra(MinidumpUploadService.FILE_TO_UPLOAD_KEY);
+ assertEquals("Minidump path should be for a fresh upload",
+ expectedRenamedMinidumpFile.getAbsolutePath(), filePath);
+ setFlag(startServiceFlag);
+ return new ComponentName(getPackageName(), MinidumpUploadService.class.getName());
+ }
+ };
+
+ // Run test.
+ MinidumpUploadService service = new TestMinidumpUploadService(context);
+ service.tryUploadCrashDumpWithLocalId("f297dbcba7a2d0bb");
+
+ // Verify.
+ assertTrue("Should have called startService(...)", context.isFlagSet(startServiceFlag));
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testTryUploadCrashDumpWithLocalId_FileDoesntExist() {
+ // Set up prerequisites.
+ final String startServiceFlag = "startServiceFlag";
+ MinidumpPreparationContext context = new MinidumpPreparationContext(
+ getInstrumentation().getTargetContext()) {
+ @Override
+ public ComponentName startService(Intent intentToCheck) {
+ assertEquals(MinidumpUploadService.ACTION_UPLOAD, intentToCheck.getAction());
+ setFlag(startServiceFlag);
+ return new ComponentName(getPackageName(), MinidumpUploadService.class.getName());
+ }
+ };
+
+ // Run test.
+ MinidumpUploadService service = new TestMinidumpUploadService(context);
+ service.tryUploadCrashDumpWithLocalId("f297dbcba7a2d0bb");
+
+ // Verify.
+ assertFalse(
+ "Should not have called startService(...)", context.isFlagSet(startServiceFlag));
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
+ public void testTryUploadCrashDumpWithLocalId_FileAlreadyUploaded() throws IOException {
+ // Set up prerequisites.
+ File minidumpFile =
+ new File(mCrashDir, "chromium-renderer-minidump-f297dbcba7a2d0bb.up0.try0");
+ setUpMinidumpFile(minidumpFile, BOUNDARY);
+ final String startServiceFlag = "startServiceFlag";
+ MinidumpPreparationContext context = new MinidumpPreparationContext(
+ getInstrumentation().getTargetContext()) {
+ @Override
+ public ComponentName startService(Intent intentToCheck) {
+ assertEquals(MinidumpUploadService.ACTION_UPLOAD, intentToCheck.getAction());
+ setFlag(startServiceFlag);
+ return new ComponentName(getPackageName(), MinidumpUploadService.class.getName());
+ }
+ };
+
+ // Run test.
+ MinidumpUploadService service = new TestMinidumpUploadService(context);
+ service.tryUploadCrashDumpWithLocalId("f297dbcba7a2d0bb");
+
+ // Verify.
+ assertFalse(
+ "Should not have called startService(...)", context.isFlagSet(startServiceFlag));
+ }
+
+ @SmallTest
+ @Feature({"Android-AppBase"})
public void testGetCrashType1() throws IOException {
final File minidumpFile = new File(mCrashDir, "chromium_renderer-123.dmp");
setUpMinidumpFile(minidumpFile, BOUNDARY, "browser");
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadCallableTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698