diff options
Diffstat (limited to 'jsr166-tests/src/test/java/jsr166/AtomicIntegerArrayTest.java')
-rw-r--r-- | jsr166-tests/src/test/java/jsr166/AtomicIntegerArrayTest.java | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/jsr166-tests/src/test/java/jsr166/AtomicIntegerArrayTest.java b/jsr166-tests/src/test/java/jsr166/AtomicIntegerArrayTest.java index e81a107..670b9ce 100644 --- a/jsr166-tests/src/test/java/jsr166/AtomicIntegerArrayTest.java +++ b/jsr166-tests/src/test/java/jsr166/AtomicIntegerArrayTest.java @@ -8,11 +8,22 @@ package jsr166; -import junit.framework.*; import java.util.Arrays; import java.util.concurrent.atomic.AtomicIntegerArray; +import junit.framework.Test; +import junit.framework.TestSuite; + public class AtomicIntegerArrayTest extends JSR166TestCase { + // android-note: Removed because the CTS runner does a bad job of + // retrying tests that have suite() declarations. + // + // public static void main(String[] args) { + // main(suite(), args); + // } + // public static Test suite() { + // return new TestSuite(...); + // } /** * constructor creates array of given size with all elements zero @@ -29,7 +40,7 @@ public class AtomicIntegerArrayTest extends JSR166TestCase { public void testConstructor2NPE() { try { int[] a = null; - AtomicIntegerArray aa = new AtomicIntegerArray(a); + new AtomicIntegerArray(a); shouldThrow(); } catch (NullPointerException success) {} } @@ -157,10 +168,10 @@ public class AtomicIntegerArrayTest extends JSR166TestCase { AtomicIntegerArray aa = new AtomicIntegerArray(SIZE); for (int i = 0; i < SIZE; i++) { aa.set(i, 1); - while (!aa.weakCompareAndSet(i, 1, 2)); - while (!aa.weakCompareAndSet(i, 2, -4)); + do {} while (!aa.weakCompareAndSet(i, 1, 2)); + do {} while (!aa.weakCompareAndSet(i, 2, -4)); assertEquals(-4, aa.get(i)); - while (!aa.weakCompareAndSet(i, -4, 7)); + do {} while (!aa.weakCompareAndSet(i, -4, 7)); assertEquals(7, aa.get(i)); } } @@ -267,8 +278,6 @@ public class AtomicIntegerArrayTest extends JSR166TestCase { } } - static final int COUNTDOWN = 100000; - class Counter extends CheckedRunnable { final AtomicIntegerArray aa; volatile int counts; @@ -297,8 +306,9 @@ public class AtomicIntegerArrayTest extends JSR166TestCase { */ public void testCountingInMultipleThreads() throws InterruptedException { final AtomicIntegerArray aa = new AtomicIntegerArray(SIZE); + int countdown = 10000; for (int i = 0; i < SIZE; i++) - aa.set(i, COUNTDOWN); + aa.set(i, countdown); Counter c1 = new Counter(aa); Counter c2 = new Counter(aa); Thread t1 = new Thread(c1); @@ -307,7 +317,7 @@ public class AtomicIntegerArrayTest extends JSR166TestCase { t2.start(); t1.join(); t2.join(); - assertEquals(c1.counts+c2.counts, SIZE * COUNTDOWN); + assertEquals(c1.counts+c2.counts, SIZE * countdown); } /** |