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

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

Issue 2780933002: [Crash Reporting] Enable the JobScheduler API by default for Android M+. (Closed)
Patch Set: Created 3 years, 9 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 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);
}

Powered by Google App Engine
This is Rietveld 408576698