aboutsummaryrefslogtreecommitdiff
path: root/src/vogar/target/junit/JUnitTargetRunner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/vogar/target/junit/JUnitTargetRunner.java')
-rw-r--r--src/vogar/target/junit/JUnitTargetRunner.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/vogar/target/junit/JUnitTargetRunner.java b/src/vogar/target/junit/JUnitTargetRunner.java
index 3fd2232..906115a 100644
--- a/src/vogar/target/junit/JUnitTargetRunner.java
+++ b/src/vogar/target/junit/JUnitTargetRunner.java
@@ -44,19 +44,23 @@ public final class JUnitTargetRunner implements TargetRunner {
private final Class<?> testClass;
private final RunnerParams runnerParams;
+ private final String[] excludeFilters;
+
public JUnitTargetRunner(TargetMonitor monitor, AtomicReference<String> skipPastReference,
TestEnvironment testEnvironment,
int timeoutSeconds, Class<?> testClass,
- String qualification, String[] args) {
+ String qualification, String[] excludeFilters, String[] args) {
this.monitor = monitor;
this.skipPastReference = skipPastReference;
this.testEnvironment = testEnvironment;
this.testClass = testClass;
+ this.excludeFilters = excludeFilters;
TimeoutAndAbortRunRule timeoutRule = new TimeoutAndAbortRunRule(timeoutSeconds);
runnerParams = new RunnerParams(qualification, args, timeoutRule);
}
+ @Override
public boolean run() {
// Use JUnit infrastructure to run the tests.
RunnerBuilder builder = new VogarRunnerBuilder(runnerParams);
@@ -79,6 +83,12 @@ public final class JUnitTargetRunner implements TargetRunner {
}
try {
+ new ExcludeFilter(excludeFilters).apply(runner);
+ } catch (NoTestsRemainException e) {
+ return true;
+ }
+
+ try {
JUnitCore core = new JUnitCore();
// The TestEnvironmentRunListener resets static state between tests.
core.addListener(new TestEnvironmentRunListener(testEnvironment));