--- jsr166/src/test/tck/ReentrantLockTest.java 2015/02/27 21:43:18 1.57 +++ jsr166/src/test/tck/ReentrantLockTest.java 2015/07/03 01:25:15 1.62 @@ -22,7 +22,7 @@ import junit.framework.TestSuite; public class ReentrantLockTest extends JSR166TestCase { public static void main(String[] args) { - junit.textui.TestRunner.run(suite()); + main(suite(), args); } public static Test suite() { return new TestSuite(ReentrantLockTest.class); @@ -146,7 +146,7 @@ public class ReentrantLockTest extends J enum AwaitMethod { await, awaitTimed, awaitNanos, awaitUntil } /** - * Awaits condition using the specified AwaitMethod. + * Awaits condition "indefinitely" using the specified AwaitMethod. */ void await(Condition c, AwaitMethod awaitMethod) throws InterruptedException { @@ -159,9 +159,10 @@ public class ReentrantLockTest extends J assertTrue(c.await(timeoutMillis, MILLISECONDS)); break; case awaitNanos: - long nanosTimeout = MILLISECONDS.toNanos(timeoutMillis); - long nanosRemaining = c.awaitNanos(nanosTimeout); - assertTrue(nanosRemaining > 0); + long timeoutNanos = MILLISECONDS.toNanos(timeoutMillis); + long nanosRemaining = c.awaitNanos(timeoutNanos); + assertTrue(nanosRemaining > timeoutNanos / 2); + assertTrue(nanosRemaining <= timeoutNanos); break; case awaitUntil: assertTrue(c.awaitUntil(delayedDate(timeoutMillis))); @@ -424,7 +425,7 @@ public class ReentrantLockTest extends J } for (int i = SIZE; i > 0; i--) { lock.unlock(); - assertEquals(i-1, lock.getHoldCount()); + assertEquals(i - 1, lock.getHoldCount()); } } @@ -565,10 +566,8 @@ public class ReentrantLockTest extends J final Condition c = lock.newCondition(); lock.lock(); long startTime = System.nanoTime(); - long timeoutMillis = 10; - java.util.Date d = new java.util.Date(); - assertFalse(c.awaitUntil(new java.util.Date(d.getTime() + timeoutMillis))); - assertTrue(millisElapsedSince(startTime) >= timeoutMillis); + assertFalse(c.awaitUntil(delayedDate(timeoutMillis()))); + assertTrue(millisElapsedSince(startTime) >= timeoutMillis()); lock.unlock(); } catch (InterruptedException fail) { threadUnexpectedException(fail); } }