From 3ae288688d31ba0b762efd809a7cff7e80d6d7bc Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 12 Mar 2015 19:58:19 +0100 Subject: [PATCH] junit: do not initialize new runner twice (IDEA-137563) --- .../src/com/intellij/junit4/JUnit4TestRunnerUtil.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java b/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java index ebf147ef64dc..37f13312fc6c 100644 --- a/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java +++ b/plugins/junit_rt/src/com/intellij/junit4/JUnit4TestRunnerUtil.java @@ -28,6 +28,7 @@ import org.junit.runner.manipulation.Filter; import org.junit.runner.notification.RunNotifier; import org.junit.runners.BlockJUnit4ClassRunner; import org.junit.runners.Parameterized; +import org.junit.runners.Suite; import org.junit.runners.model.FrameworkMethod; import java.io.BufferedReader; @@ -324,16 +325,17 @@ public class JUnit4TestRunnerUtil { } } - private static class SelectedParameterizedRunner extends Parameterized { + private static class SelectedParameterizedRunner extends Suite { + public static final List NO_RUNNERS = new ArrayList(); private final String myName; private final String myMethodName; private Parameterized myRunnerClass; public SelectedParameterizedRunner(Class clazz, String name, String methodName, Class runnerClass) throws Throwable { - super(clazz); + super(clazz, NO_RUNNERS); myName = name; myMethodName = methodName; - myRunnerClass = runnerClass.equals(Parameterized.class) ? this : (Parameterized)runnerClass.getConstructor(new Class[] {Class.class}).newInstance(new Object[]{clazz}); + myRunnerClass = (Parameterized)runnerClass.getConstructor(new Class[] {Class.class}).newInstance(new Object[]{clazz}); } protected List getChildren() {