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

Comparing jsr166/src/test/tck/CountedCompleterTest.java (file contents):
Revision 1.9 by jsr166, Wed Jun 5 05:48:26 2013 UTC vs.
Revision 1.14 by jsr166, Wed Dec 31 16:44:01 2014 UTC

# Line 8 | Line 8 | import java.util.concurrent.Cancellation
8   import java.util.concurrent.ForkJoinPool;
9   import java.util.concurrent.ForkJoinTask;
10   import java.util.concurrent.CountedCompleter;
11 import java.util.concurrent.ForkJoinWorkerThread;
12 import java.util.concurrent.RecursiveAction;
13 import java.util.concurrent.TimeUnit;
11   import java.util.concurrent.TimeoutException;
12   import java.util.concurrent.atomic.AtomicInteger;
16 import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
13   import java.util.concurrent.atomic.AtomicReference;
14   import static java.util.concurrent.TimeUnit.MILLISECONDS;
15   import static java.util.concurrent.TimeUnit.SECONDS;
# Line 212 | Line 208 | public class CountedCompleterTest extend
208          final AtomicInteger onCompletionN = new AtomicInteger(0);
209          final AtomicInteger onExceptionalCompletionN = new AtomicInteger(0);
210          final AtomicInteger setRawResultN = new AtomicInteger(0);
211 <        final AtomicReference<Object> rawResult = new AtomicReference<>(null);
211 >        final AtomicReference<Object> rawResult = new AtomicReference<Object>(null);
212          int computeN() { return computeN.get(); }
213          int onCompletionN() { return onCompletionN.get(); }
214          int onExceptionalCompletionN() { return onExceptionalCompletionN.get(); }
# Line 252 | Line 248 | public class CountedCompleterTest extend
248          }
249          void checkCompletes(Object rawResult) {
250              checkIncomplete();
251 +            int pendingCount = getPendingCount();
252              complete(rawResult);
253 +            assertEquals(pendingCount, getPendingCount());
254              assertEquals(0, computeN());
255              assertEquals(1, onCompletionN());
256              assertEquals(0, onExceptionalCompletionN());
# Line 283 | Line 281 | public class CountedCompleterTest extend
281  
282      /**
283       * A newly constructed CountedCompleter is not completed;
284 <     * complete() causes completion.
284 >     * complete() causes completion. pendingCount is ignored.
285       */
286      public void testComplete() {
287          for (Object x : new Object[] { Boolean.TRUE, null }) {
288 <            new NoopCC()
289 <                .checkCompletes(x);
290 <            new NoopCC(new NoopCC())
291 <                .checkCompletes(x);
288 >            for (int pendingCount : new int[] { 0, 42 }) {
289 >                testComplete(new NoopCC(), x, pendingCount);
290 >                testComplete(new NoopCC(new NoopCC()), x, pendingCount);
291 >            }
292          }
293      }
294 +    void testComplete(NoopCC cc, Object x, int pendingCount) {
295 +        cc.setPendingCount(pendingCount);
296 +        cc.checkCompletes(x);
297 +    }
298  
299      /**
300       * completeExceptionally completes exceptionally
# Line 493 | Line 495 | public class CountedCompleterTest extend
495      // Invocation tests use some interdependent task classes
496      // to better test propagation etc
497  
498 <
499 <    // Version of Fibonacci with different classes for left vs right forks
498 >    /**
499 >     * Version of Fibonacci with different classes for left vs right forks
500 >     */
501      abstract class CCF extends CheckedCC {
502          int number;
503          int rnumber;
# Line 1130 | Line 1133 | public class CountedCompleterTest extend
1133      }
1134  
1135      /**
1136 <     * invokeAll(collection)  throws exception if any task does
1136 >     * invokeAll(collection) throws exception if any task does
1137       */
1138      public void testAbnormalInvokeAllCollection() {
1139          ForkJoinTask a = new CheckedRecursiveAction() {
# Line 1795 | Line 1798 | public class CountedCompleterTest extend
1798      }
1799  
1800      /**
1801 <     * invokeAll(collection)  throws exception if any task does
1801 >     * invokeAll(collection) throws exception if any task does
1802       */
1803      public void testAbnormalInvokeAllCollectionSingleton() {
1804          ForkJoinTask a = new CheckedRecursiveAction() {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines