--- jsr166/src/test/tck/JSR166TestCase.java 2013/03/21 00:26:43 1.104 +++ jsr166/src/test/tck/JSR166TestCase.java 2013/04/01 20:06:26 1.106 @@ -287,6 +287,7 @@ public class JSR166TestCase extends Test if (atLeastJava8()) { String[] java8TestClassNames = { "CompletableFutureTest", + "ConcurrentHashMap8Test", "CountedCompleterTest", "DoubleAccumulatorTest", "DoubleAdderTest", @@ -1347,4 +1348,25 @@ public class JSR166TestCase extends Test return null; } } + + public void assertThrows(Class expectedExceptionClass, + Runnable... throwingActions) { + for (Runnable throwingAction : throwingActions) { + boolean threw = false; + try { throwingAction.run(); } + catch (Throwable t) { + threw = true; + if (!expectedExceptionClass.isInstance(t)) { + AssertionFailedError afe = + new AssertionFailedError + ("Expected " + expectedExceptionClass.getName() + + ", got " + t.getClass().getName()); + afe.initCause(t); + threadUnexpectedException(afe); + } + } + if (!threw) + shouldThrow(expectedExceptionClass.getName()); + } + } }