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

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

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

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

Legend:
Removed from v.1.51  
changed lines
  Added in v.1.52

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8