| Index: base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java
|
| diff --git a/base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java b/base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java
|
| index aaa5c660865e46763aec79664cd292de09b5ca5e..850cea4230c1e3a950fdde153cd01189d6070c06 100644
|
| --- a/base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java
|
| +++ b/base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java
|
| @@ -4,7 +4,6 @@
|
|
|
| package org.chromium.base.test;
|
|
|
| -import android.content.Context;
|
| import android.support.test.InstrumentationRegistry;
|
|
|
| import org.junit.runner.notification.RunNotifier;
|
| @@ -12,13 +11,11 @@ import org.junit.runners.BlockJUnit4ClassRunner;
|
| import org.junit.runners.model.FrameworkMethod;
|
| import org.junit.runners.model.InitializationError;
|
|
|
| -import org.chromium.base.test.BaseTestResult.PreTestHook;
|
| import org.chromium.base.test.util.DisableIfSkipCheck;
|
| import org.chromium.base.test.util.MinAndroidSdkLevelSkipCheck;
|
| import org.chromium.base.test.util.RestrictionSkipCheck;
|
| import org.chromium.base.test.util.SkipCheck;
|
|
|
| -import java.lang.reflect.Method;
|
| import java.util.ArrayList;
|
| import java.util.Arrays;
|
| import java.util.List;
|
| @@ -28,7 +25,6 @@ import java.util.List;
|
| */
|
| public class BaseJUnit4ClassRunner extends BlockJUnit4ClassRunner {
|
| private final List<SkipCheck> mSkipChecks;
|
| - private final List<PreTestHook> mPreTestHooks;
|
|
|
| /**
|
| * Create a BaseJUnit4ClassRunner to run {@code klass} and initialize values
|
| @@ -36,16 +32,16 @@ public class BaseJUnit4ClassRunner extends BlockJUnit4ClassRunner {
|
| * @throws InitializationError if the test class malformed
|
| */
|
| public BaseJUnit4ClassRunner(final Class<?> klass) throws InitializationError {
|
| - this(klass, null, null);
|
| + this(klass, null);
|
| }
|
|
|
| /**
|
| * Create a BaseJUnit4ClassRunner to run {@code klass} and initialize values.
|
| *
|
| - * To add more SkipCheck or PreTestHook in subclass, create Lists of checks and hooks,
|
| - * pass them into the super constructors. If you want make a subclass extendable by other
|
| - * class runners, you also have to create a constructor similar to the following one that
|
| - * merges default checks or hooks with this checks and hooks passed in by constructor.
|
| + * To add more SkipCheck in subclass, create Lists of checks, pass them into the super
|
| + * constructors. If you want make a subclass extendable by other class runners, you also have
|
| + * to create a constructor similar to the following one that merges default checks with these
|
| + * checks passed in by constructor.
|
| *
|
| * <pre>
|
| * <code>
|
| @@ -53,40 +49,36 @@ public class BaseJUnit4ClassRunner extends BlockJUnit4ClassRunner {
|
| * public ChildRunner extends BaseJUnit4ClassRunner {
|
| * public ChildRunner(final Class<?> klass) {
|
| * throws InitializationError {
|
| - * this(klass, null, null);
|
| + * this(klass, null);
|
| * }
|
| *
|
| * public ChildRunner(
|
| - * final Class<?> klass, List<SkipCheck> checks, List<PreTestHook> hook) {
|
| + * final Class<?> klass, List<SkipCheck> checks) {
|
| * throws InitializationError {
|
| - * super(klass, mergeList(
|
| - * checks, defaultSkipChecks()), mergeList(hooks, DEFAULT_HOOKS));
|
| + * super(klass, mergeSkipChecks(checks, defaultSkipChecks()));
|
| * }
|
| *
|
| * public List<SkipCheck> defaultSkipChecks() {...}
|
| - *
|
| - * public List<PreTestHook> defaultPreTestHooks() {...}
|
| * </code>
|
| * </pre>
|
| *
|
| * @throws InitializationError if the test class malformed
|
| */
|
| - public BaseJUnit4ClassRunner(
|
| - final Class<?> klass, List<SkipCheck> checks, List<PreTestHook> hooks)
|
| + public BaseJUnit4ClassRunner(final Class<?> klass, List<SkipCheck> childSkipChecks)
|
| throws InitializationError {
|
| super(klass);
|
| - mSkipChecks = mergeList(checks, defaultSkipChecks());
|
| - mPreTestHooks = defaultPreTestHooks();
|
| + mSkipChecks = mergeSkipChecks(childSkipChecks, defaultSkipChecks());
|
| }
|
|
|
| /**
|
| * Merge two List into a new ArrayList.
|
| *
|
| * Used to merge the default SkipChecks/PreTestHooks with the subclasses's
|
| - * SkipChecks/PreTestHooks.
|
| + * SkipChecks.
|
| */
|
| - protected static final <T> List<T> mergeList(List<T> listA, List<T> listB) {
|
| - List<T> l = new ArrayList<>();
|
| + protected static final List<SkipCheck> mergeSkipChecks(
|
| + List<SkipCheck> listA, List<SkipCheck> listB) {
|
| + List<SkipCheck> l = new ArrayList<>();
|
| if (listA != null) {
|
| l.addAll(listA);
|
| }
|
| @@ -99,7 +91,7 @@ public class BaseJUnit4ClassRunner extends BlockJUnit4ClassRunner {
|
| /**
|
| * Change this static function to add or take out default {@code SkipCheck}s.
|
| */
|
| - private static List<SkipCheck> defaultSkipChecks() {
|
| + protected static List<SkipCheck> defaultSkipChecks() {
|
| return Arrays.asList(new SkipCheck[]{
|
| new RestrictionSkipCheck(InstrumentationRegistry.getTargetContext()),
|
| new MinAndroidSdkLevelSkipCheck(),
|
| @@ -108,13 +100,6 @@ public class BaseJUnit4ClassRunner extends BlockJUnit4ClassRunner {
|
| }
|
|
|
| /**
|
| - * Change this static function to add or take out default {@code PreTestHook}s.
|
| - */
|
| - private static List<PreTestHook> defaultPreTestHooks() {
|
| - return new ArrayList<PreTestHook>();
|
| - }
|
| -
|
| - /**
|
| * Evaluate whether a FrameworkMethod is ignored based on {@code SkipCheck}s.
|
| */
|
| @Override
|
| @@ -124,22 +109,10 @@ public class BaseJUnit4ClassRunner extends BlockJUnit4ClassRunner {
|
|
|
| @Override
|
| protected void runChild(FrameworkMethod method, RunNotifier notifier) {
|
| - runPreTestHooks(method);
|
| super.runChild(method, notifier);
|
| }
|
|
|
| /**
|
| - * Loop through all the {@code PreTestHook}s to run them
|
| - */
|
| - private void runPreTestHooks(FrameworkMethod frameworkMethod) {
|
| - Method testMethod = frameworkMethod.getMethod();
|
| - Context targetContext = InstrumentationRegistry.getTargetContext();
|
| - for (PreTestHook hook : mPreTestHooks) {
|
| - hook.run(targetContext, testMethod);
|
| - }
|
| - }
|
| -
|
| - /**
|
| * Loop through all the {@code SkipCheck}s to confirm whether a test should be ignored
|
| */
|
| private boolean shouldSkip(FrameworkMethod method) {
|
|
|