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

Comparing jsr166/src/test/tck/DelayQueueTest.java (file contents):
Revision 1.73 by jsr166, Sat May 23 00:53:08 2015 UTC vs.
Revision 1.76 by jsr166, Tue Oct 6 00:03:55 2015 UTC

# Line 124 | Line 124 | public class DelayQueueTest extends JSR1
124      private DelayQueue<PDelay> populatedQueue(int n) {
125          DelayQueue<PDelay> q = new DelayQueue<PDelay>();
126          assertTrue(q.isEmpty());
127 <        for (int i = n-1; i >= 0; i -= 2)
127 >        for (int i = n - 1; i >= 0; i -= 2)
128              assertTrue(q.offer(new PDelay(i)));
129          for (int i = (n & 1); i < n; i += 2)
130              assertTrue(q.offer(new PDelay(i)));
# Line 412 | Line 412 | public class DelayQueueTest extends JSR1
412       */
413      public void testInterruptedTimedPoll() throws InterruptedException {
414          final CountDownLatch pleaseInterrupt = new CountDownLatch(1);
415 +        final DelayQueue q = populatedQueue(SIZE);
416          Thread t = newStartedThread(new CheckedRunnable() {
417              public void realRun() throws InterruptedException {
418 <                DelayQueue q = populatedQueue(SIZE);
418 >                long startTime = System.nanoTime();
419                  for (int i = 0; i < SIZE; ++i) {
420 <                    assertEquals(new PDelay(i), ((PDelay)q.poll(SHORT_DELAY_MS, MILLISECONDS)));
420 >                    assertEquals(new PDelay(i),
421 >                                 ((PDelay)q.poll(LONG_DELAY_MS, MILLISECONDS)));
422                  }
423  
424                  Thread.currentThread().interrupt();
# Line 432 | Line 434 | public class DelayQueueTest extends JSR1
434                      shouldThrow();
435                  } catch (InterruptedException success) {}
436                  assertFalse(Thread.interrupted());
437 +                assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS);
438              }});
439  
440          await(pleaseInterrupt);
441          assertThreadStaysAlive(t);
442          t.interrupt();
443          awaitTermination(t);
444 +        checkEmpty(q);
445      }
446  
447      /**
# Line 653 | Line 657 | public class DelayQueueTest extends JSR1
657      public void testPollInExecutor() {
658          final DelayQueue q = new DelayQueue();
659          final CheckedBarrier threadsStarted = new CheckedBarrier(2);
660 <        ExecutorService executor = Executors.newFixedThreadPool(2);
661 <        executor.execute(new CheckedRunnable() {
662 <            public void realRun() throws InterruptedException {
663 <                assertNull(q.poll());
664 <                threadsStarted.await();
665 <                assertNotNull(q.poll(LONG_DELAY_MS, MILLISECONDS));
666 <                checkEmpty(q);
667 <            }});
668 <
669 <        executor.execute(new CheckedRunnable() {
670 <            public void realRun() throws InterruptedException {
671 <                threadsStarted.await();
672 <                q.put(new PDelay(1));
673 <            }});
674 <
675 <        joinPool(executor);
660 >        final ExecutorService executor = Executors.newFixedThreadPool(2);
661 >        try (PoolCleaner cleaner = cleaner(executor)) {
662 >            executor.execute(new CheckedRunnable() {
663 >                public void realRun() throws InterruptedException {
664 >                    assertNull(q.poll());
665 >                    threadsStarted.await();
666 >                    assertNotNull(q.poll(LONG_DELAY_MS, MILLISECONDS));
667 >                    checkEmpty(q);
668 >                }});
669 >
670 >            executor.execute(new CheckedRunnable() {
671 >                public void realRun() throws InterruptedException {
672 >                    threadsStarted.await();
673 >                    q.put(new PDelay(1));
674 >                }});
675 >        }
676      }
677  
678      /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines