summaryrefslogtreecommitdiff
path: root/contrib/testng/src/TestNGInstance.java
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/testng/src/TestNGInstance.java')
-rw-r--r--contrib/testng/src/TestNGInstance.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/contrib/testng/src/TestNGInstance.java b/contrib/testng/src/TestNGInstance.java
new file mode 100644
index 00000000..4cf274d3
--- /dev/null
+++ b/contrib/testng/src/TestNGInstance.java
@@ -0,0 +1,67 @@
+package mill.testng;
+
+
+import org.testng.*;
+import sbt.testing.EventHandler;
+import sbt.testing.Logger;
+
+import com.beust.jcommander.JCommander;
+
+import java.net.URLClassLoader;
+import java.util.Arrays;
+
+class TestNGListener implements ITestListener{
+ EventHandler basket;
+ String lastName = "";
+ public TestNGListener(EventHandler basket){
+ this.basket = basket;
+ }
+ public void onTestStart(ITestResult iTestResult) {
+ String newName = iTestResult.getTestClass().getName() + " " + iTestResult.getName() + " ";
+ if(!newName.equals(lastName)){
+ if (!lastName.equals("")){
+ System.out.println();
+ }
+ lastName = newName;
+ System.out.print(lastName);
+ }
+ }
+
+ public void onTestSuccess(ITestResult iTestResult) {
+ System.out.print('+');
+ basket.handle(ResultEvent.success(iTestResult));
+ }
+
+ public void onTestFailure(ITestResult iTestResult) {
+ System.out.print('X');
+ basket.handle(ResultEvent.failure(iTestResult));
+ }
+
+ public void onTestSkipped(ITestResult iTestResult) {
+ System.out.print('-');
+ basket.handle(ResultEvent.skipped(iTestResult));
+ }
+
+ public void onTestFailedButWithinSuccessPercentage(ITestResult iTestResult) {
+ basket.handle(ResultEvent.failure(iTestResult));
+ }
+
+ public void onStart(ITestContext iTestContext) {}
+
+ public void onFinish(ITestContext iTestContext) {}
+}
+
+public class TestNGInstance extends TestNG{
+ public TestNGInstance(Logger[] loggers,
+ ClassLoader testClassLoader,
+ CommandLineArgs args,
+ EventHandler eventHandler) {
+ addClassLoader(testClassLoader);
+
+ this.addListener(new TestNGListener(eventHandler));
+
+ configure(args);
+ }
+}
+
+