diff options
Diffstat (limited to 'contrib/testng/src/ResultEvent.java')
-rw-r--r-- | contrib/testng/src/ResultEvent.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/testng/src/ResultEvent.java b/contrib/testng/src/ResultEvent.java new file mode 100644 index 00000000..6e2a50d6 --- /dev/null +++ b/contrib/testng/src/ResultEvent.java @@ -0,0 +1,45 @@ + +package mill.testng; + +import sbt.testing.*; +import org.testng.ITestResult; + +public class ResultEvent { + static Event failure(ITestResult result){ return event(Status.Failure, result); } + static Event skipped(ITestResult result){ return event(Status.Skipped, result); } + static Event success(ITestResult result){ return event(Status.Success, result); } + + static Event event(Status result, ITestResult testNGResult) { + return new Event() { + public String fullyQualifiedName() { + return testNGResult.getTestClass().getName(); + } + + public Fingerprint fingerprint() { + return TestNGFingerprint.instance; + } + + public Selector selector() { + return new SuiteSelector(); + } + + public Status status() { + return result; + } + + public OptionalThrowable throwable() { + if (result != Status.Success){ + return new OptionalThrowable(testNGResult.getThrowable()); + }else { + return new OptionalThrowable(); + } + } + + @Override + public long duration() { + return testNGResult.getEndMillis() - testNGResult.getStartMillis(); + } + }; + } + static String classNameOf(ITestResult result){ return result.getTestClass().getName(); } +}
\ No newline at end of file |