diff --git a/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/InternalAssumptionViolatedException.java b/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/InternalAssumptionViolatedException.java
deleted file mode 100644
index ab1022f7..00000000
--- a/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/InternalAssumptionViolatedException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.carrotsearch.randomizedtesting;
-
-import org.hamcrest.Description;
-
-/**
- * We have our own "custom" assumption class because of JUnit's internal closed-up architecture.
- *
- * We currently subclass and substitute JUnit's internal AVE, but we could as well have our
- * own exception and handle it properly in {@link RandomizedRunner}.
- */
-@SuppressWarnings("serial")
-class InternalAssumptionViolatedException extends org.junit.internal.AssumptionViolatedException {
- private final String message;
-
- public InternalAssumptionViolatedException(String message) {
- this(message, null);
- }
-
- public InternalAssumptionViolatedException(String message, Throwable t) {
- super(t, /* no matcher. */ null);
- if (getCause() != t) {
- throw new Error("AssumptionViolationException not setting up cause properly. Panic.");
- }
- this.message = message;
- }
-
- @Override
- public String getMessage() {
- return super.getMessage();
- }
-
- @Override
- public void describeTo(Description description) {
- if (message == null || message.trim().length() == 0) {
- description.appendText("failed assumption");
- } else {
- description.appendText(message);
- }
- if (getCause() != null) {
- description.appendText("(throwable: " + getCause().toString() + ")");
- }
- }
-}
\ No newline at end of file
diff --git a/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/RandomizedRunner.java b/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/RandomizedRunner.java
index d08b72b3..6eda71e7 100644
--- a/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/RandomizedRunner.java
+++ b/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/RandomizedRunner.java
@@ -39,10 +39,10 @@
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
-import org.junit.internal.AssumptionViolatedException;
+import org.junit.Assert;
+import org.junit.AssumptionViolatedException;
import org.junit.rules.TestRule;
import org.junit.runner.Description;
-import org.junit.runner.Request;
import org.junit.runner.Result;
import org.junit.runner.Runner;
import org.junit.runner.manipulation.Filter;
@@ -81,8 +81,6 @@
import com.carrotsearch.randomizedtesting.annotations.TimeoutSuite;
import com.carrotsearch.randomizedtesting.rules.StatementAdapter;
-import junit.framework.Assert;
-
/**
* A {@link Runner} implementation for running randomized test cases with
* predictable and repeatable randomness.
@@ -710,7 +708,7 @@ private void runSuite(final RandomizedContext context, final RunNotifier notifie
s.evaluate();
} catch (Throwable t) {
t = augmentStackTrace(t, runnerRandomness);
- if (t instanceof AssumptionViolatedException) {
+ if (isAssumptionViolated(t)) {
// Fire assumption failure before method ignores. (GH-103).
notifier.fireTestAssumptionFailed(new Failure(suiteDescription, t));
@@ -852,7 +850,8 @@ void reportAsIgnored(RunNotifier notifier, GroupEvaluator ge, TestCandidate c) {
String ignoreReason = ge.getIgnoreReason(c.method, suiteClass);
if (ignoreReason != null) {
notifier.fireTestStarted(c.description);
- notifier.fireTestAssumptionFailed(new Failure(c.description, new InternalAssumptionViolatedException(ignoreReason)));
+ notifier.fireTestAssumptionFailed(new Failure(c.description,
+ new AssumptionViolatedException(ignoreReason)));
notifier.fireTestFinished(c.description);
}
}
@@ -948,7 +947,7 @@ public void evaluate() throws Throwable {
s.evaluate();
} catch (Throwable e) {
e = augmentStackTrace(e);
- if (e instanceof AssumptionViolatedException) {
+ if (isAssumptionViolated(e)) {
notifier.fireTestAssumptionFailed(new Failure(c.description, e));
} else {
fireTestFailure(notifier, c.description, e);
@@ -1499,7 +1498,7 @@ public List collectMethodExecutions(Constructor> construc
args.add((Object[]) o);
}
} catch (InvocationTargetException e) {
- if (AssumptionViolatedException.class.isInstance(e.getCause())) {
+ if (isAssumptionViolated(e.getCause())) {
return Collections.emptyList();
}
Rethrow.rethrow(e.getCause());
@@ -1522,6 +1521,11 @@ public List collectMethodExecutions(Constructor> construc
return testCases;
}
+ private boolean isAssumptionViolated(Throwable cause) {
+ return cause instanceof org.junit.AssumptionViolatedException ||
+ cause instanceof org.junit.internal.AssumptionViolatedException;
+ }
+
/**
* Determine instance provider.
*/
diff --git a/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/RandomizedTest.java b/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/RandomizedTest.java
index 8c585320..1e298fc1 100644
--- a/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/RandomizedTest.java
+++ b/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/RandomizedTest.java
@@ -22,6 +22,7 @@
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.Assume;
+import org.junit.AssumptionViolatedException;
import org.junit.runner.RunWith;
import com.carrotsearch.randomizedtesting.annotations.Listeners;
@@ -710,7 +711,7 @@ public static void assumeNotNull(Object... objects) {
/**
* @param condition
- * If false an {@link InternalAssumptionViolatedException} is
+ * If false an {@link AssumptionViolatedException} is
* thrown by this method and the test case (should be) ignored (or
* rather technically, flagged as a failure not passing a certain
* assumption). Tests that are assumption-failures do not break
@@ -721,7 +722,7 @@ public static void assumeNotNull(Object... objects) {
public static void assumeTrue(String message, boolean condition) {
if (!condition) {
// @see {@link Rants#RANT_2}.
- throw new InternalAssumptionViolatedException(message);
+ throw new AssumptionViolatedException(message);
}
}
@@ -738,7 +739,7 @@ public static void assumeFalse(String message, boolean condition) {
public static void assumeNoException(String msg, Throwable t) {
if (t != null) {
// This does chain the exception as the cause.
- throw new InternalAssumptionViolatedException(msg, t);
+ throw new AssumptionViolatedException(msg, t);
}
}
diff --git a/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/ThreadLeakControl.java b/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/ThreadLeakControl.java
index debd4ecc..b16b1027 100644
--- a/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/ThreadLeakControl.java
+++ b/randomized-runner/src/main/java/com/carrotsearch/randomizedtesting/ThreadLeakControl.java
@@ -33,7 +33,7 @@
import java.util.logging.Logger;
import org.junit.Test;
-import org.junit.internal.AssumptionViolatedException;
+import org.junit.AssumptionViolatedException;
import org.junit.runner.Description;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
diff --git a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestOutOfScopeRandomUse.java b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestOutOfScopeRandomUse.java
index 3f4b579d..ffc3300e 100644
--- a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestOutOfScopeRandomUse.java
+++ b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestOutOfScopeRandomUse.java
@@ -14,7 +14,7 @@
import com.carrotsearch.randomizedtesting.annotations.Timeout;
-import junit.framework.Assert;
+import org.junit.Assert;
/**
* Check out of scope {@link Random} use.
diff --git a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestResourceDisposal.java b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestResourceDisposal.java
index 0f7188ac..4fb5b4dd 100644
--- a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestResourceDisposal.java
+++ b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestResourceDisposal.java
@@ -9,7 +9,7 @@
import org.junit.BeforeClass;
import org.junit.Test;
-import junit.framework.Assert;
+import org.junit.Assert;
/**
diff --git a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestSeedParameterOptional.java b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestSeedParameterOptional.java
index ab8afc94..0076c271 100644
--- a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestSeedParameterOptional.java
+++ b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestSeedParameterOptional.java
@@ -2,7 +2,7 @@
import java.util.HashSet;
-import junit.framework.Assert;
+import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.*;
diff --git a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestUncaughtExceptionsDuplicated.java b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestUncaughtExceptionsDuplicated.java
index a3c473aa..a6a486ff 100644
--- a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestUncaughtExceptionsDuplicated.java
+++ b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/TestUncaughtExceptionsDuplicated.java
@@ -10,8 +10,7 @@
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.notification.Failure;
-
-import junit.framework.Assert;
+import org.junit.Assert;
public class TestUncaughtExceptionsDuplicated extends WithNestedTestClass {
public static class Nested1 extends RandomizedTest {
diff --git a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/WithNestedTestClass.java b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/WithNestedTestClass.java
index 8ac5684a..86ace102 100644
--- a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/WithNestedTestClass.java
+++ b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/WithNestedTestClass.java
@@ -120,7 +120,7 @@ protected void afterAlways(java.util.List errors) throws Throwable {
.around(dumpLoggerOutputOnFailure);
}
- @Rule
+ @ClassRule
public final static TestRule ruleChain;
/** For capturing sysout. */
diff --git a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test008SeedsAnnotation.java b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test008SeedsAnnotation.java
index 2b833a4a..164650a0 100644
--- a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test008SeedsAnnotation.java
+++ b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test008SeedsAnnotation.java
@@ -7,6 +7,7 @@
import org.assertj.core.api.Assertions;
import org.junit.Test;
+import org.junit.Assert;
import com.carrotsearch.randomizedtesting.RandomizedTest;
import com.carrotsearch.randomizedtesting.Utils;
@@ -15,7 +16,6 @@
import com.carrotsearch.randomizedtesting.annotations.Seed;
import com.carrotsearch.randomizedtesting.annotations.Seeds;
-import junit.framework.Assert;
/**
* Check {@link Seeds}.
diff --git a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test014Timeout.java b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test014Timeout.java
index 792582db..7d91ae75 100644
--- a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test014Timeout.java
+++ b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test014Timeout.java
@@ -1,12 +1,11 @@
package com.carrotsearch.randomizedtesting.timeouts;
import org.junit.Test;
+import org.junit.Assert;
import com.carrotsearch.randomizedtesting.RandomizedTest;
import com.carrotsearch.randomizedtesting.WithNestedTestClass;
-import junit.framework.Assert;
-
/**
* Test {@link Test#timeout()}.
*/
diff --git a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test015TimeoutOverride.java b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test015TimeoutOverride.java
index b1bfe529..52f9d042 100644
--- a/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test015TimeoutOverride.java
+++ b/randomized-runner/src/test/java/com/carrotsearch/randomizedtesting/timeouts/Test015TimeoutOverride.java
@@ -2,13 +2,13 @@
import org.junit.After;
import org.junit.Test;
+import org.junit.Assert;
import com.carrotsearch.randomizedtesting.RandomizedTest;
import com.carrotsearch.randomizedtesting.SysGlobals;
import com.carrotsearch.randomizedtesting.WithNestedTestClass;
import com.carrotsearch.randomizedtesting.annotations.Timeout;
-import junit.framework.Assert;
/**
* Test global timeout override (-Dtests.timeout=1000!).