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

Comparing jsr166/src/test/tck/AbstractQueuedLongSynchronizerTest.java (file contents):
Revision 1.28 by jsr166, Tue Dec 2 07:23:13 2014 UTC vs.
Revision 1.35 by jsr166, Fri Jul 3 01:56:38 2015 UTC

# Line 6 | Line 6
6   * Pat Fisher, Mike Judd.
7   */
8  
9 import junit.framework.*;
10 import java.util.*;
9   import static java.util.concurrent.TimeUnit.MILLISECONDS;
10   import static java.util.concurrent.TimeUnit.NANOSECONDS;
11 +
12 + import java.util.Arrays;
13 + import java.util.Collection;
14 + import java.util.HashSet;
15   import java.util.concurrent.locks.AbstractQueuedLongSynchronizer;
16   import java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject;
17  
18 + import junit.framework.AssertionFailedError;
19 + import junit.framework.Test;
20 + import junit.framework.TestSuite;
21 +
22   public class AbstractQueuedLongSynchronizerTest extends JSR166TestCase {
23      public static void main(String[] args) {
24 <        junit.textui.TestRunner.run(suite());
24 >        main(suite(), args);
25      }
26      public static Test suite() {
27          return new TestSuite(AbstractQueuedLongSynchronizerTest.class);
# Line 88 | Line 94 | public class AbstractQueuedLongSynchroni
94          }
95  
96          public boolean tryReleaseShared(long ignore) {
97 <            setState(1 << 62);
97 >            setState(1L << 62);
98              return true;
99          }
100      }
# Line 196 | Line 202 | public class AbstractQueuedLongSynchroni
202                       new HashSet<Thread>(Arrays.asList(threads)));
203      }
204  
205 <    enum AwaitMethod { await, awaitTimed, awaitNanos, awaitUntil };
205 >    enum AwaitMethod { await, awaitTimed, awaitNanos, awaitUntil }
206  
207      /**
208       * Awaits condition using the specified AwaitMethod.
# Line 219 | Line 225 | public class AbstractQueuedLongSynchroni
225          case awaitUntil:
226              assertTrue(c.awaitUntil(delayedDate(timeoutMillis)));
227              break;
228 +        default:
229 +            throw new AssertionError();
230          }
231      }
232  
# Line 238 | Line 246 | public class AbstractQueuedLongSynchroni
246                  long nanosTimeout = MILLISECONDS.toNanos(timeoutMillis);
247                  long nanosRemaining = c.awaitNanos(nanosTimeout);
248                  assertTrue(nanosRemaining <= 0);
249 +                assertTrue(nanosRemaining > -MILLISECONDS.toNanos(LONG_DELAY_MS));
250                  break;
251              case awaitUntil:
252                  assertFalse(c.awaitUntil(delayedDate(timeoutMillis)));
# Line 1189 | Line 1198 | public class AbstractQueuedLongSynchroni
1198      public void testTryAcquireSharedNanos_Timeout() {
1199          final BooleanLatch l = new BooleanLatch();
1200          final BooleanLatch observedQueued = new BooleanLatch();
1192        final long timeoutMillis = timeoutMillis();
1201          Thread t = newStartedThread(new CheckedRunnable() {
1202              public void realRun() throws InterruptedException {
1203                  assertFalse(l.isSignalled());

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines