Bug 37583 org.eclipse.jdt.internal.junit.ui.TestRunnerViewPart#postAsynchRunnable possibly buggy [JUnit]
In the TestRunnerViewPart class of jdt.internal.junit.ui, lines 561 to 564 are: 561 private void postAsyncRunnable(Runnable r) { 562 if (!isDisposed()) 563 getDisplay().syncExec(r); 564 } isn't 563 supposed to read "getDisplay().asyncExec(r);"? Otherwise postAsyncRunnable is equivalent to postSyncRunnable.
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunnerViewPart.java
fFailures++;
		if (fFirstFailure == null)
			fFirstFailure= testInfo;
		
		if (fShowOnErrorOnly && (fErrors + fFailures == 1)) 
			postShowTestResultsView();
	}
	/*
	 * @see ITestRunListener#testReran
	 */
	public void testReran(String testId, String className, String testName, int status, String trace) {
		if (status == ITestRunListener.STATUS_ERROR) {
			String msg= JUnitMessages.getFormattedString("TestRunnerViewPart.message.error", new String[]{testName, className}); 
			postError(msg); 
		} else if (status == ITestRunListener.STATUS_FAILURE) {
			String msg= JUnitMessages.getFormattedString("TestRunnerViewPart.message.failure", new String[]{testName, className}); 
			postError(msg);
		} else {
			String msg= JUnitMessages.getFormattedString("TestRunnerViewPart.message.success", new String[]{testName, className}); 
			postInfo(msg);
		}
		TestRunInfo info= getTestInfo(testId);
		updateTest(info, status);
		if (info.getTrace() == null || !info.getTrace().equals(trace)) {
			info.setTrace(trace);
			showFailure(info.getTrace());
		}
	}
	private void updateTest(TestRunInfo info, final int status) {
		if (status == info.getStatus())