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

Comparing jsr166/src/test/tck/ArrayBlockingQueueTest.java (file contents):
Revision 1.84 by jsr166, Sat May 13 22:17:12 2017 UTC vs.
Revision 1.89 by jsr166, Sun May 14 04:02:06 2017 UTC

# Line 362 | Line 362 | public class ArrayBlockingQueueTest exte
362                  pleaseTake.countDown();
363                  q.put(86);
364  
365 +                Thread.currentThread().interrupt();
366 +                try {
367 +                    q.put(99);
368 +                    shouldThrow();
369 +                } catch (InterruptedException success) {}
370 +                assertFalse(Thread.interrupted());
371 +
372                  pleaseInterrupt.countDown();
373                  try {
374                      q.put(99);
# Line 399 | Line 406 | public class ArrayBlockingQueueTest exte
406                      q.offer(new Object(), 2 * LONG_DELAY_MS, MILLISECONDS);
407                      shouldThrow();
408                  } catch (InterruptedException success) {}
409 +                assertFalse(Thread.interrupted());
410              }});
411  
412          await(pleaseInterrupt);
# Line 493 | Line 501 | public class ArrayBlockingQueueTest exte
501       */
502      public void testInterruptedTimedPoll() throws InterruptedException {
503          final BlockingQueue<Integer> q = populatedQueue(SIZE);
504 <        final CountDownLatch aboutToWait = new CountDownLatch(1);
504 >        final CountDownLatch pleaseInterrupt = new CountDownLatch(1);
505          Thread t = newStartedThread(new CheckedRunnable() {
506              public void realRun() throws InterruptedException {
507                  long startTime = System.nanoTime();
508 <                for (int i = 0; i < SIZE; ++i) {
508 >                for (int i = 0; i < SIZE; i++)
509                      assertEquals(i, (int) q.poll(LONG_DELAY_MS, MILLISECONDS));
510 <                }
511 <                aboutToWait.countDown();
510 >
511 >                Thread.currentThread().interrupt();
512                  try {
513                      q.poll(LONG_DELAY_MS, MILLISECONDS);
514                      shouldThrow();
515 <                } catch (InterruptedException success) {
516 <                    assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS);
517 <                }
515 >                } catch (InterruptedException success) {}
516 >                assertFalse(Thread.interrupted());
517 >
518 >                pleaseInterrupt.countDown();
519 >                try {
520 >                    q.poll(LONG_DELAY_MS, MILLISECONDS);
521 >                    shouldThrow();
522 >                } catch (InterruptedException success) {}
523 >                assertFalse(Thread.interrupted());
524 >
525 >                assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS);
526              }});
527  
528 <        await(aboutToWait);
529 <        waitForThreadToEnterWaitState(t);
528 >        await(pleaseInterrupt);
529 >        assertThreadBlocks(t, Thread.State.TIMED_WAITING);
530          t.interrupt();
531          awaitTermination(t);
532          checkEmpty(q);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines