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.runtime/src/org/eclipse/jdt/internal/junit/runner/RemoteTestRunner.java
private String getTestId(Test test) {
		return Integer.toString(System.identityHashCode(test));
	}
	
	private String getTestName(Test test) {
		if (test instanceof TestCase) {
			TestCase testCase= (TestCase) test;
			return testCase.getName() + "(" + test.getClass().getName() + ")";
		}
		if (test instanceof TestSuite) {
			TestSuite suite= (TestSuite) test;
			if (suite.getName() != null)
				return suite.getName();
			return getClass().getName();
		}
		return test.toString();
	}
	
	/**
	 * Returns the stack trace for the given throwable.
	 */
	private String getTrace(Throwable t) { 
		StringWriter stringWriter= new StringWriter();
		PrintWriter writer= new PrintWriter(stringWriter);
		t.printStackTrace(writer);
		StringBuffer buffer= stringWriter.getBuffer();
		return buffer.toString();
	}	
	/**
	 * Stop the current test run.