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

Comparing jsr166/src/test/tck/RecursiveTaskTest.java (file contents):
Revision 1.22 by jsr166, Sun Nov 21 19:06:53 2010 UTC vs.
Revision 1.26 by dl, Tue Feb 22 01:18:59 2011 UTC

# Line 8 | Line 8 | import junit.framework.*;
8   import java.util.concurrent.CancellationException;
9   import java.util.concurrent.ExecutionException;
10   import java.util.concurrent.ForkJoinPool;
11 + import java.util.concurrent.ForkJoinTask;
12   import java.util.concurrent.ForkJoinWorkerThread;
13   import java.util.concurrent.RecursiveTask;
14   import java.util.concurrent.TimeUnit;
# Line 59 | Line 60 | public class RecursiveTaskTest extends J
60          assertNull(a.getException());
61          assertNull(a.getRawResult());
62  
63 <        if (! (Thread.currentThread() instanceof ForkJoinWorkerThread)) {
63 >        if (! ForkJoinTask.inForkJoinPool()) {
64              Thread.currentThread().interrupt();
65              try {
66                  a.get();
# Line 90 | Line 91 | public class RecursiveTaskTest extends J
91          assertNull(a.getException());
92          assertSame(expected, a.getRawResult());
93          assertSame(expected, a.join());
94 +        assertFalse(a.cancel(false));
95 +        assertFalse(a.cancel(true));
96          try {
97              assertSame(expected, a.get());
98          } catch (Throwable fail) { threadUnexpectedException(fail); }
# Line 150 | Line 153 | public class RecursiveTaskTest extends J
153          assertFalse(a.isCancelled());
154          assertFalse(a.isCompletedNormally());
155          assertTrue(a.isCompletedAbnormally());
156 <        assertSame(t, a.getException());
156 >        assertSame(t.getClass(), a.getException().getClass());
157          assertNull(a.getRawResult());
158 +        assertFalse(a.cancel(false));
159 +        assertFalse(a.cancel(true));
160  
161          try {
162              a.join();
163              shouldThrow();
164          } catch (Throwable expected) {
165 <            assertSame(t, expected);
165 >            assertSame(t.getClass(), expected.getClass());
166          }
167  
168          try {
169              a.get();
170              shouldThrow();
171          } catch (ExecutionException success) {
172 <            assertSame(t, success.getCause());
172 >            assertSame(t.getClass(), success.getCause().getClass());
173          } catch (Throwable fail) { threadUnexpectedException(fail); }
174  
175          try {
176              a.get(5L, SECONDS);
177              shouldThrow();
178          } catch (ExecutionException success) {
179 <            assertSame(t, success.getCause());
179 >            assertSame(t.getClass(), success.getCause().getClass());
180          } catch (Throwable fail) { threadUnexpectedException(fail); }
181      }
182  
183 <    static final class FJException extends RuntimeException {
184 <        FJException() { super(); }
183 >    public static final class FJException extends RuntimeException {
184 >        public FJException() { super(); }
185      }
186  
187      // An invalid return value for Fib
# Line 598 | Line 603 | public class RecursiveTaskTest extends J
603                  return NoResult;
604              }
605          };
606 <        a.invoke();
606 >        assertSame(NoResult, a.invoke());
607      }
608  
609      /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines