Bug 25324 Ability to know when tests are finished [junit]
Hi, I'm writing a Cactus Plugin that extends the JUnit Plugin and I need to know when the tests have finished running in the TestRunner. There is a nice ITestRunListener interface for that. My idea was thus to implement this interface and somehow register my listener to the TestRunner (RemoteTestRunnerClient). However: 1/ Currently the RemoteTestRunnerClient implementation only supports one listener 2/ There is no API in TestRunnerViewPart to get access to the TestRunner I am attaching a patch that should provide this facility. However, I need your help to know if this is the right approach or not. Thank you -Vincent
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/HierarchyRunView.java
private void mapTest(TestRunInfo info, TreeItem item) {
		String test= info.fTestName;
		Object o= fTreeItemMap.get(test);
		if (o == null) {
			fTreeItemMap.put(test, item);
			return;
		}
		if (o instanceof TreeItem) {
			List list= new ArrayList();
			list.add(o);
			list.add(item);
			fTreeItemMap.put(test, list);
			return;
		}
		if (o instanceof List) {
			((List)o).add(item);
		}
	}
	
	private TreeItem findFirstNotRunItem(String testName) {
		Object o= fTreeItemMap.get(testName);
		if (o instanceof TreeItem) 
			return (TreeItem)o;
		if (o instanceof List) {
			List l= (List)o;
			for (int i= 0; i < l.size(); i++) {
				TreeItem item= (TreeItem)l.get(i);
				if (item.getImage() == fTestIcon)
					return item;
			}