--- jsr166/src/test/tck/ForkJoinTask8Test.java 2018/07/22 20:42:51 1.32 +++ jsr166/src/test/tck/ForkJoinTask8Test.java 2021/01/26 13:33:06 1.35 @@ -91,7 +91,7 @@ public class ForkJoinTask8Test extends J } } - void checkNotDone(ForkJoinTask a) { + void checkNotDone(ForkJoinTask a) { assertFalse(a.isDone()); assertFalse(a.isCompletedNormally()); assertFalse(a.isCompletedAbnormally()); @@ -152,7 +152,7 @@ public class ForkJoinTask8Test extends J assertSame(expectedValue, v2); } - void checkCompletedAbnormally(ForkJoinTask a, Throwable t) { + void checkCompletedAbnormally(ForkJoinTask a, Throwable t) { assertTrue(a.isDone()); assertFalse(a.isCancelled()); assertFalse(a.isCompletedNormally()); @@ -532,6 +532,8 @@ public class ForkJoinTask8Test extends J AsyncFib f = new AsyncFib(8); assertSame(f, f.fork()); helpQuiesce(); + while (!f.isDone()) // wait out race + ; assertEquals(0, getQueuedTaskCount()); f.checkCompletedNormally(); }}; @@ -873,14 +875,13 @@ public class ForkJoinTask8Test extends J RecursiveAction a = new CheckedRecursiveAction() { protected void realCompute() { AsyncFib nul = null; - Runnable[] throwingActions = { + assertThrows( + NullPointerException.class, () -> invokeAll(nul), () -> invokeAll(nul, nul), () -> invokeAll(new AsyncFib(8), new AsyncFib(9), nul), () -> invokeAll(new AsyncFib(8), nul, new AsyncFib(9)), - () -> invokeAll(nul, new AsyncFib(8), new AsyncFib(9)), - }; - assertThrows(NullPointerException.class, throwingActions); + () -> invokeAll(nul, new AsyncFib(8), new AsyncFib(9))); }}; testInvokeOnPool(pool, a); } @@ -922,7 +923,7 @@ public class ForkJoinTask8Test extends J protected void realCompute() { AsyncFib f = new AsyncFib(8); FailingAsyncFib g = new FailingAsyncFib(9); - ForkJoinTask[] tasks = { f, g }; + ForkJoinTask[] tasks = { f, g }; shuffle(tasks); try { invokeAll(tasks[0], tasks[1]); @@ -949,7 +950,7 @@ public class ForkJoinTask8Test extends J AsyncFib f = new AsyncFib(8); FailingAsyncFib g = new FailingAsyncFib(9); AsyncFib h = new AsyncFib(7); - ForkJoinTask[] tasks = { f, g, h }; + ForkJoinTask[] tasks = { f, g, h }; shuffle(tasks); try { invokeAll(tasks[0], tasks[1], tasks[2]); @@ -976,7 +977,7 @@ public class ForkJoinTask8Test extends J FailingAsyncFib f = new FailingAsyncFib(8); AsyncFib g = new AsyncFib(9); AsyncFib h = new AsyncFib(7); - ForkJoinTask[] tasks = { f, g, h }; + ForkJoinTask[] tasks = { f, g, h }; shuffle(tasks); try { invokeAll(Arrays.asList(tasks)); @@ -1171,9 +1172,9 @@ public class ForkJoinTask8Test extends J */ public void testPollSubmission() { final CountDownLatch done = new CountDownLatch(1); - final ForkJoinTask a = ForkJoinTask.adapt(awaiter(done)); - final ForkJoinTask b = ForkJoinTask.adapt(awaiter(done)); - final ForkJoinTask c = ForkJoinTask.adapt(awaiter(done)); + final ForkJoinTask a = ForkJoinTask.adapt(awaiter(done)); + final ForkJoinTask b = ForkJoinTask.adapt(awaiter(done)); + final ForkJoinTask c = ForkJoinTask.adapt(awaiter(done)); final ForkJoinPool p = singletonPool(); try (PoolCleaner cleaner = cleaner(p, done)) { Thread external = new Thread(new CheckedRunnable() { @@ -1192,7 +1193,7 @@ public class ForkJoinTask8Test extends J } assertTrue(p.hasQueuedSubmissions()); assertTrue(Thread.currentThread() instanceof ForkJoinWorkerThread); - ForkJoinTask r = ForkJoinTask.pollSubmission(); + ForkJoinTask r = ForkJoinTask.pollSubmission(); assertTrue(r == a || r == b || r == c); assertFalse(r.isDone()); }};