--- jsr166/src/test/tck/JSR166TestCase.java 2004/01/07 20:49:53 1.17 +++ jsr166/src/test/tck/JSR166TestCase.java 2005/01/20 00:39:13 1.24 @@ -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. @@ -94,8 +94,12 @@ public class JSR166TestCase extends Test if (args.length > 0) iters = Integer.parseInt(args[0]); Test s = suite(); - for (int i = 0; i < iters; ++i) + for (int i = 0; i < iters; ++i) { junit.textui.TestRunner.run (s); + System.gc(); + System.runFinalization(); + } + System.exit(0); } /** @@ -105,8 +109,10 @@ 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(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)); @@ -121,6 +127,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)); @@ -130,6 +140,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)); @@ -145,6 +156,8 @@ 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)); return suite; } @@ -161,7 +174,7 @@ public class JSR166TestCase extends Test * be reimplemented to use for example a Property. */ protected long getShortDelay() { - return 10; + return 50; } @@ -282,6 +295,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"); }