--- jsr166/src/test/tck/JSR166TestCase.java 2003/12/28 21:56:18 1.14 +++ jsr166/src/test/tck/JSR166TestCase.java 2005/03/31 15:24:29 1.26 @@ -23,14 +23,14 @@ import java.security.*; *
    * *
  1. All assertions in code running in generated threads must use - * the forms {@link threadFail} , {@link threadAssertTrue} {@link - * threadAssertEquals}, or {@link threadAssertNull}, (not + * the forms {@link #threadFail} , {@link #threadAssertTrue} {@link + * #threadAssertEquals}, or {@link #threadAssertNull}, (not * fail, assertTrue, etc.) It is OK (but not * particularly recommended) for other code to use these forms too. * Only the most typically used JUnit assertion methods are defined * this way, but enough to live with.
  2. * - *
  3. If you override {@link setUp} or {@link tearDown}, make sure + *
  4. If you override {@link #setUp} or {@link #tearDown}, make sure * to invoke super.setUp and super.tearDown within * them. These methods are used to clear and check for thread * assertion failures.
  5. @@ -90,7 +90,16 @@ public class JSR166TestCase extends Test * Runs all JSR166 unit tests using junit.textui.TestRunner */ public static void main (String[] args) { - junit.textui.TestRunner.run (suite()); + int iters = 1; + if (args.length > 0) + iters = Integer.parseInt(args[0]); + Test s = suite(); + for (int i = 0; i < iters; ++i) { + junit.textui.TestRunner.run (s); + System.gc(); + System.runFinalization(); + } + System.exit(0); } /** @@ -100,8 +109,11 @@ public class JSR166TestCase extends Test TestSuite suite = new TestSuite("JSR166 Unit Tests"); suite.addTest(new TestSuite(AbstractExecutorServiceTest.class)); + suite.addTest(new TestSuite(AbstractQueueTest.class)); suite.addTest(new TestSuite(AbstractQueuedSynchronizerTest.class)); + suite.addTest(new TestSuite(AbstractQueuedLongSynchronizerTest.class)); suite.addTest(new TestSuite(ArrayBlockingQueueTest.class)); + suite.addTest(new TestSuite(ArrayDequeTest.class)); suite.addTest(new TestSuite(AtomicBooleanTest.class)); suite.addTest(new TestSuite(AtomicIntegerArrayTest.class)); suite.addTest(new TestSuite(AtomicIntegerFieldUpdaterTest.class)); @@ -116,6 +128,10 @@ public class JSR166TestCase extends Test suite.addTest(new TestSuite(AtomicStampedReferenceTest.class)); suite.addTest(new TestSuite(ConcurrentHashMapTest.class)); suite.addTest(new TestSuite(ConcurrentLinkedQueueTest.class)); + suite.addTest(new TestSuite(ConcurrentSkipListMapTest.class)); + suite.addTest(new TestSuite(ConcurrentSkipListSubMapTest.class)); + suite.addTest(new TestSuite(ConcurrentSkipListSetTest.class)); + suite.addTest(new TestSuite(ConcurrentSkipListSubSetTest.class)); suite.addTest(new TestSuite(CopyOnWriteArrayListTest.class)); suite.addTest(new TestSuite(CopyOnWriteArraySetTest.class)); suite.addTest(new TestSuite(CountDownLatchTest.class)); @@ -125,6 +141,7 @@ public class JSR166TestCase extends Test suite.addTest(new TestSuite(ExecutorsTest.class)); suite.addTest(new TestSuite(ExecutorCompletionServiceTest.class)); suite.addTest(new TestSuite(FutureTaskTest.class)); + suite.addTest(new TestSuite(LinkedBlockingDequeTest.class)); suite.addTest(new TestSuite(LinkedBlockingQueueTest.class)); suite.addTest(new TestSuite(LinkedListTest.class)); suite.addTest(new TestSuite(LockSupportTest.class)); @@ -140,6 +157,10 @@ public class JSR166TestCase extends Test suite.addTest(new TestSuite(ThreadPoolExecutorTest.class)); suite.addTest(new TestSuite(ThreadTest.class)); suite.addTest(new TestSuite(TimeUnitTest.class)); + suite.addTest(new TestSuite(TreeMapTest.class)); + suite.addTest(new TestSuite(TreeSetTest.class)); + suite.addTest(new TestSuite(TreeSubMapTest.class)); + suite.addTest(new TestSuite(TreeSubSetTest.class)); return suite; } @@ -153,10 +174,10 @@ public class JSR166TestCase extends Test /** * Return the shortest timed delay. This could - * be reimplmented to use for example a Property. + * be reimplemented to use for example a Property. */ protected long getShortDelay() { - return 100; + return 50; } @@ -277,6 +298,8 @@ public class JSR166TestCase extends Test try { exec.shutdown(); assertTrue(exec.awaitTermination(LONG_DELAY_MS, TimeUnit.MILLISECONDS)); + } catch(SecurityException ok) { + // Allowed in case test doesn't have privs } catch(InterruptedException ie) { fail("Unexpected exception"); }