ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/JSR166TestCase.java
(Generate patch)

Comparing jsr166/src/test/tck/JSR166TestCase.java (file contents):
Revision 1.224 by jsr166, Sat May 13 21:43:50 2017 UTC vs.
Revision 1.229 by jsr166, Sun May 14 03:15:37 2017 UTC

# Line 1066 | Line 1066 | public class JSR166TestCase extends Test
1066       * Checks that thread eventually enters the expected blocked thread state.
1067       */
1068      void assertThreadBlocks(Thread thread, Thread.State expected) {
1069 <        // always sleep at least 1 ms, avoiding transitional states
1070 <        // with high probability
1071 <        for (long retries = LONG_DELAY_MS; retries-->0; ) {
1069 >        // always sleep at least 1 ms, with high probability avoiding
1070 >        // transitory states
1071 >        for (long retries = LONG_DELAY_MS * 3 / 4; retries-->0; ) {
1072              try { delay(1); }
1073              catch (InterruptedException fail) {
1074                  fail("Unexpected InterruptedException");
# Line 1083 | Line 1083 | public class JSR166TestCase extends Test
1083      }
1084  
1085      /**
1086     * Checks that thread does not terminate within the default
1087     * millisecond delay of {@code timeoutMillis()}.
1088     */
1089    void assertThreadStaysAlive(Thread thread) {
1090        assertThreadStaysAlive(thread, timeoutMillis());
1091    }
1092
1093    /**
1094     * Checks that thread does not terminate within the given millisecond delay.
1095     */
1096    void assertThreadStaysAlive(Thread thread, long millis) {
1097        try {
1098            // No need to optimize the failing case via Thread.join.
1099            delay(millis);
1100            assertTrue(thread.isAlive());
1101        } catch (InterruptedException fail) {
1102            threadFail("Unexpected InterruptedException");
1103        }
1104    }
1105
1106    /**
1107     * Checks that the threads do not terminate within the default
1108     * millisecond delay of {@code timeoutMillis()}.
1109     */
1110    void assertThreadsStayAlive(Thread... threads) {
1111        assertThreadsStayAlive(timeoutMillis(), threads);
1112    }
1113
1114    /**
1115     * Checks that the threads do not terminate within the given millisecond delay.
1116     */
1117    void assertThreadsStayAlive(long millis, Thread... threads) {
1118        try {
1119            // No need to optimize the failing case via Thread.join.
1120            delay(millis);
1121            for (Thread thread : threads)
1122                assertTrue(thread.isAlive());
1123        } catch (InterruptedException fail) {
1124            threadFail("Unexpected InterruptedException");
1125        }
1126    }
1127
1128    /**
1086       * Checks that future.get times out, with the default timeout of
1087       * {@code timeoutMillis()}.
1088       */
# Line 1635 | Line 1592 | public class JSR166TestCase extends Test
1592          } catch (Throwable fail) {
1593              threadUnexpectedException(fail);
1594          }
1595 +    }
1596 +
1597 +    public void await(CyclicBarrier barrier) {
1598 +        try {
1599 +            barrier.await(LONG_DELAY_MS, MILLISECONDS);
1600 +        } catch (Throwable fail) {
1601 +            threadUnexpectedException(fail);
1602 +        }
1603      }
1604  
1605   //     /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines