diff options
author | Hiroshi Yamauchi <yamauchi@google.com> | 2016-01-05 17:53:01 -0800 |
---|---|---|
committer | Hiroshi Yamauchi <yamauchi@google.com> | 2016-01-05 18:07:11 -0800 |
commit | 12b0b5bff9ecb10177ba7fa5e31248f986ad9a42 (patch) | |
tree | 39253aa976b7804439ed553efa4d5788ffea5dcf /jsr166-tests | |
parent | 6573c148504641e5de93278470e2d5bd53bdd02c (diff) |
Temporarily wait without timeouts in two jsr166 tests for debugging.
To help figure out whether a locally non-reproducible but
buildbot-reproducible test failure is a timeout issue or something else,
change the wait code to wait without timeouts in testWaitingConsumer and
testTransfer2.
This is a temporary change for a debugging purpose and to be reverted.
This shouldn't affect the effectiveness of the tests because the test
code assumes timeouts mean test failures.
Bug: 25883050
Bug: 12687968
Change-Id: Iffd0377de5a416a308233e8b3cc345a83bdc406a
Diffstat (limited to 'jsr166-tests')
-rw-r--r-- | jsr166-tests/src/test/java/jsr166/JSR166TestCase.java | 13 | ||||
-rw-r--r-- | jsr166-tests/src/test/java/jsr166/LinkedTransferQueueTest.java | 6 |
2 files changed, 17 insertions, 2 deletions
diff --git a/jsr166-tests/src/test/java/jsr166/JSR166TestCase.java b/jsr166-tests/src/test/java/jsr166/JSR166TestCase.java index 61fa66dc6f..46be906c0c 100644 --- a/jsr166-tests/src/test/java/jsr166/JSR166TestCase.java +++ b/jsr166-tests/src/test/java/jsr166/JSR166TestCase.java @@ -648,6 +648,19 @@ public class JSR166TestCase extends TestCase { waitForThreadToEnterWaitState(thread, LONG_DELAY_MS); } + void waitForThreadToEnterWaitStateNoTimeout(Thread thread) { + for (;;) { + Thread.State s = thread.getState(); + if (s == Thread.State.BLOCKED || + s == Thread.State.WAITING || + s == Thread.State.TIMED_WAITING) + return; + else if (s == Thread.State.TERMINATED) + fail("Unexpected thread termination"); + Thread.yield(); + } + } + /** * Returns the number of milliseconds since time given by * startNanoTime, which must have been previously returned from a diff --git a/jsr166-tests/src/test/java/jsr166/LinkedTransferQueueTest.java b/jsr166-tests/src/test/java/jsr166/LinkedTransferQueueTest.java index f5893eca94..8d3f276e01 100644 --- a/jsr166-tests/src/test/java/jsr166/LinkedTransferQueueTest.java +++ b/jsr166-tests/src/test/java/jsr166/LinkedTransferQueueTest.java @@ -742,7 +742,8 @@ public class LinkedTransferQueueTest extends BlockingQueueTest { }}); threadStarted.await(); - waitForThreadToEnterWaitState(t, SMALL_DELAY_MS); + // waitForThreadToEnterWaitState(t, SMALL_DELAY_MS); + waitForThreadToEnterWaitStateNoTimeout(t); assertEquals(1, q.getWaitingConsumerCount()); assertTrue(q.hasWaitingConsumer()); @@ -781,7 +782,8 @@ public class LinkedTransferQueueTest extends BlockingQueueTest { }}); threadStarted.await(); - waitForThreadToEnterWaitState(t, SMALL_DELAY_MS); + // waitForThreadToEnterWaitState(t, SMALL_DELAY_MS); + waitForThreadToEnterWaitStateNoTimeout(t); assertEquals(1, q.size()); assertSame(five, q.poll()); checkEmpty(q); |