blob: 3400bf6d4fa72e3028ed617f35eb4da009c8c053 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package mill.testng;
import org.scalatools.testing.Event;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;
import org.scalatools.testing.EventHandler;
import org.scalatools.testing.Logger;
import java.util.HashMap;
public class EventRecorder extends TestListenerAdapter {
private HashMap<String, java.util.List<Event>> basket = new HashMap<>();
String initKey(ITestResult result){
String key = ResultEvent.classNameOf(result);
if (!basket.containsKey(key)) basket.put(key, new java.util.ArrayList<Event>());
return key;
}
public void onTestFailure(ITestResult result){
String key = initKey(result);
basket.get(key).add(ResultEvent.failure(result));
}
public void onTestSkipped(ITestResult result){
String key = initKey(result);
basket.get(key).add(ResultEvent.skipped(result));
}
public void onTestSuccess(ITestResult result){
String key = initKey(result);
basket.get(key).add(ResultEvent.success(result));
}
void replayTo(EventHandler sbt, String className, Logger[] loggers){
synchronized (basket){
for(Event e: basket.remove(className)){
sbt.handle(e);
}
}
}
}
|