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

Comparing jsr166/src/test/tck/ForkJoinTaskTest.java (file contents):
Revision 1.52 by jsr166, Mon May 29 19:15:02 2017 UTC vs.
Revision 1.57 by dl, Mon Aug 12 15:08:44 2019 UTC

# Line 8 | Line 8 | import static java.util.concurrent.TimeU
8  
9   import java.util.Arrays;
10   import java.util.HashSet;
11 + import java.util.concurrent.Callable;
12   import java.util.concurrent.CancellationException;
13   import java.util.concurrent.ExecutionException;
14   import java.util.concurrent.ForkJoinPool;
# Line 86 | Line 87 | public class ForkJoinTaskTest extends JS
87          checkCompletedNormally(a, null);
88      }
89  
90 <    <T> void checkCompletedNormally(ForkJoinTask<T> a, T expected) {
90 >    <T> void checkCompletedNormally(ForkJoinTask<T> a, T expectedValue) {
91          assertTrue(a.isDone());
92          assertFalse(a.isCancelled());
93          assertTrue(a.isCompletedNormally());
94          assertFalse(a.isCompletedAbnormally());
95          assertNull(a.getException());
96 <        assertSame(expected, a.getRawResult());
96 >        assertSame(expectedValue, a.getRawResult());
97  
98          {
99              Thread.currentThread().interrupt();
100              long startTime = System.nanoTime();
101 <            assertSame(expected, a.join());
101 >            assertSame(expectedValue, a.join());
102              assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS);
103              Thread.interrupted();
104          }
# Line 112 | Line 113 | public class ForkJoinTaskTest extends JS
113  
114          assertFalse(a.cancel(false));
115          assertFalse(a.cancel(true));
116 +
117 +        T v1 = null, v2 = null;
118          try {
119 <            assertSame(expected, a.get());
120 <            assertSame(expected, a.get(randomTimeout(), randomTimeUnit()));
119 >            v1 = a.get();
120 >            v2 = a.get(randomTimeout(), randomTimeUnit());
121          } catch (Throwable fail) { threadUnexpectedException(fail); }
122 +        assertSame(expectedValue, v1);
123 +        assertSame(expectedValue, v2);
124      }
125  
126      void checkCancelled(ForkJoinTask a) {
# Line 494 | Line 499 | public class ForkJoinTaskTest extends JS
499                  AsyncFib f = new AsyncFib(8);
500                  assertSame(f, f.fork());
501                  helpQuiesce();
502 +                while (!f.isDone()) // wait out race
503 +                    ;
504                  assertEquals(21, f.number);
505                  assertEquals(0, getQueuedTaskCount());
506                  checkCompletedNormally(f);
# Line 1648 | Line 1655 | public class ForkJoinTaskTest extends JS
1655          testInvokeOnPool(mainPool(), a);
1656      }
1657  
1658 +    /**
1659 +     * adapt(runnable).toString() contains toString of wrapped task
1660 +     */
1661 +    public void testAdapt_Runnable_toString() {
1662 +        if (testImplementationDetails) {
1663 +            Runnable r = () -> {};
1664 +            ForkJoinTask<?> task = ForkJoinTask.adapt(r);
1665 +            assertEquals(
1666 +                identityString(task) + "[Wrapped task = " + r.toString() + "]",
1667 +                task.toString());
1668 +        }
1669 +    }
1670 +
1671 +    /**
1672 +     * adapt(runnable, x).toString() contains toString of wrapped task
1673 +     */
1674 +    public void testAdapt_Runnable_withResult_toString() {
1675 +        if (testImplementationDetails) {
1676 +            Runnable r = () -> {};
1677 +            ForkJoinTask<String> task = ForkJoinTask.adapt(r, "");
1678 +            assertEquals(
1679 +                identityString(task) + "[Wrapped task = " + r.toString() + "]",
1680 +                task.toString());
1681 +        }
1682 +    }
1683 +
1684 +    /**
1685 +     * adapt(callable).toString() contains toString of wrapped task
1686 +     */
1687 +    public void testAdapt_Callable_toString() {
1688 +        if (testImplementationDetails) {
1689 +            Callable<String> c = () -> "";
1690 +            ForkJoinTask<String> task = ForkJoinTask.adapt(c);
1691 +            assertEquals(
1692 +                identityString(task) + "[Wrapped task = " + c.toString() + "]",
1693 +                task.toString());
1694 +        }
1695 +    }
1696   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines