--- jsr166/src/test/tck/JSR166TestCase.java 2015/10/09 01:26:36 1.172 +++ jsr166/src/test/tck/JSR166TestCase.java 2015/10/09 19:09:59 1.174 @@ -193,18 +193,24 @@ public class JSR166TestCase extends Test // Instrumentation to debug very rare, but very annoying hung test runs. static volatile TestCase currentTestCase; - static volatile int currentRun = 0; + // static volatile int currentRun = 0; static { Runnable checkForWedgedTest = new Runnable() { public void run() { - // avoid spurious reports with enormous runsPerTest - final int timeoutMinutes = Math.max(runsPerTest / 10, 1); + // Avoid spurious reports with enormous runsPerTest. + // A single test case run should never take more than 1 second. + // But let's cap it at the high end too ... + final int timeoutMinutes = + Math.min(15, Math.max(runsPerTest / 60, 1)); for (TestCase lastTestCase = currentTestCase;;) { try { MINUTES.sleep(timeoutMinutes); } catch (InterruptedException unexpected) { break; } if (lastTestCase == currentTestCase) { System.err.printf( - "Looks like we're stuck running test: %s (%d/%d)%n", - lastTestCase, currentRun, runsPerTest); + "Looks like we're stuck running test: %s%n", + lastTestCase); +// System.err.printf( +// "Looks like we're stuck running test: %s (%d/%d)%n", +// lastTestCase, currentRun, runsPerTest); System.err.println("availableProcessors=" + Runtime.getRuntime().availableProcessors()); System.err.printf("cpu model = %s%n", cpuModel()); @@ -238,7 +244,7 @@ public class JSR166TestCase extends Test protected void runTest() throws Throwable { for (int i = 0; i < runsPerTest; i++) { - currentRun = i; + // currentRun = i; if (profileTests) runTestProfiled(); else