diff options
author | 2016-06-03 21:50:50 +0000 | |
---|---|---|
committer | 2016-06-06 08:03:24 +0000 | |
commit | 91d3433f34c87ac9f354a4a87a322e5a14531607 (patch) | |
tree | bcd04cb1969a3ba7760a9f99acad4be927c10219 /src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4Runner.java | |
parent | 1d70780d78d4c4c79b00c09ab60820be75cb87bb (diff) |
Convert the Bazel JUnit4 test runner from Guice to Dagger.
--
MOS_MIGRATED_REVID=124008772
Diffstat (limited to 'src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4Runner.java')
-rw-r--r-- | src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4Runner.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4Runner.java b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4Runner.java index 4134131216..10447a7b70 100644 --- a/src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4Runner.java +++ b/src/java_tools/junitrunner/java/com/google/testing/junit/runner/junit4/JUnit4Runner.java @@ -51,6 +51,7 @@ public class JUnit4Runner { private final PrintStream testRunnerOut; private final JUnit4Config config; private final Set<RunListener> runListeners; + private final Set<Initializer> initializers; private GoogleTestSecurityManager googleTestSecurityManager; private SecurityManager previousSecurityManager; @@ -59,15 +60,21 @@ public class JUnit4Runner { * Creates a runner. */ @Inject - private JUnit4Runner(Request request, CancellableRequestFactory requestFactory, - Supplier<TestSuiteModel> modelSupplier, @Stdout PrintStream testRunnerOut, - JUnit4Config config, Set<RunListener> runListeners) { + JUnit4Runner( + Request request, + CancellableRequestFactory requestFactory, + Supplier<TestSuiteModel> modelSupplier, + @Stdout PrintStream testRunnerOut, + JUnit4Config config, + Set<RunListener> runListeners, + Set<Initializer> initializers) { this.request = request; this.requestFactory = requestFactory; this.modelSupplier = modelSupplier; this.config = config; this.testRunnerOut = testRunnerOut; this.runListeners = runListeners; + this.initializers = initializers; } /** @@ -79,6 +86,10 @@ public class JUnit4Runner { testRunnerOut.println("JUnit4 Test Runner"); checkJUnitRunnerApiVersion(); + for (Initializer init : initializers) { + init.initialize(); + } + // Sharding TestSuiteModel model = modelSupplier.get(); Filter shardingFilter = model.getShardingFilter(); @@ -261,4 +272,15 @@ public class JUnit4Runner { public void run(RunNotifier notifier) { } } + + /** + * A simple initializer which can be used to provide additional initialization logic in custom + * runners. + * + * <p>Initializers will be run in unspecified order. If an exception is thrown it will not be + * deemed recoverable and will cause the runner to error-out. + */ + public interface Initializer { + void initialize(); + } } |