--- jsr166/src/test/tck/CountedCompleterTest.java 2015/10/18 16:43:53 1.21 +++ jsr166/src/test/tck/CountedCompleterTest.java 2016/10/15 18:51:12 1.30 @@ -13,6 +13,7 @@ import java.util.concurrent.CountedCompl import java.util.concurrent.ExecutionException; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinTask; +import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; @@ -299,6 +300,7 @@ public class CountedCompleterTest extend void testComplete(NoopCC cc, Object x, int pendingCount) { cc.setPendingCount(pendingCount); cc.checkCompletes(x); + assertEquals(pendingCount, cc.getPendingCount()); } /** @@ -334,10 +336,15 @@ public class CountedCompleterTest extend public void testSetPendingCount() { NoopCC a = new NoopCC(); assertEquals(0, a.getPendingCount()); - a.setPendingCount(1); - assertEquals(1, a.getPendingCount()); - a.setPendingCount(27); - assertEquals(27, a.getPendingCount()); + int[] vals = { + -1, 0, 1, + Integer.MIN_VALUE, + Integer.MAX_VALUE, + }; + for (int val : vals) { + a.setPendingCount(val); + assertEquals(val, a.getPendingCount()); + } } /** @@ -350,6 +357,8 @@ public class CountedCompleterTest extend assertEquals(1, a.getPendingCount()); a.addToPendingCount(27); assertEquals(28, a.getPendingCount()); + a.addToPendingCount(-28); + assertEquals(0, a.getPendingCount()); } /** @@ -365,6 +374,9 @@ public class CountedCompleterTest extend assertEquals(0, a.getPendingCount()); assertEquals(0, a.decrementPendingCountUnlessZero()); assertEquals(0, a.getPendingCount()); + a.setPendingCount(-1); + assertEquals(-1, a.decrementPendingCountUnlessZero()); + assertEquals(-2, a.getPendingCount()); } /** @@ -488,7 +500,7 @@ public class CountedCompleterTest extend } /** - * quietlyCompleteRoot completes root task + * quietlyCompleteRoot completes root task and only root task */ public void testQuietlyCompleteRoot() { NoopCC a = new NoopCC();