[cvs] / jsr166 / src / test / tck / AbstractQueuedLongSynchronizerTest.java Repository:
ViewVC logotype

Diff of /jsr166/src/test/tck/AbstractQueuedLongSynchronizerTest.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.35, Fri Jul 3 01:56:38 2015 UTC revision 1.36, Fri Jul 3 05:48:30 2015 UTC
# Line 236  Line 236 
236       */       */
237      void assertAwaitTimesOut(ConditionObject c, AwaitMethod awaitMethod) {      void assertAwaitTimesOut(ConditionObject c, AwaitMethod awaitMethod) {
238          long timeoutMillis = timeoutMillis();          long timeoutMillis = timeoutMillis();
239          long startTime = System.nanoTime();          long startTime;
240          try {          try {
241              switch (awaitMethod) {              switch (awaitMethod) {
242              case awaitTimed:              case awaitTimed:
243                    startTime = System.nanoTime();
244                  assertFalse(c.await(timeoutMillis, MILLISECONDS));                  assertFalse(c.await(timeoutMillis, MILLISECONDS));
245                    assertTrue(millisElapsedSince(startTime) >= timeoutMillis);
246                  break;                  break;
247              case awaitNanos:              case awaitNanos:
248                    startTime = System.nanoTime();
249                  long nanosTimeout = MILLISECONDS.toNanos(timeoutMillis);                  long nanosTimeout = MILLISECONDS.toNanos(timeoutMillis);
250                  long nanosRemaining = c.awaitNanos(nanosTimeout);                  long nanosRemaining = c.awaitNanos(nanosTimeout);
251                  assertTrue(nanosRemaining <= 0);                  assertTrue(nanosRemaining <= 0);
252                  assertTrue(nanosRemaining > -MILLISECONDS.toNanos(LONG_DELAY_MS));                  assertTrue(nanosRemaining > -MILLISECONDS.toNanos(LONG_DELAY_MS));
253                    assertTrue(millisElapsedSince(startTime) >= timeoutMillis);
254                  break;                  break;
255              case awaitUntil:              case awaitUntil:
256                    // We shouldn't assume that nanoTime and currentTimeMillis
257                    // use the same time source, so don't use nanoTime here.
258                    java.util.Date delayedDate = delayedDate(timeoutMillis());
259                  assertFalse(c.awaitUntil(delayedDate(timeoutMillis)));                  assertFalse(c.awaitUntil(delayedDate(timeoutMillis)));
260                    assertTrue(new java.util.Date().getTime() >= delayedDate.getTime());
261                  break;                  break;
262              default:              default:
263                  throw new UnsupportedOperationException();                  throw new UnsupportedOperationException();
264              }              }
265          } catch (InterruptedException ie) { threadUnexpectedException(ie); }          } catch (InterruptedException ie) { threadUnexpectedException(ie); }
         assertTrue(millisElapsedSince(startTime) >= timeoutMillis);  
266      }      }
267    
268      /**      /**

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.36

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8