| Index: components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/CrashTestCase.java
|
| diff --git a/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/CrashTestCase.java b/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/CrashTestCase.java
|
| index 4de6effdf018188ecdd86f313984baa5230bb5a7..77b384170a6ae60c435edb238cdc86bb72b24071 100644
|
| --- a/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/CrashTestCase.java
|
| +++ b/components/minidump_uploader/android/javatests/src/org/chromium/components/minidump_uploader/CrashTestCase.java
|
| @@ -7,6 +7,7 @@ package org.chromium.components.minidump_uploader;
|
| import android.test.InstrumentationTestCase;
|
|
|
| import org.chromium.base.Log;
|
| +import org.chromium.components.minidump_uploader.util.CrashReportingPermissionManager;
|
|
|
| import java.io.File;
|
| import java.io.FileWriter;
|
| @@ -25,7 +26,7 @@ public class CrashTestCase extends InstrumentationTestCase {
|
| @Override
|
| protected void setUp() throws Exception {
|
| super.setUp();
|
| - mCacheDir = getInstrumentation().getTargetContext().getCacheDir();
|
| + mCacheDir = getExistingCacheDir();
|
| mCrashDir = new File(
|
| mCacheDir,
|
| CrashFileManager.CRASH_DUMP_DIR);
|
| @@ -34,6 +35,14 @@ public class CrashTestCase extends InstrumentationTestCase {
|
| }
|
| }
|
|
|
| + /**
|
| + * Returns the cache directory where we should store minidumps.
|
| + * Can be overriden by sub-classes to allow for use with different cache directories.
|
| + */
|
| + protected File getExistingCacheDir() {
|
| + return getInstrumentation().getTargetContext().getCacheDir();
|
| + }
|
| +
|
| @Override
|
| protected void tearDown() throws Exception {
|
| super.tearDown();
|
| @@ -82,4 +91,50 @@ public class CrashTestCase extends InstrumentationTestCase {
|
| }
|
| }
|
| }
|
| +
|
| + /**
|
| + * A utility instantiation of CrashReportingPermissionManager providing a compact way of
|
| + * overriding different permission settings.
|
| + */
|
| + public static class MockCrashReportingPermissionManager
|
| + implements CrashReportingPermissionManager {
|
| + protected boolean mIsInSample;
|
| + protected boolean mIsPermitted;
|
| + protected boolean mIsUserPermitted;
|
| + protected boolean mIsCommandLineDisabled;
|
| + protected boolean mIsNetworkAvailable;
|
| + protected boolean mIsEnabledForTests;
|
| +
|
| + MockCrashReportingPermissionManager() {}
|
| +
|
| + @Override
|
| + public boolean isClientInMetricsSample() {
|
| + return mIsInSample;
|
| + }
|
| +
|
| + @Override
|
| + public boolean isNetworkAvailableForCrashUploads() {
|
| + return mIsNetworkAvailable;
|
| + }
|
| +
|
| + @Override
|
| + public boolean isMetricsUploadPermitted() {
|
| + return mIsPermitted;
|
| + }
|
| +
|
| + @Override
|
| + public boolean isUsageAndCrashReportingPermittedByUser() {
|
| + return mIsUserPermitted;
|
| + }
|
| +
|
| + @Override
|
| + public boolean isCrashUploadDisabledByCommandLine() {
|
| + return mIsCommandLineDisabled;
|
| + }
|
| +
|
| + @Override
|
| + public boolean isUploadEnabledForTests() {
|
| + return mIsEnabledForTests;
|
| + }
|
| + }
|
| }
|
|
|