--- jsr166/src/test/tck/JSR166TestCase.java 2003/12/28 21:56:18 1.14 +++ jsr166/src/test/tck/JSR166TestCase.java 2004/01/20 20:20:56 1.22 @@ -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,6 +109,7 @@ 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(AtomicBooleanTest.class)); @@ -153,10 +163,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 +287,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"); }