summaryrefslogtreecommitdiff
path: root/testng
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-04-09 09:07:39 -0700
committerLi Haoyi <haoyi.sg@gmail.com>2018-04-09 13:20:45 -0700
commit9295d5240a417cd09c33317ab2d2a99a36e50485 (patch)
tree1fb5b3f2a818517840c42ecd1c0697f091443912 /testng
parent11122c48452d40eb32086fa247ce06d5d6f1a789 (diff)
downloadmill-9295d5240a417cd09c33317ab2d2a99a36e50485.tar.gz
mill-9295d5240a417cd09c33317ab2d2a99a36e50485.tar.bz2
mill-9295d5240a417cd09c33317ab2d2a99a36e50485.zip
caffeine core and guava tests seem to pass
Diffstat (limited to 'testng')
-rw-r--r--testng/src/mill/testng/ResultEvent.java2
-rw-r--r--testng/src/mill/testng/TestNGFramework.java12
-rw-r--r--testng/src/mill/testng/TestNGInstance.java11
-rw-r--r--testng/src/mill/testng/TestNGRunner.java29
4 files changed, 27 insertions, 27 deletions
diff --git a/testng/src/mill/testng/ResultEvent.java b/testng/src/mill/testng/ResultEvent.java
index 215723cd..6e2a50d6 100644
--- a/testng/src/mill/testng/ResultEvent.java
+++ b/testng/src/mill/testng/ResultEvent.java
@@ -16,7 +16,7 @@ public class ResultEvent {
}
public Fingerprint fingerprint() {
- return Annotated.instance;
+ return TestNGFingerprint.instance;
}
public Selector selector() {
diff --git a/testng/src/mill/testng/TestNGFramework.java b/testng/src/mill/testng/TestNGFramework.java
index 924dc113..6e993fcc 100644
--- a/testng/src/mill/testng/TestNGFramework.java
+++ b/testng/src/mill/testng/TestNGFramework.java
@@ -9,7 +9,7 @@ public class TestNGFramework implements Framework {
public String name(){ return "TestNG"; }
public Fingerprint[] fingerprints() {
- return new Fingerprint[]{Annotated.instance};
+ return new Fingerprint[]{TestNGFingerprint.instance};
}
@Override
@@ -18,12 +18,8 @@ public class TestNGFramework implements Framework {
}
}
-class Annotated implements AnnotatedFingerprint{
- final public static Annotated instance = new Annotated("org.testng.annotations.Test");
- String annotationName;
- public Annotated(String annotationName) {
- this.annotationName = annotationName;
- }
- public String annotationName(){return annotationName;}
+class TestNGFingerprint implements AnnotatedFingerprint{
+ final public static TestNGFingerprint instance = new TestNGFingerprint();
+ public String annotationName(){return "org.testng.annotations.Test";}
public boolean isModule(){return false;}
}
diff --git a/testng/src/mill/testng/TestNGInstance.java b/testng/src/mill/testng/TestNGInstance.java
index 9ad990e0..4cf274d3 100644
--- a/testng/src/mill/testng/TestNGInstance.java
+++ b/testng/src/mill/testng/TestNGInstance.java
@@ -54,19 +54,12 @@ class TestNGListener implements ITestListener{
public class TestNGInstance extends TestNG{
public TestNGInstance(Logger[] loggers,
ClassLoader testClassLoader,
- String[] testOptions,
- String suiteName,
+ CommandLineArgs args,
EventHandler eventHandler) {
addClassLoader(testClassLoader);
- try{
- this.setTestClasses(new Class[]{Class.forName(suiteName)});
- }catch(ClassNotFoundException e){
- throw new RuntimeException(e);
- }
this.addListener(new TestNGListener(eventHandler));
- CommandLineArgs args = new CommandLineArgs();
- new JCommander(args, testOptions); // args is an output parameter of the constructor!
+
configure(args);
}
}
diff --git a/testng/src/mill/testng/TestNGRunner.java b/testng/src/mill/testng/TestNGRunner.java
index 29ebb7dd..0ad05f76 100644
--- a/testng/src/mill/testng/TestNGRunner.java
+++ b/testng/src/mill/testng/TestNGRunner.java
@@ -1,17 +1,25 @@
package mill.testng;
+import com.beust.jcommander.JCommander;
+import org.testng.CommandLineArgs;
import sbt.testing.*;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.List;
class TestNGTask implements Task {
TaskDef taskDef;
TestNGRunner runner;
- public TestNGTask(TaskDef taskDef, TestNGRunner runner){
+ CommandLineArgs cliArgs;
+ public TestNGTask(TaskDef taskDef,
+ TestNGRunner runner,
+ CommandLineArgs cliArgs){
this.taskDef = taskDef;
this.runner = runner;
+ this.cliArgs = cliArgs;
}
@Override
@@ -21,12 +29,10 @@ class TestNGTask implements Task {
@Override
public Task[] execute(EventHandler eventHandler, Logger[] loggers) {
- System.out.println("Executing " + taskDef.fullyQualifiedName());
new TestNGInstance(
loggers,
runner.testClassLoader,
- runner.args(),
- taskDef.fullyQualifiedName(),
+ cliArgs,
eventHandler
).run();
return new Task[0];
@@ -49,12 +55,17 @@ public class TestNGRunner implements Runner {
}
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);
+ CommandLineArgs cliArgs = new CommandLineArgs();
+ new JCommander(cliArgs, args); // args is an output parameter of the constructor!
+ if(cliArgs.testClass == null){
+ String[] names = new String[taskDefs.length];
+ for(int i = 0; i < taskDefs.length; i += 1){
+ names[i] = taskDefs[i].fullyQualifiedName();
+ }
+ cliArgs.testClass = String.join(",", names);
}
- return out;
+ if (taskDefs.length == 0) return new Task[]{};
+ else return new Task[]{new TestNGTask(taskDefs[0], this, cliArgs)};
}
public String done() { return null; }