--- jsr166/src/test/tck/ForkJoinPoolTest.java 2009/07/31 23:37:31 1.2 +++ jsr166/src/test/tck/ForkJoinPoolTest.java 2009/11/21 10:25:05 1.10 @@ -8,10 +8,11 @@ import junit.framework.*; import java.util.*; import java.util.concurrent.*; +import static java.util.concurrent.TimeUnit.MILLISECONDS; import java.util.concurrent.locks.*; import java.security.*; -public class ForkJoinPoolTest extends JSR166TestCase{ +public class ForkJoinPoolTest extends JSR166TestCase { public static void main(String[] args) { junit.textui.TestRunner.run (suite()); } @@ -50,7 +51,8 @@ public class ForkJoinPoolTest extends JS protected void onStart() { throw new Error(); } } - static class FailingThreadFactory implements ForkJoinPool.ForkJoinWorkerThreadFactory { + static class FailingThreadFactory + implements ForkJoinPool.ForkJoinWorkerThreadFactory { int calls = 0; public ForkJoinWorkerThread newThread(ForkJoinPool p) { if (++calls > 1) return null; @@ -135,7 +137,7 @@ public class ForkJoinPoolTest extends JS } /** - * Succesfully constructed pool reports default factory, + * Successfully constructed pool reports default factory, * parallelism and async mode policies, no active threads or * tasks, and quiescent running state. */ @@ -143,7 +145,8 @@ public class ForkJoinPoolTest extends JS ForkJoinPool p = null; try { p = new ForkJoinPool(1); - assertTrue(p.getFactory() == ForkJoinPool.defaultForkJoinWorkerThreadFactory); + assertTrue(p.getFactory() == + ForkJoinPool.defaultForkJoinWorkerThreadFactory); assertTrue(p.isQuiescent()); assertTrue(p.getMaintainsParallelism()); assertFalse(p.getAsyncMode()); @@ -167,8 +170,7 @@ public class ForkJoinPoolTest extends JS try { new ForkJoinPool(-1); shouldThrow(); - } - catch (IllegalArgumentException success) {} + } catch (IllegalArgumentException success) {} } /** @@ -178,8 +180,7 @@ public class ForkJoinPoolTest extends JS try { new ForkJoinPool(1, null); shouldThrow(); - } - catch (NullPointerException success) {} + } catch (NullPointerException success) {} } @@ -308,7 +309,7 @@ public class ForkJoinPoolTest extends JS * Additionally tests: Overriding ForkJoinWorkerThread.onStart * performs its defined action */ - public void testSetUncaughtExceptionHandler() { + public void testSetUncaughtExceptionHandler() throws InterruptedException { ForkJoinPool p = null; try { p = new ForkJoinPool(1, new FailingThreadFactory()); @@ -318,8 +319,6 @@ public class ForkJoinPoolTest extends JS p.execute(new FailingTask()); Thread.sleep(MEDIUM_DELAY_MS); assertTrue(eh.catches > 0); - } catch (InterruptedException e) { - unexpectedException(); } finally { joinPool(p); } @@ -345,12 +344,13 @@ public class ForkJoinPoolTest extends JS * queues are empty, threads are not active, and * construction parameters continue to hold */ - public void testisQuiescent() { + public void testisQuiescent() throws InterruptedException { ForkJoinPool p = null; try { p = new ForkJoinPool(2); p.invoke(new FibTask(20)); - assertTrue(p.getFactory() == ForkJoinPool.defaultForkJoinWorkerThreadFactory); + assertTrue(p.getFactory() == + ForkJoinPool.defaultForkJoinWorkerThreadFactory); Thread.sleep(MEDIUM_DELAY_MS); assertTrue(p.isQuiescent()); assertTrue(p.getMaintainsParallelism()); @@ -362,8 +362,6 @@ public class ForkJoinPoolTest extends JS assertFalse(p.isShutdown()); assertFalse(p.isTerminating()); assertFalse(p.isTerminated()); - } catch (InterruptedException e) { - unexpectedException(); } finally { joinPool(p); } @@ -372,17 +370,13 @@ public class ForkJoinPoolTest extends JS /** * Completed submit(ForkJoinTask) returns result */ - public void testSubmitForkJoinTask() { + public void testSubmitForkJoinTask() throws Throwable { ForkJoinPool p = null; try { p = new ForkJoinPool(1); ForkJoinTask f = p.submit(new FibTask(8)); int r = f.get(); assertTrue(r == 21); - } catch (ExecutionException ex) { - unexpectedException(); - } catch (InterruptedException ex) { - unexpectedException(); } finally { joinPool(p); } @@ -408,7 +402,7 @@ public class ForkJoinPoolTest extends JS /** * Pool maintains parallelism when using ManagedBlocker */ - public void testBlockingForkJoinTask() { + public void testBlockingForkJoinTask() throws Throwable { ForkJoinPool p = null; try { p = new ForkJoinPool(4); @@ -419,12 +413,8 @@ public class ForkJoinPoolTest extends JS assertTrue(p.getPoolSize() >= 4); int r = f.get(); assertTrue(r == 832040); - } catch (ExecutionException ex) { - unexpectedException(); - } catch (InterruptedException ex) { - unexpectedException(); } finally { - joinPool(p); + p.shutdownNow(); // don't wait out shutdown } } @@ -474,83 +464,51 @@ public class ForkJoinPoolTest extends JS /** * execute(runnable) runs it to completion */ - public void testExecuteRunnable() { - try { - ExecutorService e = new ForkJoinPool(1); - TrackedShortRunnable task = new TrackedShortRunnable(); - assertFalse(task.done); - Future future = e.submit(task); - future.get(); - assertTrue(task.done); - } - catch (ExecutionException ex) { - unexpectedException(); - } - catch (InterruptedException ex) { - unexpectedException(); - } + public void testExecuteRunnable() throws Throwable { + ExecutorService e = new ForkJoinPool(1); + TrackedShortRunnable task = new TrackedShortRunnable(); + assertFalse(task.done); + Future future = e.submit(task); + future.get(); + assertTrue(task.done); } /** * Completed submit(callable) returns result */ - public void testSubmitCallable() { - try { - ExecutorService e = new ForkJoinPool(1); - Future future = e.submit(new StringTask()); - String result = future.get(); - assertSame(TEST_STRING, result); - } - catch (ExecutionException ex) { - unexpectedException(); - } - catch (InterruptedException ex) { - unexpectedException(); - } + public void testSubmitCallable() throws Throwable { + ExecutorService e = new ForkJoinPool(1); + Future future = e.submit(new StringTask()); + String result = future.get(); + assertSame(TEST_STRING, result); } /** * Completed submit(runnable) returns successfully */ - public void testSubmitRunnable() { - try { - ExecutorService e = new ForkJoinPool(1); - Future future = e.submit(new NoOpRunnable()); - future.get(); - assertTrue(future.isDone()); - } - catch (ExecutionException ex) { - unexpectedException(); - } - catch (InterruptedException ex) { - unexpectedException(); - } + public void testSubmitRunnable() throws Throwable { + ExecutorService e = new ForkJoinPool(1); + Future future = e.submit(new NoOpRunnable()); + future.get(); + assertTrue(future.isDone()); } /** * Completed submit(runnable, result) returns result */ - public void testSubmitRunnable2() { - try { - ExecutorService e = new ForkJoinPool(1); - Future future = e.submit(new NoOpRunnable(), TEST_STRING); - String result = future.get(); - assertSame(TEST_STRING, result); - } - catch (ExecutionException ex) { - unexpectedException(); - } - catch (InterruptedException ex) { - unexpectedException(); - } + public void testSubmitRunnable2() throws Throwable { + ExecutorService e = new ForkJoinPool(1); + Future future = e.submit(new NoOpRunnable(), TEST_STRING); + String result = future.get(); + assertSame(TEST_STRING, result); } /** * A submitted privileged action to completion */ - public void testSubmitPrivilegedAction() { + public void testSubmitPrivilegedAction() throws Throwable { Policy savedPolicy = null; try { savedPolicy = Policy.getPolicy(); @@ -571,25 +529,15 @@ public class ForkJoinPoolTest extends JS Object result = future.get(); assertSame(TEST_STRING, result); } - catch (ExecutionException ex) { - unexpectedException(); - } - catch (InterruptedException ex) { - unexpectedException(); - } finally { - try { - Policy.setPolicy(savedPolicy); - } catch (AccessControlException ok) { - return; - } + Policy.setPolicy(savedPolicy); } } /** * A submitted a privileged exception action runs to completion */ - public void testSubmitPrivilegedExceptionAction() { + public void testSubmitPrivilegedExceptionAction() throws Throwable { Policy savedPolicy = null; try { savedPolicy = Policy.getPolicy(); @@ -611,12 +559,6 @@ public class ForkJoinPoolTest extends JS Object result = future.get(); assertSame(TEST_STRING, result); } - catch (ExecutionException ex) { - unexpectedException(); - } - catch (InterruptedException ex) { - unexpectedException(); - } finally { Policy.setPolicy(savedPolicy); } @@ -625,7 +567,7 @@ public class ForkJoinPoolTest extends JS /** * A submitted failed privileged exception action reports exception */ - public void testSubmitFailedPrivilegedExceptionAction() { + public void testSubmitFailedPrivilegedExceptionAction() throws Throwable { Policy savedPolicy = null; try { savedPolicy = Policy.getPolicy(); @@ -647,19 +589,14 @@ public class ForkJoinPoolTest extends JS Object result = future.get(); shouldThrow(); - } - catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (InterruptedException ex) { - unexpectedException(); - } - finally { + } catch (ExecutionException success) { + } finally { Policy.setPolicy(savedPolicy); } } /** - * execute(null runnable) throws NPE + * execute(null runnable) throws NullPointerException */ public void testExecuteNullRunnable() { try { @@ -667,17 +604,12 @@ public class ForkJoinPoolTest extends JS TrackedShortRunnable task = null; Future future = e.submit(task); shouldThrow(); - } - catch (NullPointerException success) { - } - catch (Exception ex) { - unexpectedException(); - } + } catch (NullPointerException success) {} } /** - * submit(null callable) throws NPE + * submit(null callable) throws NullPointerException */ public void testSubmitNullCallable() { try { @@ -685,123 +617,117 @@ public class ForkJoinPoolTest extends JS StringTask t = null; Future future = e.submit(t); shouldThrow(); - } - catch (NullPointerException success) { - } - catch (Exception ex) { - unexpectedException(); - } + } catch (NullPointerException success) {} } /** - * Blocking on submit(callable) throws InterruptedException if - * caller interrupted. + * Blocking on submit(callable) throws InterruptedException if + * caller interrupted. */ - public void testInterruptedSubmit() { + public void testInterruptedSubmit() throws InterruptedException { final ForkJoinPool p = new ForkJoinPool(1); - Thread t = new Thread(new Runnable() { - public void run() { - try { - p.submit(new Callable() { - public Object call() { - try { - Thread.sleep(MEDIUM_DELAY_MS); - shouldThrow(); - } catch (InterruptedException e) { - } - return null; - } - }).get(); - } catch (InterruptedException success) { - } catch (Exception e) { - unexpectedException(); - } - - } - }); - try { - t.start(); - Thread.sleep(SHORT_DELAY_MS); - t.interrupt(); - } catch (Exception e) { - unexpectedException(); - } + + Thread t = new Thread(new CheckedInterruptedRunnable() { + void realRun() throws Throwable { + p.submit(new CheckedCallable() { + public Object realCall() throws Throwable { + try { + Thread.sleep(MEDIUM_DELAY_MS); + } catch (InterruptedException ok) { + } + return null; + }}).get(); + }}); + + t.start(); + Thread.sleep(SHORT_DELAY_MS); + t.interrupt(); + t.join(); + p.shutdownNow(); joinPool(p); } /** - * get of submit(callable) throws ExecutionException if callable - * throws exception + * get of submit(callable) throws ExecutionException if callable + * throws exception */ - public void testSubmitEE() { + public void testSubmitEE() throws Throwable { ForkJoinPool p = new ForkJoinPool(1); - try { - Callable c = new Callable() { - public Object call() { - int i = 5/0; - return Boolean.TRUE; - } - }; - - for (int i = 0; i < 5; i++) { - p.submit(c).get(); - } - + p.submit(new Callable() { + public Object call() { + int i = 5/0; + return Boolean.TRUE; + }}).get(); shouldThrow(); - } catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (Exception e) { - unexpectedException(); - } + } catch (ExecutionException success) {} + joinPool(p); } /** - * invokeAny(null) throws NPE + * invokeAny(null) throws NullPointerException */ - public void testInvokeAny1() { + public void testInvokeAny1() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { e.invokeAny(null); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - unexpectedException(); } finally { joinPool(e); } } /** - * invokeAny(empty collection) throws IAE + * invokeAny(empty collection) throws IllegalArgumentException */ - public void testInvokeAny2() { + public void testInvokeAny2() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { e.invokeAny(new ArrayList>()); + shouldThrow(); } catch (IllegalArgumentException success) { - } catch (Exception ex) { - unexpectedException(); } finally { joinPool(e); } } /** - * invokeAny(c) throws NPE if c has null elements + * invokeAny(c) throws NullPointerException if c has a single null element */ - public void testInvokeAny3() { + public void testInvokeAny3() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); - l.add(new StringTask()); l.add(null); e.invokeAny(l); + shouldThrow(); + } catch (NullPointerException success) { + } finally { + joinPool(e); + } + } + + /** + * invokeAny(c) throws NullPointerException if c has null elements + */ + public void testInvokeAny4() throws Throwable { + ExecutorService e = new ForkJoinPool(1); + try { + ArrayList> l = new ArrayList>(); + l.add(new Callable() { + public String call() { + // The delay gives the pool a chance to notice + // the null element. + sleepTillInterrupted(SMALL_DELAY_MS); + return "foo"; + }}); + l.add(null); + e.invokeAny(l); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } @@ -810,16 +736,14 @@ public class ForkJoinPoolTest extends JS /** * invokeAny(c) throws ExecutionException if no task in c completes */ - public void testInvokeAny4() { + public void testInvokeAny5() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new NPETask()); e.invokeAny(l); + shouldThrow(); } catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (Exception ex) { - unexpectedException(); } finally { joinPool(e); } @@ -828,7 +752,7 @@ public class ForkJoinPoolTest extends JS /** * invokeAny(c) returns result of some task in c if at least one completes */ - public void testInvokeAny5() { + public void testInvokeAny6() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); @@ -836,25 +760,20 @@ public class ForkJoinPoolTest extends JS l.add(new StringTask()); String result = e.invokeAny(l); assertSame(TEST_STRING, result); - } catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (Exception ex) { - unexpectedException(); } finally { joinPool(e); } } /** - * invokeAll(null) throws NPE + * invokeAll(null) throws NullPointerException */ - public void testInvokeAll1() { + public void testInvokeAll1() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { e.invokeAll(null); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - unexpectedException(); } finally { joinPool(e); } @@ -863,53 +782,49 @@ public class ForkJoinPoolTest extends JS /** * invokeAll(empty collection) returns empty collection */ - public void testInvokeAll2() { + public void testInvokeAll2() throws InterruptedException { ExecutorService e = new ForkJoinPool(1); try { - List> r = e.invokeAll(new ArrayList>()); + List> r + = e.invokeAll(new ArrayList>()); assertTrue(r.isEmpty()); - } catch (Exception ex) { - unexpectedException(); } finally { joinPool(e); } } /** - * invokeAll(c) throws NPE if c has null elements + * invokeAll(c) throws NullPointerException if c has null elements */ - public void testInvokeAll3() { + public void testInvokeAll3() throws InterruptedException { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new StringTask()); l.add(null); e.invokeAll(l); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - unexpectedException(); } finally { joinPool(e); } } /** - * get of returned element of invokeAll(c) throws exception on failed task + * get of returned element of invokeAll(c) throws + * ExecutionException on failed task */ - public void testInvokeAll4() { + public void testInvokeAll4() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new NPETask()); List> result = e.invokeAll(l); assertEquals(1, result.size()); - for (Iterator> it = result.iterator(); it.hasNext();) - it.next().get(); + for (Future future : result) + future.get(); + shouldThrow(); } catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } @@ -918,7 +833,7 @@ public class ForkJoinPoolTest extends JS /** * invokeAll(c) returns results of all completed tasks in c */ - public void testInvokeAll5() { + public void testInvokeAll5() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); @@ -926,13 +841,8 @@ public class ForkJoinPoolTest extends JS l.add(new StringTask()); List> result = e.invokeAll(l); assertEquals(2, result.size()); - for (Iterator> it = result.iterator(); it.hasNext();) - assertSame(TEST_STRING, it.next().get()); - } catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); + for (Future future : result) + assertSame(TEST_STRING, future.get()); } finally { joinPool(e); } @@ -940,69 +850,62 @@ public class ForkJoinPoolTest extends JS /** - * timed invokeAny(null) throws NPE + * timed invokeAny(null) throws NullPointerException */ - public void testTimedInvokeAny1() { + public void testTimedInvokeAny1() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { - e.invokeAny(null, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + e.invokeAny(null, MEDIUM_DELAY_MS, MILLISECONDS); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } } /** - * timed invokeAny(null time unit) throws NPE + * timed invokeAny(null time unit) throws NullPointerException */ - public void testTimedInvokeAnyNullTimeUnit() { + public void testTimedInvokeAnyNullTimeUnit() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new StringTask()); e.invokeAny(l, MEDIUM_DELAY_MS, null); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } } /** - * timed invokeAny(empty collection) throws IAE + * timed invokeAny(empty collection) throws IllegalArgumentException */ - public void testTimedInvokeAny2() { + public void testTimedInvokeAny2() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { - e.invokeAny(new ArrayList>(), MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + e.invokeAny(new ArrayList>(), + MEDIUM_DELAY_MS, MILLISECONDS); + shouldThrow(); } catch (IllegalArgumentException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } } /** - * timed invokeAny(c) throws NPE if c has null elements + * timed invokeAny(c) throws NullPointerException if c has null elements */ - public void testTimedInvokeAny3() { + public void testTimedInvokeAny3() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new StringTask()); l.add(null); - e.invokeAny(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + e.invokeAny(l, MEDIUM_DELAY_MS, MILLISECONDS); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } @@ -1011,17 +914,14 @@ public class ForkJoinPoolTest extends JS /** * timed invokeAny(c) throws ExecutionException if no task completes */ - public void testTimedInvokeAny4() { + public void testTimedInvokeAny4() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new NPETask()); - e.invokeAny(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + e.invokeAny(l, MEDIUM_DELAY_MS, MILLISECONDS); + shouldThrow(); } catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } @@ -1030,53 +930,44 @@ public class ForkJoinPoolTest extends JS /** * timed invokeAny(c) returns result of some task in c */ - public void testTimedInvokeAny5() { + public void testTimedInvokeAny5() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new StringTask()); l.add(new StringTask()); - String result = e.invokeAny(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + String result = e.invokeAny(l, MEDIUM_DELAY_MS, MILLISECONDS); assertSame(TEST_STRING, result); - } catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } } /** - * timed invokeAll(null) throws NPE + * timed invokeAll(null) throws NullPointerException */ - public void testTimedInvokeAll1() { + public void testTimedInvokeAll1() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { - e.invokeAll(null, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + e.invokeAll(null, MEDIUM_DELAY_MS, MILLISECONDS); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } } /** - * timed invokeAll(null time unit) throws NPE + * timed invokeAll(null time unit) throws NullPointerException */ - public void testTimedInvokeAllNullTimeUnit() { + public void testTimedInvokeAllNullTimeUnit() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new StringTask()); e.invokeAll(l, MEDIUM_DELAY_MS, null); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } @@ -1085,33 +976,30 @@ public class ForkJoinPoolTest extends JS /** * timed invokeAll(empty collection) returns empty collection */ - public void testTimedInvokeAll2() { + public void testTimedInvokeAll2() throws InterruptedException { ExecutorService e = new ForkJoinPool(1); try { - List> r = e.invokeAll(new ArrayList>(), MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + List> r + = e.invokeAll(new ArrayList>(), + MEDIUM_DELAY_MS, MILLISECONDS); assertTrue(r.isEmpty()); - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } } /** - * timed invokeAll(c) throws NPE if c has null elements + * timed invokeAll(c) throws NullPointerException if c has null elements */ - public void testTimedInvokeAll3() { + public void testTimedInvokeAll3() throws InterruptedException { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new StringTask()); l.add(null); - e.invokeAll(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + e.invokeAll(l, MEDIUM_DELAY_MS, MILLISECONDS); + shouldThrow(); } catch (NullPointerException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } @@ -1120,20 +1008,18 @@ public class ForkJoinPoolTest extends JS /** * get of returned element of invokeAll(c) throws exception on failed task */ - public void testTimedInvokeAll4() { + public void testTimedInvokeAll4() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new NPETask()); - List> result = e.invokeAll(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + List> result + = e.invokeAll(l, MEDIUM_DELAY_MS, MILLISECONDS); assertEquals(1, result.size()); - for (Iterator> it = result.iterator(); it.hasNext();) - it.next().get(); + for (Future future : result) + future.get(); + shouldThrow(); } catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); } finally { joinPool(e); } @@ -1142,21 +1028,17 @@ public class ForkJoinPoolTest extends JS /** * timed invokeAll(c) returns results of all completed tasks in c */ - public void testTimedInvokeAll5() { + public void testTimedInvokeAll5() throws Throwable { ExecutorService e = new ForkJoinPool(1); try { ArrayList> l = new ArrayList>(); l.add(new StringTask()); l.add(new StringTask()); - List> result = e.invokeAll(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS); + List> result + = e.invokeAll(l, MEDIUM_DELAY_MS, MILLISECONDS); assertEquals(2, result.size()); - for (Iterator> it = result.iterator(); it.hasNext();) - assertSame(TEST_STRING, it.next().get()); - } catch (ExecutionException success) { - } catch (CancellationException success) { - } catch (Exception ex) { - ex.printStackTrace(); - unexpectedException(); + for (Future future : result) + assertSame(TEST_STRING, future.get()); } finally { joinPool(e); }