--- jsr166/src/test/tck/ForkJoinPoolTest.java 2010/11/19 00:20:47 1.35 +++ jsr166/src/test/tck/ForkJoinPoolTest.java 2010/11/29 07:42:58 1.36 @@ -328,15 +328,17 @@ public class ForkJoinPoolTest extends JS * pollSubmission returns unexecuted submitted task, if present */ public void testPollSubmission() { + final CountDownLatch done = new CountDownLatch(1); SubFJP p = new SubFJP(); try { - ForkJoinTask a = p.submit(new ShortRunnable()); - ForkJoinTask b = p.submit(new ShortRunnable()); - ForkJoinTask c = p.submit(new ShortRunnable()); + ForkJoinTask a = p.submit(awaiter(done)); + ForkJoinTask b = p.submit(awaiter(done)); + ForkJoinTask c = p.submit(awaiter(done)); ForkJoinTask r = p.pollSubmission(); assertTrue(r == a || r == b || r == c); assertFalse(r.isDone()); } finally { + done.countDown(); joinPool(p); } } @@ -345,11 +347,12 @@ public class ForkJoinPoolTest extends JS * drainTasksTo transfers unexecuted submitted tasks, if present */ public void testDrainTasksTo() { + final CountDownLatch done = new CountDownLatch(1); SubFJP p = new SubFJP(); try { - ForkJoinTask a = p.submit(new ShortRunnable()); - ForkJoinTask b = p.submit(new ShortRunnable()); - ForkJoinTask c = p.submit(new ShortRunnable()); + ForkJoinTask a = p.submit(awaiter(done)); + ForkJoinTask b = p.submit(awaiter(done)); + ForkJoinTask c = p.submit(awaiter(done)); ArrayList al = new ArrayList(); p.drainTasksTo(al); assertTrue(al.size() > 0); @@ -358,6 +361,7 @@ public class ForkJoinPoolTest extends JS assertFalse(r.isDone()); } } finally { + done.countDown(); joinPool(p); } } @@ -375,7 +379,9 @@ public class ForkJoinPoolTest extends JS assertFalse(task.isDone()); Future future = e.submit(task); assertNull(future.get()); + assertNull(future.get(MEDIUM_DELAY_MS, MILLISECONDS)); assertTrue(task.isDone()); + assertTrue(future.isDone()); assertFalse(future.isCancelled()); } finally { joinPool(e);