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

Comparing jsr166/src/test/tck/AtomicIntegerArrayTest.java (file contents):
Revision 1.28 by jsr166, Tue Sep 24 18:50:44 2013 UTC vs.
Revision 1.37 by jsr166, Thu Sep 15 01:18:01 2016 UTC

# Line 6 | Line 6
6   * Pat Fisher, Mike Judd.
7   */
8  
9 import junit.framework.*;
9   import java.util.Arrays;
10   import java.util.concurrent.atomic.AtomicIntegerArray;
11  
12 + import junit.framework.Test;
13 + import junit.framework.TestSuite;
14 +
15   public class AtomicIntegerArrayTest extends JSR166TestCase {
16  
17      public static void main(String[] args) {
18 <        junit.textui.TestRunner.run(suite());
18 >        main(suite(), args);
19      }
20      public static Test suite() {
21          return new TestSuite(AtomicIntegerArrayTest.class);
# Line 34 | Line 36 | public class AtomicIntegerArrayTest exte
36      public void testConstructor2NPE() {
37          try {
38              int[] a = null;
39 <            AtomicIntegerArray aa = new AtomicIntegerArray(a);
39 >            new AtomicIntegerArray(a);
40              shouldThrow();
41          } catch (NullPointerException success) {}
42      }
# Line 162 | Line 164 | public class AtomicIntegerArrayTest exte
164          AtomicIntegerArray aa = new AtomicIntegerArray(SIZE);
165          for (int i = 0; i < SIZE; i++) {
166              aa.set(i, 1);
167 <            while (!aa.weakCompareAndSet(i, 1, 2));
168 <            while (!aa.weakCompareAndSet(i, 2, -4));
167 >            do {} while (!aa.weakCompareAndSet(i, 1, 2));
168 >            do {} while (!aa.weakCompareAndSet(i, 2, -4));
169              assertEquals(-4, aa.get(i));
170 <            while (!aa.weakCompareAndSet(i, -4, 7));
170 >            do {} while (!aa.weakCompareAndSet(i, -4, 7));
171              assertEquals(7, aa.get(i));
172          }
173      }
# Line 274 | Line 276 | public class AtomicIntegerArrayTest exte
276  
277      class Counter extends CheckedRunnable {
278          final AtomicIntegerArray aa;
279 <        volatile int counts;
279 >        int decs;
280          Counter(AtomicIntegerArray a) { aa = a; }
281          public void realRun() {
282              for (;;) {
# Line 284 | Line 286 | public class AtomicIntegerArrayTest exte
286                      assertTrue(v >= 0);
287                      if (v != 0) {
288                          done = false;
289 <                        if (aa.compareAndSet(i, v, v-1))
290 <                            ++counts;
289 >                        if (aa.compareAndSet(i, v, v - 1))
290 >                            decs++;
291                      }
292                  }
293                  if (done)
# Line 305 | Line 307 | public class AtomicIntegerArrayTest exte
307              aa.set(i, countdown);
308          Counter c1 = new Counter(aa);
309          Counter c2 = new Counter(aa);
310 <        Thread t1 = new Thread(c1);
311 <        Thread t2 = new Thread(c2);
310 <        t1.start();
311 <        t2.start();
310 >        Thread t1 = newStartedThread(c1);
311 >        Thread t2 = newStartedThread(c2);
312          t1.join();
313          t2.join();
314 <        assertEquals(c1.counts+c2.counts, SIZE * countdown);
314 >        assertEquals(c1.decs + c2.decs, SIZE * countdown);
315      }
316  
317      /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines