ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ThreadPoolExecutorSubclassTest.java
(Generate patch)

Comparing jsr166/src/test/tck/ThreadPoolExecutorSubclassTest.java (file contents):
Revision 1.75 by jsr166, Sun Oct 4 03:27:46 2015 UTC vs.
Revision 1.76 by jsr166, Sun Oct 4 03:49:33 2015 UTC

# Line 1206 | Line 1206 | public class ThreadPoolExecutorSubclassT
1206       * executor using DiscardOldestPolicy drops oldest task if saturated.
1207       */
1208      public void testSaturatedExecute4() {
1209 <        RejectedExecutionHandler h = new CustomTPE.DiscardOldestPolicy();
1210 <        ThreadPoolExecutor p = new CustomTPE(1,1, LONG_DELAY_MS, MILLISECONDS, new ArrayBlockingQueue<Runnable>(1), h);
1211 <        try {
1212 <            p.execute(new TrackedLongRunnable());
1213 <            TrackedLongRunnable r2 = new TrackedLongRunnable();
1209 >        final CountDownLatch done = new CountDownLatch(1);
1210 >        LatchAwaiter r1 = awaiter(done);
1211 >        LatchAwaiter r2 = awaiter(done);
1212 >        LatchAwaiter r3 = awaiter(done);
1213 >        final ThreadPoolExecutor p =
1214 >            new CustomTPE(1, 1,
1215 >                          LONG_DELAY_MS, MILLISECONDS,
1216 >                          new ArrayBlockingQueue<Runnable>(1),
1217 >                          new CustomTPE.DiscardOldestPolicy());
1218 >        try (PoolCleaner cleaner = cleaner(p)) {
1219 >            assertEquals(LatchAwaiter.NEW, r1.state);
1220 >            assertEquals(LatchAwaiter.NEW, r2.state);
1221 >            assertEquals(LatchAwaiter.NEW, r3.state);
1222 >            p.execute(r1);
1223              p.execute(r2);
1224              assertTrue(p.getQueue().contains(r2));
1216            TrackedNoOpRunnable r3 = new TrackedNoOpRunnable();
1225              p.execute(r3);
1226              assertFalse(p.getQueue().contains(r2));
1227              assertTrue(p.getQueue().contains(r3));
1228 <            try { p.shutdownNow(); } catch (SecurityException ok) { return; }
1221 <        } finally {
1222 <            joinPool(p);
1228 >            done.countDown();
1229          }
1230 +        assertEquals(LatchAwaiter.DONE, r1.state);
1231 +        assertEquals(LatchAwaiter.NEW, r2.state);
1232 +        assertEquals(LatchAwaiter.DONE, r3.state);
1233      }
1234  
1235      /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines