--- jsr166/src/test/tck/ForkJoinTask8Test.java 2014/12/31 17:00:58 1.6 +++ jsr166/src/test/tck/ForkJoinTask8Test.java 2015/02/07 19:24:47 1.11 @@ -3,15 +3,19 @@ * Expert Group and released to the public domain, as explained at * http://creativecommons.org/publicdomain/zero/1.0/ */ + +import static java.util.concurrent.TimeUnit.MILLISECONDS; +import static java.util.concurrent.TimeUnit.SECONDS; + import java.util.HashSet; import java.util.concurrent.ExecutionException; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinTask; import java.util.concurrent.RecursiveAction; import java.util.concurrent.TimeoutException; -import static java.util.concurrent.TimeUnit.MILLISECONDS; -import static java.util.concurrent.TimeUnit.SECONDS; -import junit.framework.*; + +import junit.framework.Test; +import junit.framework.TestSuite; public class ForkJoinTask8Test extends JSR166TestCase { @@ -176,7 +180,6 @@ public class ForkJoinTask8Test extends J } catch (Throwable fail) { threadUnexpectedException(fail); } } - public static final class FJException extends RuntimeException { FJException() { super(); } } @@ -718,18 +721,22 @@ public class ForkJoinTask8Test extends J } /** - * invokeAll(tasks) with any null task throws NPE + * invokeAll(tasks) with any null task throws NullPointerException */ - public void testInvokeAllNPE() { + public void testInvokeAllNullTask() { RecursiveAction a = new CheckedRecursiveAction() { protected void realCompute() { AsyncFib f = new AsyncFib(8); AsyncFib g = new AsyncFib(9); - AsyncFib h = null; - try { - invokeAll(f, g, h); - shouldThrow(); - } catch (NullPointerException success) {} + AsyncFib nul = null; + Runnable[] throwingActions = { + () -> invokeAll(nul), + () -> invokeAll(nul, nul), + () -> invokeAll(f, g, nul), + () -> invokeAll(f, nul, g), + () -> invokeAll(nul, f, g), + }; + assertThrows(NullPointerException.class, throwingActions); }}; testInvokeOnPool(mainPool(), a); } @@ -1295,18 +1302,22 @@ public class ForkJoinTask8Test extends J } /** - * invokeAll(tasks) with any null task throws NPE + * invokeAll(tasks) with any null task throws NullPointerException */ - public void testInvokeAllNPESingleton() { + public void testInvokeAllNullTaskSingleton() { RecursiveAction a = new CheckedRecursiveAction() { protected void realCompute() { AsyncFib f = new AsyncFib(8); AsyncFib g = new AsyncFib(9); - AsyncFib h = null; - try { - invokeAll(f, g, h); - shouldThrow(); - } catch (NullPointerException success) {} + AsyncFib nul = null; + Runnable[] throwingActions = { + () -> invokeAll(nul), + () -> invokeAll(nul, nul), + () -> invokeAll(f, g, nul), + () -> invokeAll(f, nul, g), + () -> invokeAll(nul, f, g), + }; + assertThrows(NullPointerException.class, throwingActions); }}; testInvokeOnPool(singletonPool(), a); }