--- jsr166/src/test/tck/PhaserTest.java 2017/02/18 15:05:55 1.45 +++ jsr166/src/test/tck/PhaserTest.java 2019/08/11 22:29:27 1.48 @@ -476,24 +476,29 @@ public class PhaserTest extends JSR166Te Thread t2 = newStartedThread(new CheckedRunnable() { public void realRun() throws TimeoutException { + long startTime = System.nanoTime(); + Thread.currentThread().interrupt(); try { - phaser.awaitAdvanceInterruptibly(0, 2*LONG_DELAY_MS, MILLISECONDS); + phaser.awaitAdvanceInterruptibly(0, randomTimeout(), randomTimeUnit()); shouldThrow(); } catch (InterruptedException success) {} assertFalse(Thread.interrupted()); pleaseInterrupt.countDown(); try { - phaser.awaitAdvanceInterruptibly(0, 2*LONG_DELAY_MS, MILLISECONDS); + phaser.awaitAdvanceInterruptibly(0, LONG_DELAY_MS, MILLISECONDS); shouldThrow(); } catch (InterruptedException success) {} assertFalse(Thread.interrupted()); + + assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); }}); await(pleaseInterrupt); assertState(phaser, 0, 1, 1); - assertThreadsStayAlive(t1, t2); + assertThreadBlocks(t1, Thread.State.WAITING); + assertThreadBlocks(t2, Thread.State.TIMED_WAITING); t1.interrupt(); t2.interrupt(); awaitTermination(t1); @@ -523,7 +528,7 @@ public class PhaserTest extends JSR166Te }}); await(pleaseArrive); - waitForThreadToEnterWaitState(t); + assertThreadBlocks(t, Thread.State.WAITING); assertEquals(0, phaser.arrive()); awaitTermination(t); @@ -551,7 +556,7 @@ public class PhaserTest extends JSR166Te }}); await(pleaseArrive); - waitForThreadToEnterWaitState(t); + assertThreadBlocks(t, Thread.State.WAITING); t.interrupt(); assertEquals(0, phaser.arrive()); awaitTermination(t); @@ -580,7 +585,7 @@ public class PhaserTest extends JSR166Te }}); await(pleaseArrive); - waitForThreadToEnterWaitState(t); + assertThreadBlocks(t, Thread.State.WAITING); Thread.currentThread().interrupt(); assertEquals(1, phaser.arriveAndAwaitAdvance()); assertTrue(Thread.interrupted()); @@ -605,7 +610,7 @@ public class PhaserTest extends JSR166Te }}); await(pleaseInterrupt); - waitForThreadToEnterWaitState(t); + assertThreadBlocks(t, Thread.State.WAITING); t.interrupt(); Thread.currentThread().interrupt(); assertEquals(1, phaser.arriveAndAwaitAdvance()); @@ -780,7 +785,7 @@ public class PhaserTest extends JSR166Te assertEquals(THREADS, phaser.getArrivedParties()); assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); for (Thread thread : threads) - waitForThreadToEnterWaitState(thread); + assertThreadBlocks(thread, Thread.State.WAITING); for (Thread thread : threads) assertTrue(thread.isAlive()); assertState(phaser, 0, THREADS + 1, 1);