ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/JSR166TestCase.java
(Generate patch)

Comparing jsr166/src/test/tck/JSR166TestCase.java (file contents):
Revision 1.59 by jsr166, Wed Oct 6 02:58:04 2010 UTC vs.
Revision 1.60 by jsr166, Wed Oct 6 07:49:22 2010 UTC

# Line 116 | Line 116 | public class JSR166TestCase extends Test
116          System.exit(0);
117      }
118  
119 +    public static TestSuite newTestSuite(Object... suiteOrClasses) {
120 +        TestSuite suite = new TestSuite();
121 +        for (Object suiteOrClass : suiteOrClasses) {
122 +            if (suiteOrClass instanceof TestSuite)
123 +                suite.addTest((TestSuite) suiteOrClass);
124 +            else if (suiteOrClass instanceof Class)
125 +                suite.addTest(new TestSuite((Class<?>) suiteOrClass));
126 +            else
127 +                throw new ClassCastException("not a test suite or class");
128 +        }
129 +        return suite;
130 +    }
131 +
132      /**
133 <     * Collects all JSR166 unit tests as one suite
133 >     * Collects all JSR166 unit tests as one suite.
134       */
135      public static Test suite() {
136 <        TestSuite suite = new TestSuite("JSR166 Unit Tests");
137 <
138 <        suite.addTest(ForkJoinPoolTest.suite());
139 <        suite.addTest(ForkJoinTaskTest.suite());
140 <        suite.addTest(RecursiveActionTest.suite());
141 <        suite.addTest(RecursiveTaskTest.suite());
142 <        suite.addTest(LinkedTransferQueueTest.suite());
143 <        suite.addTest(PhaserTest.suite());
144 <        suite.addTest(ThreadLocalRandomTest.suite());
145 <        suite.addTest(AbstractExecutorServiceTest.suite());
146 <        suite.addTest(AbstractQueueTest.suite());
147 <        suite.addTest(AbstractQueuedSynchronizerTest.suite());
148 <        suite.addTest(AbstractQueuedLongSynchronizerTest.suite());
149 <        suite.addTest(ArrayBlockingQueueTest.suite());
150 <        suite.addTest(ArrayDequeTest.suite());
151 <        suite.addTest(AtomicBooleanTest.suite());
152 <        suite.addTest(AtomicIntegerArrayTest.suite());
153 <        suite.addTest(AtomicIntegerFieldUpdaterTest.suite());
154 <        suite.addTest(AtomicIntegerTest.suite());
155 <        suite.addTest(AtomicLongArrayTest.suite());
156 <        suite.addTest(AtomicLongFieldUpdaterTest.suite());
157 <        suite.addTest(AtomicLongTest.suite());
158 <        suite.addTest(AtomicMarkableReferenceTest.suite());
159 <        suite.addTest(AtomicReferenceArrayTest.suite());
160 <        suite.addTest(AtomicReferenceFieldUpdaterTest.suite());
161 <        suite.addTest(AtomicReferenceTest.suite());
162 <        suite.addTest(AtomicStampedReferenceTest.suite());
163 <        suite.addTest(ConcurrentHashMapTest.suite());
164 <        suite.addTest(ConcurrentLinkedDequeTest.suite());
165 <        suite.addTest(ConcurrentLinkedQueueTest.suite());
166 <        suite.addTest(ConcurrentSkipListMapTest.suite());
167 <        suite.addTest(ConcurrentSkipListSubMapTest.suite());
168 <        suite.addTest(ConcurrentSkipListSetTest.suite());
169 <        suite.addTest(ConcurrentSkipListSubSetTest.suite());
170 <        suite.addTest(CopyOnWriteArrayListTest.suite());
171 <        suite.addTest(CopyOnWriteArraySetTest.suite());
172 <        suite.addTest(CountDownLatchTest.suite());
173 <        suite.addTest(CyclicBarrierTest.suite());
174 <        suite.addTest(DelayQueueTest.suite());
175 <        suite.addTest(EntryTest.suite());
176 <        suite.addTest(ExchangerTest.suite());
177 <        suite.addTest(ExecutorsTest.suite());
178 <        suite.addTest(ExecutorCompletionServiceTest.suite());
179 <        suite.addTest(FutureTaskTest.suite());
180 <        suite.addTest(LinkedBlockingDequeTest.suite());
181 <        suite.addTest(LinkedBlockingQueueTest.suite());
182 <        suite.addTest(LinkedListTest.suite());
183 <        suite.addTest(LockSupportTest.suite());
184 <        suite.addTest(PriorityBlockingQueueTest.suite());
185 <        suite.addTest(PriorityQueueTest.suite());
186 <        suite.addTest(ReentrantLockTest.suite());
187 <        suite.addTest(ReentrantReadWriteLockTest.suite());
188 <        suite.addTest(ScheduledExecutorTest.suite());
189 <        suite.addTest(ScheduledExecutorSubclassTest.suite());
190 <        suite.addTest(SemaphoreTest.suite());
191 <        suite.addTest(SynchronousQueueTest.suite());
192 <        suite.addTest(SystemTest.suite());
193 <        suite.addTest(ThreadLocalTest.suite());
194 <        suite.addTest(ThreadPoolExecutorTest.suite());
195 <        suite.addTest(ThreadPoolExecutorSubclassTest.suite());
196 <        suite.addTest(ThreadTest.suite());
197 <        suite.addTest(TimeUnitTest.suite());
198 <        suite.addTest(TreeMapTest.suite());
199 <        suite.addTest(TreeSetTest.suite());
200 <        suite.addTest(TreeSubMapTest.suite());
188 <        suite.addTest(TreeSubSetTest.suite());
189 <
190 <        return suite;
136 >        return newTestSuite(
137 >            ForkJoinPoolTest.suite(),
138 >            ForkJoinTaskTest.suite(),
139 >            RecursiveActionTest.suite(),
140 >            RecursiveTaskTest.suite(),
141 >            LinkedTransferQueueTest.suite(),
142 >            PhaserTest.suite(),
143 >            ThreadLocalRandomTest.suite(),
144 >            AbstractExecutorServiceTest.suite(),
145 >            AbstractQueueTest.suite(),
146 >            AbstractQueuedSynchronizerTest.suite(),
147 >            AbstractQueuedLongSynchronizerTest.suite(),
148 >            ArrayBlockingQueueTest.suite(),
149 >            ArrayDequeTest.suite(),
150 >            AtomicBooleanTest.suite(),
151 >            AtomicIntegerArrayTest.suite(),
152 >            AtomicIntegerFieldUpdaterTest.suite(),
153 >            AtomicIntegerTest.suite(),
154 >            AtomicLongArrayTest.suite(),
155 >            AtomicLongFieldUpdaterTest.suite(),
156 >            AtomicLongTest.suite(),
157 >            AtomicMarkableReferenceTest.suite(),
158 >            AtomicReferenceArrayTest.suite(),
159 >            AtomicReferenceFieldUpdaterTest.suite(),
160 >            AtomicReferenceTest.suite(),
161 >            AtomicStampedReferenceTest.suite(),
162 >            ConcurrentHashMapTest.suite(),
163 >            ConcurrentLinkedDequeTest.suite(),
164 >            ConcurrentLinkedQueueTest.suite(),
165 >            ConcurrentSkipListMapTest.suite(),
166 >            ConcurrentSkipListSubMapTest.suite(),
167 >            ConcurrentSkipListSetTest.suite(),
168 >            ConcurrentSkipListSubSetTest.suite(),
169 >            CopyOnWriteArrayListTest.suite(),
170 >            CopyOnWriteArraySetTest.suite(),
171 >            CountDownLatchTest.suite(),
172 >            CyclicBarrierTest.suite(),
173 >            DelayQueueTest.suite(),
174 >            EntryTest.suite(),
175 >            ExchangerTest.suite(),
176 >            ExecutorsTest.suite(),
177 >            ExecutorCompletionServiceTest.suite(),
178 >            FutureTaskTest.suite(),
179 >            LinkedBlockingDequeTest.suite(),
180 >            LinkedBlockingQueueTest.suite(),
181 >            LinkedListTest.suite(),
182 >            LockSupportTest.suite(),
183 >            PriorityBlockingQueueTest.suite(),
184 >            PriorityQueueTest.suite(),
185 >            ReentrantLockTest.suite(),
186 >            ReentrantReadWriteLockTest.suite(),
187 >            ScheduledExecutorTest.suite(),
188 >            ScheduledExecutorSubclassTest.suite(),
189 >            SemaphoreTest.suite(),
190 >            SynchronousQueueTest.suite(),
191 >            SystemTest.suite(),
192 >            ThreadLocalTest.suite(),
193 >            ThreadPoolExecutorTest.suite(),
194 >            ThreadPoolExecutorSubclassTest.suite(),
195 >            ThreadTest.suite(),
196 >            TimeUnitTest.suite(),
197 >            TreeMapTest.suite(),
198 >            TreeSetTest.suite(),
199 >            TreeSubMapTest.suite(),
200 >            TreeSubSetTest.suite());
201      }
202  
203  
# Line 534 | Line 544 | public class JSR166TestCase extends Test
544      }
545  
546      /**
547 +     * Sleeps until the given time has elapsed.
548 +     * Throws AssertionFailedError if interrupted.
549 +     */
550 +    void sleep(long millis) {
551 +        try {
552 +            Thread.sleep(millis);
553 +        } catch (InterruptedException ie) {
554 +            AssertionFailedError afe =
555 +                new AssertionFailedError("Unexpected InterruptedException");
556 +            afe.initCause(ie);
557 +            throw afe;
558 +        }
559 +    }
560 +
561 +    /**
562       * Sleeps until the timeout has elapsed, or interrupted.
563       * Does <em>NOT</em> throw InterruptedException.
564       */
# Line 858 | Line 883 | public class JSR166TestCase extends Test
883                                        ThreadPoolExecutor executor) {}
884      }
885  
886 +    /**
887 +     * A CyclicBarrier that fails with AssertionFailedErrors instead
888 +     * of throwing checked exceptions.
889 +     */
890 +    public class CheckedBarrier extends CyclicBarrier {
891 +        public CheckedBarrier(int parties) { super(parties); }
892 +
893 +        public int await() {
894 +            try {
895 +                return super.await();
896 +            } catch (Exception e) {
897 +                AssertionFailedError afe =
898 +                    new AssertionFailedError("Unexpected exception: " + e);
899 +                afe.initCause(e);
900 +                throw afe;
901 +            }
902 +        }
903 +    }
904 +
905   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines