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

Unified Diff: android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java

Issue 2709163008: [Android Crash Reporting] Componentize MinidumpUploadImpl.java (Closed)
Patch Set: Finished rebase Created 3 years, 10 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: android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java
index e79a095079f9432fdcf59a2b38186833773a4769..87dc629f1c7d3abf096aedc7ff25fb5ddc644985 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/crash/MinidumpUploaderTest.java
@@ -12,8 +12,8 @@ import android.support.test.filters.MediumTest;
import android.webkit.ValueCallback;
import org.chromium.android_webview.PlatformServiceBridge;
+import org.chromium.android_webview.crash.AwMinidumpUploaderDelegate;
import org.chromium.android_webview.crash.CrashReceiverService;
-import org.chromium.android_webview.crash.MinidumpUploaderImpl;
import org.chromium.base.FileUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.components.minidump_uploader.CrashFileManager;
@@ -21,6 +21,8 @@ import org.chromium.components.minidump_uploader.CrashTestCase;
import org.chromium.components.minidump_uploader.MinidumpUploadCallable;
import org.chromium.components.minidump_uploader.MinidumpUploadCallableTest;
import org.chromium.components.minidump_uploader.MinidumpUploader;
+import org.chromium.components.minidump_uploader.MinidumpUploaderDelegate;
+import org.chromium.components.minidump_uploader.MinidumpUploaderImpl;
import org.chromium.components.minidump_uploader.util.CrashReportingPermissionManager;
import org.chromium.components.minidump_uploader.util.HttpURLConnectionFactory;
@@ -73,16 +75,32 @@ public class MinidumpUploaderTest extends CrashTestCase {
}
}
- private static class TestMinidumpUploaderImpl extends MinidumpUploaderImpl {
+ private static class TestMinidumpUploaderDelegate extends AwMinidumpUploaderDelegate {
private final CrashReportingPermissionManager mPermissionManager;
- TestMinidumpUploaderImpl(
+ TestMinidumpUploaderDelegate(
Context context, CrashReportingPermissionManager permissionManager) {
super(context);
mPermissionManager = permissionManager;
}
@Override
+ public PlatformServiceBridge createPlatformServiceBridge() {
+ return new TestPlatformServiceBridge(true /* canUseGms */,
+ mPermissionManager.isUsageAndCrashReportingPermittedByUser());
+ }
+ }
+
+ private static class TestMinidumpUploaderImpl extends MinidumpUploaderImpl {
+ private final CrashReportingPermissionManager mPermissionManager;
+
+ TestMinidumpUploaderImpl(MinidumpUploaderDelegate delegate,
+ CrashReportingPermissionManager permissionManager) {
+ super(delegate);
+ mPermissionManager = permissionManager;
+ }
+
+ @Override
public CrashFileManager createCrashFileManager(File crashDir) {
return new CrashFileManager(crashDir) {
@Override
@@ -97,12 +115,6 @@ public class MinidumpUploaderTest extends CrashTestCase {
new MinidumpUploadCallableTest.TestHttpURLConnectionFactory(),
mPermissionManager);
}
-
- @Override
- public PlatformServiceBridge createPlatformServiceBridge() {
- return new TestPlatformServiceBridge(true /* canUseGms */,
- mPermissionManager.isUsageAndCrashReportingPermittedByUser());
- }
}
/**
@@ -122,8 +134,9 @@ public class MinidumpUploaderTest extends CrashTestCase {
mIsEnabledForTests = false;
}
};
- MinidumpUploader minidumpUploader =
- new TestMinidumpUploaderImpl(getInstrumentation().getTargetContext(), permManager);
+ MinidumpUploaderDelegate delegate = new TestMinidumpUploaderDelegate(
+ getInstrumentation().getTargetContext(), permManager);
+ MinidumpUploader minidumpUploader = new TestMinidumpUploaderImpl(delegate, permManager);
File firstFile = createMinidumpFileInCrashDir("1_abc.dmp0");
File secondFile = createMinidumpFileInCrashDir("12_abc.dmp0");
@@ -213,8 +226,9 @@ public class MinidumpUploaderTest extends CrashTestCase {
new MockCrashReportingPermissionManager() {
{ mIsEnabledForTests = true; }
};
- MinidumpUploader minidumpUploader =
- new TestMinidumpUploaderImpl(getInstrumentation().getTargetContext(), permManager);
+ MinidumpUploaderDelegate delegate = new TestMinidumpUploaderDelegate(
+ getInstrumentation().getTargetContext(), permManager);
+ MinidumpUploader minidumpUploader = new TestMinidumpUploaderImpl(delegate, permManager);
File firstFile = createMinidumpFileInCrashDir("1_abc.dmp0");
File secondFile = createMinidumpFileInCrashDir("12_abcd.dmp0");
@@ -237,7 +251,13 @@ public class MinidumpUploaderTest extends CrashTestCase {
private static MinidumpUploaderImpl createCallableListMinidumpUploader(Context context,
final List<MinidumpUploadCallableCreator> callables, final boolean userPermitted) {
- return new TestMinidumpUploaderImpl(context, null) {
+ MinidumpUploaderDelegate delegate = new AwMinidumpUploaderDelegate(context) {
+ @Override
+ public PlatformServiceBridge createPlatformServiceBridge() {
+ return new TestPlatformServiceBridge(true /* canUseGms*/, userPermitted);
+ }
+ };
+ return new TestMinidumpUploaderImpl(delegate, null) {
private int mIndex = 0;
@Override
@@ -248,10 +268,6 @@ public class MinidumpUploaderTest extends CrashTestCase {
}
return callables.get(mIndex++).createCallable(minidumpFile, logfile);
}
- @Override
- public PlatformServiceBridge createPlatformServiceBridge() {
- return new TestPlatformServiceBridge(true /* canUseGms*/, userPermitted);
- }
};
}
@@ -365,20 +381,23 @@ public class MinidumpUploaderTest extends CrashTestCase {
{ mIsEnabledForTests = true; }
};
final CountDownLatch stopStallingLatch = new CountDownLatch(1);
- MinidumpUploaderImpl minidumpUploader = new TestMinidumpUploaderImpl(
+ MinidumpUploaderDelegate delegate = new TestMinidumpUploaderDelegate(
getInstrumentation().getTargetContext(), permManager) {
@Override
+ public PlatformServiceBridge createPlatformServiceBridge() {
+ return new TestPlatformServiceBridge(
+ true /* canUseGms*/, permManager.isUsageAndCrashReportingPermittedByUser());
+ }
+ };
+ MinidumpUploaderImpl minidumpUploader = new TestMinidumpUploaderImpl(
+ delegate, permManager) {
+ @Override
public MinidumpUploadCallable createMinidumpUploadCallable(
File minidumpFile, File logfile) {
return new MinidumpUploadCallable(minidumpFile, logfile,
new StallingHttpUrlConnectionFactory(stopStallingLatch, successfulUpload),
permManager);
}
- @Override
- public PlatformServiceBridge createPlatformServiceBridge() {
- return new TestPlatformServiceBridge(
- true /* canUseGms*/, permManager.isUsageAndCrashReportingPermittedByUser());
- }
};
File firstFile = createMinidumpFileInCrashDir("123_abc.dmp0");
@@ -471,37 +490,24 @@ public class MinidumpUploaderTest extends CrashTestCase {
}
/**
- * MinidumpUploaderImpl sub-class that uses MinidumpUploaderImpl's implementation of
+ * MinidumpUploaderDelegate sub-class that uses MinidumpUploaderDelegate's implementation of
* CrashReportingPermissionManager.isUsageAndCrashReportingPermittedByUser().
*/
- private static class WebViewUserConsentMinidumpUploaderImpl extends MinidumpUploaderImpl {
+ private static class WebViewUserConsentMinidumpUploaderDelegate
+ extends AwMinidumpUploaderDelegate {
private final boolean mUserConsent;
- WebViewUserConsentMinidumpUploaderImpl(Context context, boolean userConsent) {
+ WebViewUserConsentMinidumpUploaderDelegate(Context context, boolean userConsent) {
super(context);
mUserConsent = userConsent;
}
@Override
- public CrashFileManager createCrashFileManager(File crashDir) {
- return new CrashFileManager(crashDir) {
- @Override
- public void cleanOutAllNonFreshMinidumpFiles() {}
- };
- }
- @Override
public PlatformServiceBridge createPlatformServiceBridge() {
return new TestPlatformServiceBridge(true /* canUseGms */, mUserConsent);
}
@Override
- public MinidumpUploadCallable createMinidumpUploadCallable(
- File minidumpFile, File logfile) {
- return new MinidumpUploadCallable(minidumpFile, logfile,
- new MinidumpUploadCallableTest.TestHttpURLConnectionFactory(),
- createWebViewCrashReportingManager());
- }
- @Override
- protected CrashReportingPermissionManager createWebViewCrashReportingManager() {
+ public CrashReportingPermissionManager createCrashReportingPermissionManager() {
final CrashReportingPermissionManager realPermissionManager =
- super.createWebViewCrashReportingManager();
+ super.createCrashReportingPermissionManager();
return new MockCrashReportingPermissionManager() {
{
// This setup ensures we depend on
@@ -526,8 +532,10 @@ public class MinidumpUploaderTest extends CrashTestCase {
}
private void testPlatformServicesBridgeIsUsed(final boolean userConsent) throws IOException {
- MinidumpUploader minidumpUploader = new WebViewUserConsentMinidumpUploaderImpl(
+ MinidumpUploaderDelegate delegate = new WebViewUserConsentMinidumpUploaderDelegate(
getInstrumentation().getTargetContext(), userConsent);
+ MinidumpUploader minidumpUploader = new TestMinidumpUploaderImpl(
+ delegate, delegate.createCrashReportingPermissionManager());
File firstFile = createMinidumpFileInCrashDir("1_abc.dmp0");
File secondFile = createMinidumpFileInCrashDir("12_abcd.dmp0");
@@ -668,8 +676,9 @@ public class MinidumpUploaderTest extends CrashTestCase {
new MockCrashReportingPermissionManager() {
{ mIsEnabledForTests = true; }
};
- MinidumpUploader minidumpUploader =
- new TestMinidumpUploaderImpl(getInstrumentation().getTargetContext(), permManager);
+ MinidumpUploaderDelegate delegate = new TestMinidumpUploaderDelegate(
+ getInstrumentation().getTargetContext(), permManager);
+ MinidumpUploader minidumpUploader = new TestMinidumpUploaderImpl(delegate, permManager);
uploadMinidumpsSync(minidumpUploader, false /* expectReschedule */);
// Ensure there are no minidumps left to upload.

Powered by Google App Engine
This is Rietveld 408576698