1018 |
|
* given a value less the core pool size |
1019 |
|
*/ |
1020 |
|
public void testMaximumPoolSizeIllegalArgumentException() { |
1021 |
< |
ThreadPoolExecutor tpe = null; |
1022 |
< |
try { |
1023 |
< |
tpe = new CustomTPE(2,3,LONG_DELAY_MS, MILLISECONDS,new ArrayBlockingQueue<Runnable>(10)); |
1024 |
< |
} catch (Exception e) {} |
1021 |
> |
ThreadPoolExecutor tpe = |
1022 |
> |
new CustomTPE(2,3,LONG_DELAY_MS, MILLISECONDS,new ArrayBlockingQueue<Runnable>(10)); |
1023 |
|
try { |
1024 |
|
tpe.setMaximumPoolSize(1); |
1025 |
|
shouldThrow(); |
1035 |
|
* if given a negative value |
1036 |
|
*/ |
1037 |
|
public void testMaximumPoolSizeIllegalArgumentException2() { |
1038 |
< |
ThreadPoolExecutor tpe = null; |
1039 |
< |
try { |
1042 |
< |
tpe = new CustomTPE(2,3,LONG_DELAY_MS, MILLISECONDS,new ArrayBlockingQueue<Runnable>(10)); |
1043 |
< |
} catch (Exception e) {} |
1038 |
> |
ThreadPoolExecutor tpe = |
1039 |
> |
new CustomTPE(2,3,LONG_DELAY_MS, MILLISECONDS,new ArrayBlockingQueue<Runnable>(10)); |
1040 |
|
try { |
1041 |
|
tpe.setMaximumPoolSize(-1); |
1042 |
|
shouldThrow(); |
1053 |
|
* when given a negative value |
1054 |
|
*/ |
1055 |
|
public void testKeepAliveTimeIllegalArgumentException() { |
1056 |
< |
ThreadPoolExecutor tpe = null; |
1057 |
< |
try { |
1062 |
< |
tpe = new CustomTPE(2,3,LONG_DELAY_MS, MILLISECONDS,new ArrayBlockingQueue<Runnable>(10)); |
1063 |
< |
} catch (Exception e) {} |
1056 |
> |
ThreadPoolExecutor tpe = |
1057 |
> |
new CustomTPE(2,3,LONG_DELAY_MS, MILLISECONDS,new ArrayBlockingQueue<Runnable>(10)); |
1058 |
|
|
1059 |
|
try { |
1060 |
|
tpe.setKeepAliveTime(-1,MILLISECONDS); |
1201 |
|
e.invokeAny(l); |
1202 |
|
shouldThrow(); |
1203 |
|
} catch (ExecutionException success) { |
1204 |
+ |
assertTrue(success.getCause() instanceof NullPointerException); |
1205 |
|
} finally { |
1206 |
|
joinPool(e); |
1207 |
|
} |
1354 |
|
* timed invokeAny(c) throws NPE if c has null elements |
1355 |
|
*/ |
1356 |
|
public void testTimedInvokeAny3() throws Exception { |
1357 |
+ |
final CountDownLatch latch = new CountDownLatch(1); |
1358 |
|
ExecutorService e = new CustomTPE(2, 2, LONG_DELAY_MS, MILLISECONDS, new ArrayBlockingQueue<Runnable>(10)); |
1359 |
|
try { |
1360 |
|
ArrayList<Callable<String>> l = new ArrayList<Callable<String>>(); |
1361 |
< |
l.add(new StringTask()); |
1361 |
> |
l.add(new Callable<String>() { |
1362 |
> |
public String call() { |
1363 |
> |
try { |
1364 |
> |
latch.await(); |
1365 |
> |
} catch (InterruptedException ok) {} |
1366 |
> |
return TEST_STRING; |
1367 |
> |
}}); |
1368 |
|
l.add(null); |
1369 |
|
e.invokeAny(l, MEDIUM_DELAY_MS, MILLISECONDS); |
1370 |
|
shouldThrow(); |
1371 |
|
} catch (NullPointerException success) { |
1372 |
|
} finally { |
1373 |
+ |
latch.countDown(); |
1374 |
|
joinPool(e); |
1375 |
|
} |
1376 |
|
} |
1386 |
|
e.invokeAny(l, MEDIUM_DELAY_MS, MILLISECONDS); |
1387 |
|
shouldThrow(); |
1388 |
|
} catch (ExecutionException success) { |
1389 |
+ |
assertTrue(success.getCause() instanceof NullPointerException); |
1390 |
|
} finally { |
1391 |
|
joinPool(e); |
1392 |
|
} |