summaryrefslogtreecommitdiff
path: root/testng/src/mill/testng/TestNGRunner.java
diff options
context:
space:
mode:
Diffstat (limited to 'testng/src/mill/testng/TestNGRunner.java')
-rw-r--r--testng/src/mill/testng/TestNGRunner.java35
1 files changed, 14 insertions, 21 deletions
diff --git a/testng/src/mill/testng/TestNGRunner.java b/testng/src/mill/testng/TestNGRunner.java
index 0ad6caa7..29ebb7dd 100644
--- a/testng/src/mill/testng/TestNGRunner.java
+++ b/testng/src/mill/testng/TestNGRunner.java
@@ -2,6 +2,9 @@ package mill.testng;
import sbt.testing.*;
+import java.util.Arrays;
+import java.util.Collections;
+
class TestNGTask implements Task {
TaskDef taskDef;
@@ -18,24 +21,14 @@ class TestNGTask implements Task {
@Override
public Task[] execute(EventHandler eventHandler, Logger[] loggers) {
- if (TestRunState.permissionToExecute.tryAcquire()) {
- TestNGInstance.start(
- TestNGInstance.loggingTo(loggers)
- .loadingClassesFrom(runner.testClassLoader)
- .using(runner.args())
- .storingEventsIn(runner.state.recorder)
- );
-
- runner.state.testCompletion.countDown();
- }
-
- try{
- runner.state.testCompletion.await();
- }catch(InterruptedException e){
- throw new RuntimeException(e);
- }
-
- runner.state.recorder.replayTo(eventHandler, taskDef.fullyQualifiedName(), loggers);
+ System.out.println("Executing " + taskDef.fullyQualifiedName());
+ new TestNGInstance(
+ loggers,
+ runner.testClassLoader,
+ runner.args(),
+ taskDef.fullyQualifiedName(),
+ eventHandler
+ ).run();
return new Task[0];
}
@@ -44,19 +37,19 @@ class TestNGTask implements Task {
return taskDef;
}
}
+
public class TestNGRunner implements Runner {
ClassLoader testClassLoader;
- TestRunState state;
String[] args;
String[] remoteArgs;
- public TestNGRunner(String[] args, String[] remoteArgs, ClassLoader testClassLoader, TestRunState state) {
+ public TestNGRunner(String[] args, String[] remoteArgs, ClassLoader testClassLoader) {
this.testClassLoader = testClassLoader;
- this.state = state;
this.args = args;
this.remoteArgs = remoteArgs;
}
public Task[] tasks(TaskDef[] taskDefs) {
+ System.out.println("TestNGRunner#tasks " + Arrays.toString(taskDefs));
Task[] out = new Task[taskDefs.length];
for (int i = 0; i < taskDefs.length; i += 1) {
out[i] = new TestNGTask(taskDefs[i], this);