--- jsr166/src/test/tck/RecursiveActionTest.java 2011/05/31 10:28:06 1.32 +++ jsr166/src/test/tck/RecursiveActionTest.java 2011/06/24 18:49:56 1.33 @@ -789,7 +789,7 @@ public class RecursiveActionTest extends } /** - * A reinitialized task may be re-invoked + * A reinitialized normally completed task may be re-invoked */ public void testReinitialize() { RecursiveAction a = new CheckedRecursiveAction() { @@ -804,6 +804,29 @@ public class RecursiveActionTest extends f.reinitialize(); checkNotDone(f); } + }}; + testInvokeOnPool(mainPool(), a); + } + + /** + * A reinitialized abnormally completed task may be re-invoked + */ + public void testReinitializeAbnormal() { + RecursiveAction a = new CheckedRecursiveAction() { + public void realCompute() { + FailingFibAction f = new FailingFibAction(8); + checkNotDone(f); + + for (int i = 0; i < 3; i++) { + try { + f.invoke(); + shouldThrow(); + } catch (FJException success) { + checkCompletedAbnormally(f, success); + } + f.reinitialize(); + checkNotDone(f); + } }}; testInvokeOnPool(mainPool(), a); }