--- jsr166/src/test/tck/PhaserTest.java 2015/10/05 22:38:38 1.43 +++ jsr166/src/test/tck/PhaserTest.java 2019/08/11 22:29:27 1.48 @@ -302,7 +302,7 @@ public class PhaserTest extends JSR166Te public void testArrive2() { final Phaser phaser = new Phaser(); assertEquals(0, phaser.register()); - List threads = new ArrayList(); + List threads = new ArrayList<>(); for (int i = 0; i < 10; i++) { assertEquals(0, phaser.register()); threads.add(newStartedThread(new CheckedRunnable() { @@ -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, SHORT_DELAY_MS); + assertThreadBlocks(t, Thread.State.WAITING); assertEquals(0, phaser.arrive()); awaitTermination(t); @@ -551,7 +556,7 @@ public class PhaserTest extends JSR166Te }}); await(pleaseArrive); - waitForThreadToEnterWaitState(t, SHORT_DELAY_MS); + assertThreadBlocks(t, Thread.State.WAITING); t.interrupt(); assertEquals(0, phaser.arrive()); awaitTermination(t); @@ -567,20 +572,20 @@ public class PhaserTest extends JSR166Te public void testArriveAndAwaitAdvanceAfterInterrupt() { final Phaser phaser = new Phaser(); assertEquals(0, phaser.register()); - final CountDownLatch pleaseInterrupt = new CountDownLatch(1); + final CountDownLatch pleaseArrive = new CountDownLatch(1); Thread t = newStartedThread(new CheckedRunnable() { public void realRun() { Thread.currentThread().interrupt(); assertEquals(0, phaser.register()); - pleaseInterrupt.countDown(); + pleaseArrive.countDown(); assertTrue(Thread.currentThread().isInterrupted()); assertEquals(1, phaser.arriveAndAwaitAdvance()); - assertTrue(Thread.currentThread().isInterrupted()); + assertTrue(Thread.interrupted()); }}); - await(pleaseInterrupt); - waitForThreadToEnterWaitState(t, SHORT_DELAY_MS); + await(pleaseArrive); + assertThreadBlocks(t, Thread.State.WAITING); Thread.currentThread().interrupt(); assertEquals(1, phaser.arriveAndAwaitAdvance()); assertTrue(Thread.interrupted()); @@ -601,11 +606,11 @@ public class PhaserTest extends JSR166Te assertFalse(Thread.currentThread().isInterrupted()); pleaseInterrupt.countDown(); assertEquals(1, phaser.arriveAndAwaitAdvance()); - assertTrue(Thread.currentThread().isInterrupted()); + assertTrue(Thread.interrupted()); }}); await(pleaseInterrupt); - waitForThreadToEnterWaitState(t, SHORT_DELAY_MS); + assertThreadBlocks(t, Thread.State.WAITING); t.interrupt(); Thread.currentThread().interrupt(); assertEquals(1, phaser.arriveAndAwaitAdvance()); @@ -620,7 +625,7 @@ public class PhaserTest extends JSR166Te public void testAwaitAdvance4() { final Phaser phaser = new Phaser(4); final AtomicInteger count = new AtomicInteger(0); - List threads = new ArrayList(); + List threads = new ArrayList<>(); for (int i = 0; i < 4; i++) threads.add(newStartedThread(new CheckedRunnable() { public void realRun() { @@ -644,7 +649,7 @@ public class PhaserTest extends JSR166Te assertEquals(1, phaser.awaitAdvance(phaser.arrive())); assertEquals(1, phaser.getPhase()); assertEquals(1, phaser.register()); - List threads = new ArrayList(); + List threads = new ArrayList<>(); for (int i = 0; i < 8; i++) { final CountDownLatch latch = new CountDownLatch(1); final boolean goesFirst = ((i & 1) == 0); @@ -672,13 +677,13 @@ public class PhaserTest extends JSR166Te */ public void testAwaitAdvanceTieredPhaser() throws Exception { final Phaser parent = new Phaser(); - final List zeroPartyChildren = new ArrayList(3); - final List onePartyChildren = new ArrayList(3); + final List zeroPartyChildren = new ArrayList<>(3); + final List onePartyChildren = new ArrayList<>(3); for (int i = 0; i < 3; i++) { zeroPartyChildren.add(new Phaser(parent, 0)); onePartyChildren.add(new Phaser(parent, 1)); } - final List phasers = new ArrayList(); + final List phasers = new ArrayList<>(); phasers.addAll(zeroPartyChildren); phasers.addAll(onePartyChildren); phasers.add(parent); @@ -720,7 +725,7 @@ public class PhaserTest extends JSR166Te public void testAwaitAdvance6() { final Phaser phaser = new Phaser(3); final CountDownLatch pleaseForceTermination = new CountDownLatch(2); - final List threads = new ArrayList(); + final List threads = new ArrayList<>(); for (int i = 0; i < 2; i++) { Runnable r = new CheckedRunnable() { public void realRun() { @@ -764,7 +769,7 @@ public class PhaserTest extends JSR166Te final Phaser phaser = new Phaser(1); final int THREADS = 3; final CountDownLatch pleaseArrive = new CountDownLatch(THREADS); - final List threads = new ArrayList(); + final List threads = new ArrayList<>(); for (int i = 0; i < THREADS; i++) threads.add(newStartedThread(new CheckedRunnable() { public void realRun() { @@ -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, SHORT_DELAY_MS); + assertThreadBlocks(thread, Thread.State.WAITING); for (Thread thread : threads) assertTrue(thread.isAlive()); assertState(phaser, 0, THREADS + 1, 1);