--- jsr166/src/test/tck/AbstractExecutorServiceTest.java 2015/10/08 03:08:37 1.44 +++ jsr166/src/test/tck/AbstractExecutorServiceTest.java 2021/01/26 13:33:05 1.49 @@ -11,6 +11,7 @@ import static java.util.concurrent.TimeU import java.security.PrivilegedAction; import java.security.PrivilegedExceptionAction; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.concurrent.AbstractExecutorService; @@ -46,7 +47,7 @@ public class AbstractExecutorServiceTest public void shutdown() { shutdown = true; } public List shutdownNow() { shutdown = true; - return Collections.EMPTY_LIST; + return Collections.emptyList(); } public boolean isShutdown() { return shutdown; } public boolean isTerminated() { return isShutdown(); } @@ -110,7 +111,7 @@ public class AbstractExecutorServiceTest Runnable r = new CheckedRunnable() { public void realRun() throws Exception { ExecutorService e = new DirectExecutorService(); - Future future = e.submit(Executors.callable(new PrivilegedAction() { + Future future = e.submit(Executors.callable(new PrivilegedAction() { public Object run() { return TEST_STRING; }})); @@ -131,7 +132,7 @@ public class AbstractExecutorServiceTest Runnable r = new CheckedRunnable() { public void realRun() throws Exception { ExecutorService e = new DirectExecutorService(); - Future future = e.submit(Executors.callable(new PrivilegedExceptionAction() { + Future future = e.submit(Executors.callable(new PrivilegedExceptionAction() { public Object run() { return TEST_STRING; }})); @@ -149,7 +150,7 @@ public class AbstractExecutorServiceTest Runnable r = new CheckedRunnable() { public void realRun() throws Exception { ExecutorService e = new DirectExecutorService(); - Future future = e.submit(Executors.callable(new PrivilegedExceptionAction() { + Future future = e.submit(Executors.callable(new PrivilegedExceptionAction() { public Object run() throws Exception { throw new IndexOutOfBoundsException(); }})); @@ -165,25 +166,13 @@ public class AbstractExecutorServiceTest } /** - * execute(null runnable) throws NPE + * Submitting null tasks throws NullPointerException */ - public void testExecuteNullRunnable() { - ExecutorService e = new DirectExecutorService(); - try { - e.submit((Runnable) null); - shouldThrow(); - } catch (NullPointerException success) {} - } - - /** - * submit(null callable) throws NPE - */ - public void testSubmitNullCallable() { - ExecutorService e = new DirectExecutorService(); - try { - e.submit((Callable) null); - shouldThrow(); - } catch (NullPointerException success) {} + public void testNullTaskSubmission() { + final ExecutorService e = new DirectExecutorService(); + try (PoolCleaner cleaner = cleaner(e)) { + assertNullTaskSubmissionThrowsNullPointerException(e); + } } /** @@ -224,7 +213,7 @@ public class AbstractExecutorServiceTest 60, TimeUnit.SECONDS, new ArrayBlockingQueue(10)); try (PoolCleaner cleaner = cleaner(p)) { - Callable c = new Callable() { + Callable c = new Callable() { public Object call() { throw new ArithmeticException(); }}; try { p.submit(c).get(); @@ -249,13 +238,15 @@ public class AbstractExecutorServiceTest } /** - * invokeAny(empty collection) throws IAE + * invokeAny(empty collection) throws IllegalArgumentException */ public void testInvokeAny2() throws Exception { final ExecutorService e = new DirectExecutorService(); + final Collection> emptyCollection + = Collections.emptyList(); try (PoolCleaner cleaner = cleaner(e)) { try { - e.invokeAny(new ArrayList>()); + e.invokeAny(emptyCollection); shouldThrow(); } catch (IllegalArgumentException success) {} } @@ -267,7 +258,7 @@ public class AbstractExecutorServiceTest public void testInvokeAny3() throws Exception { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new Callable() { public Long call() { throw new ArithmeticException(); }}); l.add(null); @@ -284,7 +275,7 @@ public class AbstractExecutorServiceTest public void testInvokeAny4() throws InterruptedException { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new NPETask()); try { e.invokeAny(l); @@ -301,7 +292,7 @@ public class AbstractExecutorServiceTest public void testInvokeAny5() throws Exception { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new StringTask()); l.add(new StringTask()); String result = e.invokeAny(l); @@ -323,12 +314,14 @@ public class AbstractExecutorServiceTest } /** - * invokeAll(empty collection) returns empty collection + * invokeAll(empty collection) returns empty list */ public void testInvokeAll2() throws InterruptedException { final ExecutorService e = new DirectExecutorService(); + final Collection> emptyCollection + = Collections.emptyList(); try (PoolCleaner cleaner = cleaner(e)) { - List> r = e.invokeAll(new ArrayList>()); + List> r = e.invokeAll(emptyCollection); assertTrue(r.isEmpty()); } } @@ -339,7 +332,7 @@ public class AbstractExecutorServiceTest public void testInvokeAll3() throws InterruptedException { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new StringTask()); l.add(null); try { @@ -355,7 +348,7 @@ public class AbstractExecutorServiceTest public void testInvokeAll4() throws Exception { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new NPETask()); List> futures = e.invokeAll(l); assertEquals(1, futures.size()); @@ -374,7 +367,7 @@ public class AbstractExecutorServiceTest public void testInvokeAll5() throws Exception { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new StringTask()); l.add(new StringTask()); List> futures = e.invokeAll(l); @@ -391,36 +384,37 @@ public class AbstractExecutorServiceTest final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { try { - e.invokeAny(null, MEDIUM_DELAY_MS, MILLISECONDS); + e.invokeAny(null, randomTimeout(), randomTimeUnit()); shouldThrow(); } catch (NullPointerException success) {} } } /** - * timed invokeAny(null time unit) throws NPE + * timed invokeAny(null time unit) throws NullPointerException */ public void testTimedInvokeAnyNullTimeUnit() throws Exception { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new StringTask()); try { - e.invokeAny(l, MEDIUM_DELAY_MS, null); + e.invokeAny(l, randomTimeout(), null); shouldThrow(); } catch (NullPointerException success) {} } } /** - * timed invokeAny(empty collection) throws IAE + * timed invokeAny(empty collection) throws IllegalArgumentException */ public void testTimedInvokeAny2() throws Exception { final ExecutorService e = new DirectExecutorService(); + final Collection> emptyCollection + = Collections.emptyList(); try (PoolCleaner cleaner = cleaner(e)) { try { - e.invokeAny(new ArrayList>(), - MEDIUM_DELAY_MS, MILLISECONDS); + e.invokeAny(emptyCollection, randomTimeout(), randomTimeUnit()); shouldThrow(); } catch (IllegalArgumentException success) {} } @@ -432,12 +426,12 @@ public class AbstractExecutorServiceTest public void testTimedInvokeAny3() throws Exception { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new Callable() { public Long call() { throw new ArithmeticException(); }}); l.add(null); try { - e.invokeAny(l, MEDIUM_DELAY_MS, MILLISECONDS); + e.invokeAny(l, randomTimeout(), randomTimeUnit()); shouldThrow(); } catch (NullPointerException success) {} } @@ -450,7 +444,7 @@ public class AbstractExecutorServiceTest final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { long startTime = System.nanoTime(); - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new NPETask()); try { e.invokeAny(l, LONG_DELAY_MS, MILLISECONDS); @@ -469,7 +463,7 @@ public class AbstractExecutorServiceTest final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { long startTime = System.nanoTime(); - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new StringTask()); l.add(new StringTask()); String result = e.invokeAny(l, LONG_DELAY_MS, MILLISECONDS); @@ -479,13 +473,13 @@ public class AbstractExecutorServiceTest } /** - * timed invokeAll(null) throws NPE + * timed invokeAll(null) throws NullPointerException */ public void testTimedInvokeAll1() throws InterruptedException { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { try { - e.invokeAll(null, MEDIUM_DELAY_MS, MILLISECONDS); + e.invokeAll(null, randomTimeout(), randomTimeUnit()); shouldThrow(); } catch (NullPointerException success) {} } @@ -497,37 +491,40 @@ public class AbstractExecutorServiceTest public void testTimedInvokeAllNullTimeUnit() throws InterruptedException { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new StringTask()); try { - e.invokeAll(l, MEDIUM_DELAY_MS, null); + e.invokeAll(l, randomTimeout(), null); shouldThrow(); } catch (NullPointerException success) {} } } /** - * timed invokeAll(empty collection) returns empty collection + * timed invokeAll(empty collection) returns empty list */ public void testTimedInvokeAll2() throws InterruptedException { final ExecutorService e = new DirectExecutorService(); + final Collection> emptyCollection + = Collections.emptyList(); try (PoolCleaner cleaner = cleaner(e)) { - List> r = e.invokeAll(new ArrayList>(), MEDIUM_DELAY_MS, MILLISECONDS); + List> r = + e.invokeAll(emptyCollection, randomTimeout(), randomTimeUnit()); assertTrue(r.isEmpty()); } } /** - * timed invokeAll(c) throws NPE if c has null elements + * timed invokeAll(c) throws NullPointerException if c has null elements */ public void testTimedInvokeAll3() throws InterruptedException { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new StringTask()); l.add(null); try { - e.invokeAll(l, MEDIUM_DELAY_MS, MILLISECONDS); + e.invokeAll(l, randomTimeout(), randomTimeUnit()); shouldThrow(); } catch (NullPointerException success) {} } @@ -539,7 +536,7 @@ public class AbstractExecutorServiceTest public void testTimedInvokeAll4() throws Exception { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new NPETask()); List> futures = e.invokeAll(l, LONG_DELAY_MS, MILLISECONDS); @@ -559,7 +556,7 @@ public class AbstractExecutorServiceTest public void testTimedInvokeAll5() throws Exception { final ExecutorService e = new DirectExecutorService(); try (PoolCleaner cleaner = cleaner(e)) { - List> l = new ArrayList>(); + List> l = new ArrayList<>(); l.add(new StringTask()); l.add(new StringTask()); List> futures = @@ -587,7 +584,7 @@ public class AbstractExecutorServiceTest e.invokeAll(tasks, timeout, MILLISECONDS); assertEquals(tasks.size(), futures.size()); assertTrue(millisElapsedSince(startTime) >= timeout); - for (Future future : futures) + for (Future future : futures) assertTrue(future.isDone()); try { assertEquals("0", futures.get(0).get());