--- jsr166/src/test/tck/PhaserTest.java 2014/12/31 16:44:02 1.38 +++ jsr166/src/test/tck/PhaserTest.java 2017/05/13 23:05:02 1.46 @@ -5,19 +5,22 @@ * Other contributors include John Vint */ -import junit.framework.*; +import static java.util.concurrent.TimeUnit.MILLISECONDS; + import java.util.ArrayList; import java.util.List; -import java.util.concurrent.Phaser; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.Phaser; import java.util.concurrent.TimeoutException; -import static java.util.concurrent.TimeUnit.MILLISECONDS; import java.util.concurrent.atomic.AtomicInteger; +import junit.framework.Test; +import junit.framework.TestSuite; + public class PhaserTest extends JSR166TestCase { public static void main(String[] args) { - junit.textui.TestRunner.run(suite()); + main(suite(), args); } public static Test suite() { @@ -299,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() { @@ -335,8 +338,8 @@ public class PhaserTest extends JSR166Te * registered or unarrived parties would become negative */ public void testArriveAndDeregister1() { + Phaser phaser = new Phaser(); try { - Phaser phaser = new Phaser(); phaser.arriveAndDeregister(); shouldThrow(); } catch (IllegalStateException success) {} @@ -520,7 +523,7 @@ public class PhaserTest extends JSR166Te }}); await(pleaseArrive); - waitForThreadToEnterWaitState(t, SHORT_DELAY_MS); + assertThreadBlocks(t, Thread.State.WAITING); assertEquals(0, phaser.arrive()); awaitTermination(t); @@ -548,7 +551,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); @@ -564,20 +567,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()); @@ -598,11 +601,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()); @@ -617,16 +620,16 @@ 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() { for (int k = 0; k < 3; k++) { - assertEquals(2*k+1, phaser.arriveAndAwaitAdvance()); + assertEquals(2 * k + 1, phaser.arriveAndAwaitAdvance()); count.incrementAndGet(); - assertEquals(2*k+1, phaser.arrive()); - assertEquals(2*k+2, phaser.awaitAdvance(2*k+1)); - assertEquals(4*(k+1), count.get()); + assertEquals(2 * k + 1, phaser.arrive()); + assertEquals(2 * k + 2, phaser.awaitAdvance(2 * k + 1)); + assertEquals(4 * (k + 1), count.get()); }}})); for (Thread thread : threads) @@ -641,7 +644,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); @@ -669,20 +672,20 @@ 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); for (Phaser phaser : phasers) { assertEquals(-42, phaser.awaitAdvance(-42)); assertEquals(-42, phaser.awaitAdvanceInterruptibly(-42)); - assertEquals(-42, phaser.awaitAdvanceInterruptibly(-42, SMALL_DELAY_MS, MILLISECONDS)); + assertEquals(-42, phaser.awaitAdvanceInterruptibly(-42, MEDIUM_DELAY_MS, MILLISECONDS)); } for (Phaser child : onePartyChildren) @@ -690,10 +693,10 @@ public class PhaserTest extends JSR166Te for (Phaser phaser : phasers) { assertEquals(-42, phaser.awaitAdvance(-42)); assertEquals(-42, phaser.awaitAdvanceInterruptibly(-42)); - assertEquals(-42, phaser.awaitAdvanceInterruptibly(-42, SMALL_DELAY_MS, MILLISECONDS)); + assertEquals(-42, phaser.awaitAdvanceInterruptibly(-42, MEDIUM_DELAY_MS, MILLISECONDS)); assertEquals(1, phaser.awaitAdvance(0)); assertEquals(1, phaser.awaitAdvanceInterruptibly(0)); - assertEquals(1, phaser.awaitAdvanceInterruptibly(0, SMALL_DELAY_MS, MILLISECONDS)); + assertEquals(1, phaser.awaitAdvanceInterruptibly(0, MEDIUM_DELAY_MS, MILLISECONDS)); } for (Phaser child : onePartyChildren) @@ -701,13 +704,13 @@ public class PhaserTest extends JSR166Te for (Phaser phaser : phasers) { assertEquals(-42, phaser.awaitAdvance(-42)); assertEquals(-42, phaser.awaitAdvanceInterruptibly(-42)); - assertEquals(-42, phaser.awaitAdvanceInterruptibly(-42, SMALL_DELAY_MS, MILLISECONDS)); + assertEquals(-42, phaser.awaitAdvanceInterruptibly(-42, MEDIUM_DELAY_MS, MILLISECONDS)); assertEquals(2, phaser.awaitAdvance(0)); assertEquals(2, phaser.awaitAdvanceInterruptibly(0)); - assertEquals(2, phaser.awaitAdvanceInterruptibly(0, SMALL_DELAY_MS, MILLISECONDS)); + assertEquals(2, phaser.awaitAdvanceInterruptibly(0, MEDIUM_DELAY_MS, MILLISECONDS)); assertEquals(2, phaser.awaitAdvance(1)); assertEquals(2, phaser.awaitAdvanceInterruptibly(1)); - assertEquals(2, phaser.awaitAdvanceInterruptibly(1, SMALL_DELAY_MS, MILLISECONDS)); + assertEquals(2, phaser.awaitAdvanceInterruptibly(1, MEDIUM_DELAY_MS, MILLISECONDS)); } } @@ -717,7 +720,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() { @@ -745,8 +748,8 @@ public class PhaserTest extends JSR166Te * unarrived parties */ public void testArriveAndAwaitAdvance1() { + Phaser phaser = new Phaser(); try { - Phaser phaser = new Phaser(); phaser.arriveAndAwaitAdvance(); shouldThrow(); } catch (IllegalStateException success) {} @@ -761,7 +764,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() { @@ -777,7 +780,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);