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.82 by jsr166, Sat May 13 21:43:50 2017 UTC vs.
Revision 1.89 by jsr166, Sun May 14 04:02:06 2017 UTC

# Line 340 | Line 340 | public class ArrayBlockingQueueTest exte
340              }});
341  
342          await(pleaseInterrupt);
343 <        assertThreadStaysAlive(t);
343 >        assertThreadBlocks(t, Thread.State.WAITING);
344          t.interrupt();
345          awaitTermination(t);
346          assertEquals(SIZE, q.size());
# 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 375 | Line 382 | public class ArrayBlockingQueueTest exte
382          assertEquals(0, q.take());
383  
384          await(pleaseInterrupt);
385 <        assertThreadStaysAlive(t);
385 >        assertThreadBlocks(t, Thread.State.WAITING);
386          t.interrupt();
387          awaitTermination(t);
388          assertEquals(0, q.remainingCapacity());
# 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);
413 <        assertThreadStaysAlive(t);
413 >        assertThreadBlocks(t, Thread.State.TIMED_WAITING);
414          t.interrupt();
415          awaitTermination(t);
416      }
# 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 >                assertFalse(Thread.interrupted());
517 >
518 >                pleaseInterrupt.countDown();
519                  try {
520                      q.poll(LONG_DELAY_MS, MILLISECONDS);
521                      shouldThrow();
522 <                } catch (InterruptedException success) {
523 <                    assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS);
524 <                }
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