--- jsr166/src/test/tck/FutureTaskTest.java 2018/01/07 22:59:18 1.51 +++ jsr166/src/test/tck/FutureTaskTest.java 2018/07/22 21:04:56 1.52 @@ -60,8 +60,9 @@ public class FutureTaskTest extends JSR1 pf.run(); pf.runAndReset(); assertEquals(savedRunCount, pf.runCount()); + Object r2 = null; try { - assertSame(r, f.get()); + r2 = f.get(); } catch (CancellationException t) { assertSame(exInfo, CancellationException.class); } catch (ExecutionException t) { @@ -69,6 +70,8 @@ public class FutureTaskTest extends JSR1 } catch (Throwable t) { threadUnexpectedException(t); } + if (exInfo == null) + assertSame(r, r2); assertTrue(f.isDone()); } } @@ -101,14 +104,17 @@ public class FutureTaskTest extends JSR1 } } - void checkCompletedNormally(Future f, T expected) { + void checkCompletedNormally(Future f, T expectedValue) { checkIsDone(f); assertFalse(f.isCancelled()); + T v1 = null, v2 = null; try { - assertSame(expected, f.get()); - assertSame(expected, f.get(randomTimeout(), randomTimeUnit())); + v1 = f.get(); + v2 = f.get(randomTimeout(), randomTimeUnit()); } catch (Throwable fail) { threadUnexpectedException(fail); } + assertSame(expectedValue, v1); + assertSame(expectedValue, v2); } void checkCancelled(Future f) {