--- jsr166/src/test/tck/LinkedTransferQueueTest.java 2009/08/15 00:35:01 1.12 +++ jsr166/src/test/tck/LinkedTransferQueueTest.java 2009/11/21 19:11:53 1.16 @@ -13,7 +13,6 @@ import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.Arrays; -import java.util.ConcurrentModificationException; import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; @@ -355,7 +354,7 @@ public class LinkedTransferQueueTest ext */ public void testInterruptedTimedPoll() throws InterruptedException { final LinkedTransferQueue q = populatedQueue(SIZE); - Thread t = newStartedThread(new CheckedInterruptedRunnable() { + Thread t = newStartedThread(new CheckedRunnable() { void realRun() throws InterruptedException { for (int i = 0; i < SIZE; ++i) { long t0 = System.nanoTime(); @@ -364,7 +363,9 @@ public class LinkedTransferQueueTest ext long millisElapsed = (System.nanoTime() - t0)/(1024 * 1024); assertTrue(millisElapsed < SMALL_DELAY_MS); } - q.poll(LONG_DELAY_MS, MILLISECONDS); + try { + q.poll(LONG_DELAY_MS, MILLISECONDS); + } catch (InterruptedException success) {} }}); Thread.sleep(SMALL_DELAY_MS); t.interrupt(); @@ -545,7 +546,7 @@ public class LinkedTransferQueueTest ext } /** - * toArray contains all elements + * toArray() contains all elements */ public void testToArray() throws InterruptedException { LinkedTransferQueue q = populatedQueue(SIZE); @@ -580,7 +581,7 @@ public class LinkedTransferQueueTest ext } /** - * toArray with incompatible array type throws CCE + * toArray(incompatible array type) throws CCE */ public void testToArray1_BadArg() { try { @@ -692,7 +693,7 @@ public class LinkedTransferQueueTest ext } /** - * poll retrieves elements across Executor threads + * timed poll retrieves elements across Executor threads */ public void testPollInExecutor() { final LinkedTransferQueue q = new LinkedTransferQueue(); @@ -790,7 +791,7 @@ public class LinkedTransferQueueTest ext } /** - * drainTo empties full queue, unblocking a waiting put. + * drainTo(c) empties full queue, unblocking a waiting put. */ public void testDrainToWithActivePut() throws InterruptedException { final LinkedTransferQueue q = populatedQueue(SIZE); @@ -855,23 +856,27 @@ public class LinkedTransferQueueTest ext } /** - * poll and take decrement the waiting consumer count + * timed poll() or take() increments the waiting consumer count; + * offer(e) decrements the waiting consumer count */ public void testWaitingConsumer() throws InterruptedException { final LinkedTransferQueue q = new LinkedTransferQueue(); - final ConsumerObserver waiting = new ConsumerObserver(); + assertEquals(q.getWaitingConsumerCount(), 0); + assertFalse(q.hasWaitingConsumer()); Thread t = newStartedThread(new CheckedRunnable() { void realRun() throws InterruptedException { Thread.sleep(SMALL_DELAY_MS); threadAssertTrue(q.hasWaitingConsumer()); - waiting.setWaitingConsumer(q.getWaitingConsumerCount()); + threadAssertEquals(q.getWaitingConsumerCount(), 1); threadAssertTrue(q.offer(new Object())); + threadAssertFalse(q.hasWaitingConsumer()); + threadAssertEquals(q.getWaitingConsumerCount(), 0); }}); assertTrue(q.poll(LONG_DELAY_MS, MILLISECONDS) != null); - assertTrue(q.getWaitingConsumerCount() - < waiting.getWaitingConsumers()); + assertEquals(q.getWaitingConsumerCount(), 0); + assertFalse(q.hasWaitingConsumer()); t.join(); } @@ -883,8 +888,7 @@ public class LinkedTransferQueueTest ext LinkedTransferQueue q = new LinkedTransferQueue(); q.transfer(null); shouldThrow(); - } catch (NullPointerException ex) { - } + } catch (NullPointerException success) {} } /** @@ -991,8 +995,7 @@ public class LinkedTransferQueueTest ext final LinkedTransferQueue q = new LinkedTransferQueue(); q.tryTransfer(null); shouldThrow(); - } catch (NullPointerException ex) { - } + } catch (NullPointerException success) {} } /** @@ -1121,8 +1124,8 @@ public class LinkedTransferQueueTest ext assertFalse(q.tryTransfer(five, SHORT_DELAY_MS, MILLISECONDS)); assertEquals(1, q.size()); assertEquals(four, q.poll()); - checkEmpty(q); assertNull(q.poll()); + checkEmpty(q); } private LinkedTransferQueue populatedQueue(int n) { @@ -1136,20 +1139,4 @@ public class LinkedTransferQueueTest ext assertFalse(q.isEmpty()); return q; } - - private static class ConsumerObserver { - - private int waitingConsumers; - - private ConsumerObserver() { - } - - private void setWaitingConsumer(int i) { - this.waitingConsumers = i; - } - - private int getWaitingConsumers() { - return waitingConsumers; - } - } }