From d37299d90849fea34da696aeb035ec2e8593c6d2 Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 15 Mar 2010 16:45:14 +0300 Subject: [PATCH] catch not found error (IDEA-52890) --- .../intellij/junit4/JUnit4TestRunnerUtil.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java b/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java index b75212516c5f..cb94f048ac6f 100644 --- a/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java +++ b/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java @@ -25,7 +25,6 @@ import org.junit.runner.manipulation.Filter; import org.junit.runner.notification.RunNotifier; import org.junit.runners.BlockJUnit4ClassRunner; import org.junit.runners.model.FrameworkMethod; -import org.junit.runners.model.InitializationError; import java.io.BufferedReader; import java.io.FileReader; @@ -114,18 +113,24 @@ public class JUnit4TestRunnerUtil { else { int index = suiteClassName.indexOf(','); if (index != -1) { - final Class clazz = loadTestClass(suiteClassName.substring(0, index)); - final Request classRequest = new ClassRequest(clazz){ - public Runner getRunner() { - try { - return new IgnoreIgnoredTestJUnit4ClassRunner(clazz); + try { + Class.forName("org.junit.runners.model.InitializationError"); + final Class clazz = loadTestClass(suiteClassName.substring(0, index)); + final Request classRequest = new ClassRequest(clazz) { + public Runner getRunner() { + try { + return new IgnoreIgnoredTestJUnit4ClassRunner(clazz); + } + catch (Exception ignored) { + } + return super.getRunner(); } - catch (InitializationError ignored) { - } - return super.getRunner(); - } - }; - return classRequest.filterWith(Description.createTestDescription(clazz, suiteClassName.substring(index + 1))); + }; + return classRequest.filterWith(Description.createTestDescription(clazz, suiteClassName.substring(index + 1))); + } + catch (ClassNotFoundException e) { + return Request.method(loadTestClass(suiteClassName.substring(0, index)), suiteClassName.substring(index + 1)); + } } appendTestClass(result, suiteClassName); } @@ -174,7 +179,7 @@ public class JUnit4TestRunnerUtil { private static class IgnoreIgnoredTestJUnit4ClassRunner extends BlockJUnit4ClassRunner { - public IgnoreIgnoredTestJUnit4ClassRunner(Class clazz) throws InitializationError { + public IgnoreIgnoredTestJUnit4ClassRunner(Class clazz) throws Exception { super(clazz); }