Bug 77771 RemoteTestRunnerClient doing work after junit shutdown [JUnit]
I am unsure of the exact test case but I would assume I shut down my workspace while running junit tests. java.lang.ClassNotFoundException: The class "org.eclipse.jdt.internal.junit.ui.RemoteTestRunnerClient$8" cannot be loaded because the system is shutting down and the plug- in "org.eclipse.jdt.junit" has already been stopped. at org.eclipse.core.runtime.adaptor.EclipseClassLoader.shouldActivateFor (EclipseClassLoader.java:147) at org.eclipse.core.runtime.adaptor.EclipseClassLoader.findLocalClass (EclipseClassLoader.java:62) at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass (BundleLoader.java:371) at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass (BundleLoader.java:402) at org.eclipse.osgi.framework.adaptor.core.AbstractClassLoader.loadClass (AbstractClassLoader.java:93) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at org.eclipse.jdt.internal.junit.ui.RemoteTestRunnerClient.notifyTestRunTerminate d(RemoteTestRunnerClient.java:510) at org.eclipse.jdt.internal.junit.ui.RemoteTestRunnerClient.access$31 (RemoteTestRunnerClient.java:507) at org.eclipse.jdt.internal.junit.ui.RemoteTestRunnerClient$ServerConnection.run (RemoteTestRunnerClient.java:253)
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RemoteTestRunnerClient.java
ProcessingState readMessage(String message) {
	        if (message.startsWith(MessageIds.ACTUAL_END)) 
	            return fDefaultState;
	        if (fActualResult == null)
	        	fActualResult= message + '\n';
	        else 
				fActualResult+= message + '\n';
	        return this;
	    }
	}
	class RerunTraceProcessingState extends ProcessingState {
	    ProcessingState readMessage(String message) {
	        if (message.startsWith(MessageIds.RTRACE_END)) 
	            return fDefaultState;
	        fFailedRerunTrace+= message + '\n';
	        return this;
	    }
	}
	ProcessingState fDefaultState= new DefaultProcessingState();
	ProcessingState fTraceState= new TraceProcessingState();
	ProcessingState fExpectedState= new ExpectedProcessingState();
	ProcessingState fActualState= new ActualProcessingState();
	ProcessingState fRerunState= new RerunTraceProcessingState();
	ProcessingState fCurrentState= fDefaultState;
	
	/**
	 * An array of listeners that are informed about test events.
	 */
	private ITestRunListener[] fListeners;