Bug 80912 JUnit tests can't be launched with a 1.3 level jvm anymore
In latest 3.1 integration builds the eclipse textrunner doesn't work if you select a 1.3 level jvm for running the test. It crashes for a dependency from IdentityHashMap (java 1.4). Although eclipse need a 1.4 jre, selecting a 1.3 jre from the run/debug configuration should be possible: this is a show stopper for anyone needs to compile projects using jre 1.3. build 200412140010 java.lang.NoClassDefFoundError: java/util/IdentityHashMap at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:448) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:343) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:195)
org.eclipse.jdt.junit.runtime/src/org/eclipse/jdt/internal/junit/runner/RemoteTestRunner.java
public ReaderThread() {
			super("ReaderThread"); 
		}
		public void run(){
			try { 
				String message= null; 
				while (true) { 
					if ((message= fReader.readLine()) != null) {
						
						if (message.startsWith(MessageIds.TEST_STOP)){
							fStopped= true;
							RemoteTestRunner.this.stop();
							synchronized(RemoteTestRunner.this) {
								RemoteTestRunner.this.notifyAll();
							}
							break;
						}
						
						else if (message.startsWith(MessageIds.TEST_RERUN)) {
							String arg= message.substring(MessageIds.MSG_HEADER_LENGTH);
							
							int c0= arg.indexOf(' '); 
							int c1= arg.indexOf(' ', c0+1);
							String s= arg.substring(0, c0);
							int testId= Integer.parseInt(s);
							String className= arg.substring(c0+1, c1);
							String testName= arg.substring(c1+1, arg.length());
							synchronized(RemoteTestRunner.this) {
								fRerunRequests.add(new RerunRequest(testId, className, testName));
								RemoteTestRunner.this.notifyAll();