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.80 by jsr166, Sun Nov 6 04:16:52 2016 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 425 | Line 433 | public class ArrayBlockingQueueTest exte
433          final CountDownLatch pleaseInterrupt = new CountDownLatch(1);
434          Thread t = newStartedThread(new CheckedRunnable() {
435              public void realRun() throws InterruptedException {
436 <                for (int i = 0; i < SIZE; ++i) {
429 <                    assertEquals(i, q.take());
430 <                }
436 >                for (int i = 0; i < SIZE; i++) assertEquals(i, q.take());
437  
438                  Thread.currentThread().interrupt();
439                  try {
# Line 445 | Line 451 | public class ArrayBlockingQueueTest exte
451              }});
452  
453          await(pleaseInterrupt);
454 <        assertThreadStaysAlive(t);
454 >        assertThreadBlocks(t, Thread.State.WAITING);
455          t.interrupt();
456          awaitTermination(t);
457      }
# Line 495 | 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);
# Line 579 | Line 593 | public class ArrayBlockingQueueTest exte
593       * clear removes all elements
594       */
595      public void testClear() {
596 <        ArrayBlockingQueue q = populatedQueue(SIZE);
596 >        int size = ThreadLocalRandom.current().nextInt(1, 5);
597 >        ArrayBlockingQueue q = populatedQueue(size, size, 2 * size, false);
598 >        int capacity = size + q.remainingCapacity();
599          q.clear();
600          assertTrue(q.isEmpty());
601          assertEquals(0, q.size());
602 <        assertEquals(SIZE, q.remainingCapacity());
602 >        assertEquals(capacity, q.remainingCapacity());
603          q.add(one);
604          assertFalse(q.isEmpty());
605          assertTrue(q.contains(one));

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines