| Index: base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java
|
| diff --git a/base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java b/base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java
|
| index 58e5b1c4252e80d798a87494e07241df0a523057..8bf3d0fb454b9463ec303e091dc8ebceff432365 100644
|
| --- a/base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java
|
| +++ b/base/test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java
|
| @@ -19,10 +19,11 @@ import junit.framework.TestResult;
|
| import org.chromium.base.Log;
|
| import org.chromium.base.SysUtils;
|
| import org.chromium.base.multidex.ChromiumMultiDex;
|
| -import org.chromium.base.test.BaseTestResult.SkipCheck;
|
| import org.chromium.base.test.util.CommandLineFlags;
|
| +import org.chromium.base.test.util.DisableIfSkipCheck;
|
| import org.chromium.base.test.util.MinAndroidSdkLevel;
|
| import org.chromium.base.test.util.Restriction;
|
| +import org.chromium.base.test.util.SkipCheck;
|
| import org.chromium.test.reporter.TestStatusListener;
|
|
|
| import java.lang.reflect.Method;
|
| @@ -64,24 +65,21 @@ public class BaseInstrumentationTestRunner extends InstrumentationTestRunner {
|
| protected void addTestHooks(BaseTestResult result) {
|
| result.addSkipCheck(new MinAndroidSdkLevelSkipCheck());
|
| result.addSkipCheck(new RestrictionSkipCheck());
|
| + result.addSkipCheck(new DisableIfSkipCheck());
|
|
|
| result.addPreTestHook(CommandLineFlags.getRegistrationHook());
|
| }
|
|
|
| +
|
| /**
|
| * Checks if any restrictions exist and skip the test if it meets those restrictions.
|
| */
|
| - public class RestrictionSkipCheck implements SkipCheck {
|
| + public class RestrictionSkipCheck extends SkipCheck {
|
| @Override
|
| public boolean shouldSkip(TestCase testCase) {
|
| - Method method;
|
| - try {
|
| - method = testCase.getClass().getMethod(testCase.getName(), (Class[]) null);
|
| - } catch (NoSuchMethodException e) {
|
| - Log.e(TAG, "Unable to find %s in %s", testCase.getName(),
|
| - testCase.getClass().getName(), e);
|
| - return true;
|
| - }
|
| + Method method = getTestMethod(testCase);
|
| + if (method == null) return true;
|
| +
|
| Restriction restrictions = method.getAnnotation(Restriction.class);
|
| if (restrictions != null) {
|
| for (String restriction : restrictions.value()) {
|
| @@ -120,7 +118,7 @@ public class BaseInstrumentationTestRunner extends InstrumentationTestRunner {
|
| /**
|
| * Checks the device's SDK level against any specified minimum requirement.
|
| */
|
| - public static class MinAndroidSdkLevelSkipCheck implements SkipCheck {
|
| + public static class MinAndroidSdkLevelSkipCheck extends SkipCheck {
|
|
|
| /**
|
| * If {@link MinAndroidSdkLevel} is present, checks its value
|
|
|