--- jsr166/src/test/tck/JSR166TestCase.java 2003/10/05 23:00:40 1.6 +++ jsr166/src/test/tck/JSR166TestCase.java 2003/12/22 00:48:55 1.10 @@ -9,7 +9,7 @@ import junit.framework.*; import java.util.*; import java.util.concurrent.*; import java.io.*; - +import java.security.*; /** * Base class for JSR166 Junit TCK tests. Defines some constants, @@ -98,6 +98,7 @@ public class JSR166TestCase extends Test public static Test suite ( ) { TestSuite suite = new TestSuite("JSR166 Unit Tests"); + suite.addTest(new TestSuite(AbstractExecutorServiceTest.class)); suite.addTest(new TestSuite(ArrayBlockingQueueTest.class)); suite.addTest(new TestSuite(AtomicBooleanTest.class)); suite.addTest(new TestSuite(AtomicIntegerArrayTest.class)); @@ -111,7 +112,6 @@ public class JSR166TestCase extends Test suite.addTest(new TestSuite(AtomicReferenceFieldUpdaterTest.class)); suite.addTest(new TestSuite(AtomicReferenceTest.class)); suite.addTest(new TestSuite(AtomicStampedReferenceTest.class)); - suite.addTest(new TestSuite(CancellableTaskTest.class)); suite.addTest(new TestSuite(ConcurrentHashMapTest.class)); suite.addTest(new TestSuite(ConcurrentLinkedQueueTest.class)); suite.addTest(new TestSuite(CopyOnWriteArrayListTest.class)); @@ -121,7 +121,6 @@ public class JSR166TestCase extends Test suite.addTest(new TestSuite(DelayQueueTest.class)); suite.addTest(new TestSuite(ExchangerTest.class)); suite.addTest(new TestSuite(ExecutorsTest.class)); - suite.addTest(new TestSuite(FairSemaphoreTest.class)); suite.addTest(new TestSuite(FutureTaskTest.class)); suite.addTest(new TestSuite(LinkedBlockingQueueTest.class)); suite.addTest(new TestSuite(LinkedListTest.class)); @@ -321,6 +320,28 @@ public class JSR166TestCase extends Test static final Integer m10 = new Integer(-10); + /** + * A security policy where new permissions can be dynamically added + * or all cleared. + */ + static class AdjustablePolicy extends java.security.Policy { + Permissions perms = new Permissions(); + AdjustablePolicy() { } + void addPermission(Permission perm) { perms.add(perm); } + void clearPermissions() { perms = new Permissions(); } + public PermissionCollection getPermissions(CodeSource cs) { + return perms; + } + public PermissionCollection getPermissions(ProtectionDomain pd) { + return perms; + } + public boolean implies(ProtectionDomain pd, Permission p) { + return perms.implies(p); + } + public void refresh() {} + } + + // Some convenient Runnable classes static class NoOpRunnable implements Runnable { @@ -331,6 +352,20 @@ public class JSR166TestCase extends Test public Object call() { return Boolean.TRUE; } } + static final String TEST_STRING = "a test string"; + + static class StringTask implements Callable { + public String call() { return TEST_STRING; } + } + + static class NPETask implements Callable { + public String call() { throw new NullPointerException(); } + } + + static class CallableOne implements Callable { + public Integer call() { return one; } + } + class ShortRunnable implements Runnable { public void run() { try {