| 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 8872090740282dd1cc1b0de48d7844954829e7f9..3b448e7b96959ec61bd69b4bfc724614fb5be3c7 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
|
| @@ -23,7 +23,6 @@ import android.support.test.filters.SmallTest;
|
| import org.chromium.base.annotations.SuppressFBWarnings;
|
| import org.chromium.base.test.util.AdvancedMockContext;
|
| import org.chromium.base.test.util.Feature;
|
| -import org.chromium.chrome.browser.ChromeFeatureList;
|
| import org.chromium.components.background_task_scheduler.TaskIds;
|
| import org.chromium.components.minidump_uploader.CrashTestCase;
|
| import org.chromium.components.minidump_uploader.MinidumpUploadCallable;
|
| @@ -35,9 +34,7 @@ import org.chromium.net.NetworkChangeNotifier;
|
| import java.io.File;
|
| import java.io.IOException;
|
| import java.util.ArrayList;
|
| -import java.util.HashMap;
|
| import java.util.List;
|
| -import java.util.Map;
|
| import java.util.concurrent.atomic.AtomicInteger;
|
| /**
|
| * Testcase for {@link MinidumpUploadService}.
|
| @@ -79,28 +76,13 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| }
|
| }
|
|
|
| - @Override
|
| - protected void tearDown() throws Exception {
|
| - ChromeFeatureList.setTestFeatures(null);
|
| - super.tearDown();
|
| - }
|
| -
|
| - /**
|
| - * Sets whether to upload minidumps using the JobScheduler API. Minidumps can either be uploaded
|
| - * via a JobScheduler, or via a direct Intent service.
|
| - * @param enable Whether to enable the JobScheduler API.
|
| - */
|
| - private void setJobSchedulerEnabled(boolean enable) {
|
| - Map<String, Boolean> features = new HashMap<>();
|
| - features.put(ChromeFeatureList.UPLOAD_CRASH_REPORTS_USING_JOB_SCHEDULER, enable);
|
| - ChromeFeatureList.setTestFeatures(features);
|
| - }
|
| -
|
| @SmallTest
|
| @Feature({"Android-AppBase"})
|
| public void testTryUploadAllCrashDumps() throws IOException {
|
| + // The JobScheduler API is used on Android M+.
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) return;
|
| +
|
| // Setup prerequisites.
|
| - setJobSchedulerEnabled(false);
|
| final AtomicInteger numServiceStarts = new AtomicInteger(0);
|
| final File[] minidumpFiles = {
|
| new File(mCrashDir, "chromium_renderer-111.dmp1"),
|
| @@ -190,11 +172,13 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| @SuppressFBWarnings("RV_RETURN_VALUE_IGNORED_BAD_PRACTICE")
|
| private void runUploadCrashTest(final List<CountedMinidumpUploadCallable> callables)
|
| throws IOException, InterruptedException {
|
| + // The JobScheduler API is used on Android M+.
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) return;
|
| +
|
| // Setup prerequisites.
|
| // This version of the service overrides the createMinidumpUploadCallable(...) to be able
|
| // to return fake ones. It also ensures that the service never tries to create a callable
|
| // too many times.
|
| - setJobSchedulerEnabled(false);
|
| TestMinidumpUploadService service = new TestMinidumpUploadService() {
|
| int mIndex = 0;
|
| boolean mTriggerNetworkChange = false;
|
| @@ -311,8 +295,10 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| @Feature({"Android-AppBase"})
|
| public void testHandleForceUploadCrash_MinidumpFileExists_SansJobScheduler()
|
| throws IOException {
|
| + // The JobScheduler API is used on Android M+.
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) return;
|
| +
|
| // Set up prerequisites.
|
| - setJobSchedulerEnabled(false);
|
| File minidumpFile =
|
| new File(mCrashDir, "chromium-renderer-minidump-f297dbcba7a2d0bb.dmp0.try3");
|
| final File expectedRenamedMinidumpFile =
|
| @@ -344,9 +330,8 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| @Feature({"Android-AppBase"})
|
| public void testHandleForceUploadCrash_MinidumpFileExists_WithJobScheduler()
|
| throws IOException {
|
| - // The JobScheduler API is only available as of Android M.
|
| + // The JobScheduler API is only available as of Android M+.
|
| if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return;
|
| - setJobSchedulerEnabled(true);
|
|
|
| // Set up prerequisites.
|
| setUpMinidumpFile(
|
| @@ -371,8 +356,10 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| @Feature({"Android-AppBase"})
|
| public void testHandleForceUploadCrash_SkippedMinidumpFileExists_SansJobScheduler()
|
| throws IOException {
|
| + // The JobScheduler API is used on Android M+.
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) return;
|
| +
|
| // Set up prerequisites.
|
| - setJobSchedulerEnabled(false);
|
| File minidumpFile =
|
| new File(mCrashDir, "chromium-renderer-minidump-f297dbcba7a2d0bb.skipped0.try0");
|
| final File expectedRenamedMinidumpFile =
|
| @@ -406,7 +393,6 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| throws IOException {
|
| // The JobScheduler API is only available as of Android M.
|
| if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return;
|
| - setJobSchedulerEnabled(true);
|
|
|
| // Set up prerequisites.
|
| setUpMinidumpFile(
|
| @@ -430,8 +416,10 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| @SmallTest
|
| @Feature({"Android-AppBase"})
|
| public void testHandleForceUploadCrash_FileDoesntExist_SansJobScheduler() {
|
| + // The JobScheduler API is used on Android M+.
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) return;
|
| +
|
| // Set up prerequisites.
|
| - setJobSchedulerEnabled(false);
|
| final String startServiceFlag = "startServiceFlag";
|
| MinidumpPreparationContext context = new MinidumpPreparationContext(
|
| getInstrumentation().getTargetContext()) {
|
| @@ -455,7 +443,6 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| public void testHandleForceUploadCrash_FileDoesntExist_WithJobScheduler() throws IOException {
|
| // The JobScheduler API is only available as of Android M.
|
| if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return;
|
| - setJobSchedulerEnabled(true);
|
|
|
| // Set up prerequisites.
|
| AdvancedMockContext context =
|
| @@ -473,8 +460,10 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| @Feature({"Android-AppBase"})
|
| public void testHandleForceUploadCrash_FileAlreadyUploaded_SansJobScheduler()
|
| throws IOException {
|
| + // The JobScheduler API is used on Android M+.
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) return;
|
| +
|
| // Set up prerequisites.
|
| - setJobSchedulerEnabled(false);
|
| setUpMinidumpFile(
|
| new File(mCrashDir, "chromium-renderer-minidump-f297dbcba7a2d0bb.up0.try0"),
|
| BOUNDARY);
|
| @@ -502,7 +491,6 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| throws IOException {
|
| // The JobScheduler API is only available as of Android M.
|
| if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return;
|
| - setJobSchedulerEnabled(true);
|
|
|
| // Set up prerequisites.
|
| setUpMinidumpFile(
|
| @@ -574,9 +562,6 @@ public class MinidumpUploadServiceTest extends CrashTestCase {
|
| @Override
|
| public Object getSystemService(String name) {
|
| if (Context.JOB_SCHEDULER_SERVICE.equals(name)) {
|
| - assertTrue("Should only access the JobScheduler when it is enabled.",
|
| - ChromeFeatureList.isEnabled(
|
| - ChromeFeatureList.UPLOAD_CRASH_REPORTS_USING_JOB_SCHEDULER));
|
| return new TestJobScheduler(this);
|
| }
|
|
|
|
|