OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.base.test; | 5 package org.chromium.base.test; |
6 | 6 |
7 import android.app.Instrumentation; | 7 import android.app.Instrumentation; |
8 import android.content.Context; | 8 import android.content.Context; |
9 import android.os.Bundle; | 9 import android.os.Bundle; |
10 import android.os.SystemClock; | 10 import android.os.SystemClock; |
11 | 11 |
12 import junit.framework.AssertionFailedError; | 12 import junit.framework.AssertionFailedError; |
13 import junit.framework.TestCase; | 13 import junit.framework.TestCase; |
14 import junit.framework.TestResult; | 14 import junit.framework.TestResult; |
15 | 15 |
16 import org.chromium.base.Log; | 16 import org.chromium.base.Log; |
17 import org.chromium.base.test.util.CommandLineFlags; | 17 import org.chromium.base.test.util.CommandLineFlags; |
| 18 import org.chromium.base.test.util.SkipCheck; |
18 import org.chromium.base.test.util.parameter.BaseParameter; | 19 import org.chromium.base.test.util.parameter.BaseParameter; |
19 import org.chromium.base.test.util.parameter.Parameter; | 20 import org.chromium.base.test.util.parameter.Parameter; |
20 import org.chromium.base.test.util.parameter.Parameterizable; | 21 import org.chromium.base.test.util.parameter.Parameterizable; |
21 import org.chromium.base.test.util.parameter.ParameterizedTest; | 22 import org.chromium.base.test.util.parameter.ParameterizedTest; |
22 | 23 |
23 import java.io.PrintWriter; | 24 import java.io.PrintWriter; |
24 import java.io.StringWriter; | 25 import java.io.StringWriter; |
25 import java.lang.reflect.Method; | 26 import java.lang.reflect.Method; |
26 import java.util.ArrayList; | 27 import java.util.ArrayList; |
27 import java.util.Arrays; | 28 import java.util.Arrays; |
(...skipping 18 matching lines...) Expand all Loading... |
46 /** | 47 /** |
47 * Creates an instance of BaseTestResult. | 48 * Creates an instance of BaseTestResult. |
48 */ | 49 */ |
49 public BaseTestResult(Instrumentation instrumentation) { | 50 public BaseTestResult(Instrumentation instrumentation) { |
50 mSkipChecks = new ArrayList<>(); | 51 mSkipChecks = new ArrayList<>(); |
51 mPreTestHooks = new ArrayList<>(); | 52 mPreTestHooks = new ArrayList<>(); |
52 mInstrumentation = instrumentation; | 53 mInstrumentation = instrumentation; |
53 } | 54 } |
54 | 55 |
55 /** | 56 /** |
56 * An interface for classes that check whether a test case should be skipped
. | |
57 */ | |
58 public interface SkipCheck { | |
59 /** | |
60 * | |
61 * Checks whether the given test case should be skipped. | |
62 * | |
63 * @param testCase The test case to check. | |
64 * @return Whether the test case should be skipped. | |
65 */ | |
66 boolean shouldSkip(TestCase testCase); | |
67 } | |
68 | |
69 /** | |
70 * An interface for classes that have some code to run before a test. They r
un after | 57 * An interface for classes that have some code to run before a test. They r
un after |
71 * {@link SkipCheck}s. Provides access to the test method (and the annotatio
ns defined for it) | 58 * {@link SkipCheck}s. Provides access to the test method (and the annotatio
ns defined for it) |
72 * and the instrumentation context. | 59 * and the instrumentation context. |
73 */ | 60 */ |
74 public interface PreTestHook { | 61 public interface PreTestHook { |
75 /** | 62 /** |
76 * @param targetContext the instrumentation context that will be used du
ring the test. | 63 * @param targetContext the instrumentation context that will be used du
ring the test. |
77 * @param testMethod the test method to be run. | 64 * @param testMethod the test method to be run. |
78 */ | 65 */ |
79 public void run(Context targetContext, Method testMethod); | 66 public void run(Context targetContext, Method testMethod); |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 && SystemClock.uptimeMillis() - startTime < WAIT_DURATION_MS
) { | 383 && SystemClock.uptimeMillis() - startTime < WAIT_DURATION_MS
) { |
397 Thread.sleep(SLEEP_INTERVAL_MS); | 384 Thread.sleep(SLEEP_INTERVAL_MS); |
398 targetContext = mInstrumentation.getTargetContext(); | 385 targetContext = mInstrumentation.getTargetContext(); |
399 } | 386 } |
400 } catch (InterruptedException e) { | 387 } catch (InterruptedException e) { |
401 Log.e(TAG, "Interrupted while attempting to initialize the command l
ine."); | 388 Log.e(TAG, "Interrupted while attempting to initialize the command l
ine."); |
402 } | 389 } |
403 return targetContext; | 390 return targetContext; |
404 } | 391 } |
405 } | 392 } |
OLD | NEW |