Bug 56911 JUnit socket communication uses wrong encoding [JUnit]
M8 socket communication between client and server of jdt.junit uses default encoding. This does not work in general because arbitrary Unicode strings are sent between client and server and the default encoding may not be Unicode preserving.
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/RemoteTestRunnerClient.java
private boolean hasTestId() {
		if (fVersion == null) 
			return true;
		return fVersion.equals("v2"); 
	}
	private void notifyTestReran(final String testId, final String className, final String testName, final int statusCode, final String trace) {
		for (int i= 0; i < fListeners.length; i++) {
			final ITestRunListener listener= fListeners[i];
			Platform.run(new ListenerSafeRunnable() { 
				public void run() {
				    if (listener instanceof ITestRunListener3 ) 
				        ((ITestRunListener3)listener).testReran(testId, className, testName, statusCode, trace, fExpectedResult, fActualResult);
				    else
						listener.testReran(testId, className, testName, statusCode, trace);
				}
			});
		}
	}
	private void notifyTestTreeEntry(final String treeEntry) {
		for (int i= 0; i < fListeners.length; i++) {
			if (fListeners[i] instanceof ITestRunListener2) {
				ITestRunListener2 listener= (ITestRunListener2)fListeners[i];
				if (!hasTestId()) 
					listener.testTreeEntry(fakeTestId(treeEntry));
				else
					listener.testTreeEntry(treeEntry);
			}
		}
	}