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

Comparing jsr166/src/test/tck/SemaphoreTest.java (file contents):
Revision 1.39 by jsr166, Sun May 14 03:31:53 2017 UTC vs.
Revision 1.44 by jsr166, Mon Aug 12 06:21:11 2019 UTC

# Line 13 | Line 13 | import java.util.concurrent.CountDownLat
13   import java.util.concurrent.Semaphore;
14   import java.util.concurrent.ThreadLocalRandom;
15  
16 import junit.framework.AssertionFailedError;
16   import junit.framework.Test;
17   import junit.framework.TestSuite;
18  
# Line 74 | Line 73 | public class SemaphoreTest extends JSR16
73          long startTime = System.nanoTime();
74          while (!s.hasQueuedThread(t)) {
75              if (millisElapsedSince(startTime) > LONG_DELAY_MS)
76 <                throw new AssertionFailedError("timed out");
76 >                throw new AssertionError("timed out");
77              Thread.yield();
78          }
79          assertTrue(s.hasQueuedThreads());
# Line 88 | Line 87 | public class SemaphoreTest extends JSR16
87          long startTime = System.nanoTime();
88          while (!s.hasQueuedThreads()) {
89              if (millisElapsedSince(startTime) > LONG_DELAY_MS)
90 <                throw new AssertionFailedError("timed out");
90 >                throw new AssertionError("timed out");
91              Thread.yield();
92          }
93      }
# Line 194 | Line 193 | public class SemaphoreTest extends JSR16
193      /**
194       * timed tryAcquire times out
195       */
196 <    public void testTryAcquire_timeout() {
197 <        final ThreadLocalRandom rnd = ThreadLocalRandom.current();
199 <        final boolean fair = rnd.nextBoolean();
196 >    public void testTryAcquire_timeout() throws InterruptedException {
197 >        final boolean fair = randomBoolean();
198          final Semaphore s = new Semaphore(0, fair);
199          final long startTime = System.nanoTime();
200 <        try { assertFalse(s.tryAcquire(timeoutMillis(), MILLISECONDS)); }
203 <        catch (InterruptedException e) { threadUnexpectedException(e); }
200 >        assertFalse(s.tryAcquire(timeoutMillis(), MILLISECONDS));
201          assertTrue(millisElapsedSince(startTime) >= timeoutMillis());
202      }
203  
204      /**
205       * timed tryAcquire(N) times out
206       */
207 <    public void testTryAcquireN_timeout() {
208 <        final ThreadLocalRandom rnd = ThreadLocalRandom.current();
212 <        final boolean fair = rnd.nextBoolean();
207 >    public void testTryAcquireN_timeout() throws InterruptedException {
208 >        final boolean fair = randomBoolean();
209          final Semaphore s = new Semaphore(2, fair);
210          final long startTime = System.nanoTime();
211 <        try { assertFalse(s.tryAcquire(3, timeoutMillis(), MILLISECONDS)); }
216 <        catch (InterruptedException e) { threadUnexpectedException(e); }
211 >        assertFalse(s.tryAcquire(3, timeoutMillis(), MILLISECONDS));
212          assertTrue(millisElapsedSince(startTime) >= timeoutMillis());
213      }
214  
# Line 273 | Line 268 | public class SemaphoreTest extends JSR16
268              assertThreadBlocks(t, acquirer.parkedState());
269              t.interrupt();
270          }
271 <        
271 >
272          awaitTermination(t);
273      }
274  
# Line 610 | Line 605 | public class SemaphoreTest extends JSR16
605          Thread t2 = newStartedThread(new CheckedRunnable() {
606              public void realRun() throws InterruptedException {
607                  // Will fail, even though 1 permit is available
608 <                assertFalse(s.tryAcquire(0L, MILLISECONDS));
609 <                assertFalse(s.tryAcquire(1, 0L, MILLISECONDS));
608 >                assertFalse(
609 >                    s.tryAcquire(randomExpiredTimeout(), randomTimeUnit()));
610 >                assertFalse(
611 >                    s.tryAcquire(1, randomExpiredTimeout(), randomTimeUnit()));
612  
613                  // untimed tryAcquire will barge and succeed
614                  assertTrue(s.tryAcquire());

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines