diff --git a/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java b/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java index a29e06f6491a..7af9d1e128cb 100644 --- a/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java +++ b/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java @@ -15,11 +15,7 @@ */ package com.intellij.execution; -import com.intellij.execution.*; -import com.intellij.execution.configurations.JavaCommandLineState; -import com.intellij.execution.configurations.JavaParameters; -import com.intellij.execution.configurations.RunConfigurationBase; -import com.intellij.execution.configurations.RunnerSettings; +import com.intellij.execution.configurations.*; import com.intellij.execution.process.OSProcessHandler; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.testframework.TestConsoleProperties; @@ -32,10 +28,12 @@ import com.intellij.execution.ui.ConsoleView; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Getter; +import com.intellij.openapi.util.io.FileUtil; import com.intellij.util.PathUtil; import jetbrains.buildServer.messages.serviceMessages.ServiceMessageTypes; import org.jetbrains.annotations.NotNull; +import java.io.File; import java.io.IOException; import java.net.InetAddress; import java.net.ServerSocket; @@ -43,6 +41,7 @@ import java.net.ServerSocket; public abstract class JavaTestFrameworkRunnableState extends JavaCommandLineState { private static final Logger LOG = Logger.getInstance("#" + JavaTestFrameworkRunnableState.class.getName()); protected ServerSocket myServerSocket; + protected File myTempFile; public JavaTestFrameworkRunnableState(ExecutionEnvironment environment) { super(environment); @@ -50,7 +49,9 @@ public abstract class JavaTestFrameworkRunnableState extends JavaCommandLineStat @NotNull protected abstract String getFrameworkName(); - @NotNull protected abstract String getVMParameter(); + @NotNull protected abstract String getFrameworkId(); + + protected abstract void passTempFile(ParametersList parametersList, String tempFilePath); @NotNull protected abstract AbstractRerunFailedTestsAction createRerunFailedTestsAction(TestConsoleProperties testConsoleProperties, ConsoleView consoleView); @@ -58,7 +59,7 @@ public abstract class JavaTestFrameworkRunnableState extends JavaCommandLineStat OSProcessHandler handler, RunConfigurationBase configuration, ExecutionEnvironment environment) throws ExecutionException { - getJavaParameters().getVMParametersList().add(getVMParameter()); + getJavaParameters().getVMParametersList().add("-Didea." + getFrameworkId()+ ".sm_runner"); getJavaParameters().getClassPath().add(PathUtil.getJarPathForClass(ServiceMessageTypes.class)); final RunnerSettings runnerSettings = getRunnerSettings(); @@ -94,4 +95,17 @@ public abstract class JavaTestFrameworkRunnableState extends JavaCommandLineStat LOG.error(e); } } + + protected void createTempFiles(JavaParameters javaParameters) { + try { + myTempFile = FileUtil.createTempFile("idea_" + getFrameworkId(), ".tmp"); + myTempFile.deleteOnExit(); + passTempFile(javaParameters.getProgramParametersList(), myTempFile.getAbsolutePath()); + } + catch (IOException e) { + LOG.error(e); + } + } + + } diff --git a/plugins/junit/src/com/intellij/execution/junit/TestObject.java b/plugins/junit/src/com/intellij/execution/junit/TestObject.java index 6994056089d9..298f8ad7b7d7 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestObject.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestObject.java @@ -89,7 +89,6 @@ public abstract class TestObject extends JavaTestFrameworkRunnableState { @NonNls private static final String JUNIT_TEST_FRAMEWORK_NAME = "JUnit"; protected final JUnitConfiguration myConfiguration; - protected File myTempFile = null; protected File myWorkingDirsFile = null; public File myListenersFile; @@ -147,7 +146,8 @@ public abstract class TestObject extends JavaTestFrameworkRunnableState { public void checkConfiguration() throws RuntimeConfigurationException{ JavaParametersUtil.checkAlternativeJRE(myConfiguration); - ProgramParametersUtil.checkWorkingDirectoryExist(myConfiguration, myConfiguration.getProject(), myConfiguration.getConfigurationModule().getModule()); + ProgramParametersUtil.checkWorkingDirectoryExist(myConfiguration, myConfiguration.getProject(), + myConfiguration.getConfigurationModule().getModule()); } public SourceScope getSourceScope() { @@ -534,13 +534,16 @@ public abstract class TestObject extends JavaTestFrameworkRunnableState { } } - protected void createTempFiles(JavaParameters javaParameters) throws IOException { - myTempFile = FileUtil.createTempFile("idea_junit", ".tmp"); - myTempFile.deleteOnExit(); - javaParameters.getProgramParametersList().add("@" + myTempFile.getAbsolutePath()); - myWorkingDirsFile = FileUtil.createTempFile("idea_working_dirs_junit", ".tmp"); - myWorkingDirsFile.deleteOnExit(); - javaParameters.getProgramParametersList().add("@w@" + myWorkingDirsFile.getAbsolutePath()); + protected void createTempFiles(JavaParameters javaParameters) { + super.createTempFiles(javaParameters); + try { + myWorkingDirsFile = FileUtil.createTempFile("idea_working_dirs_junit", ".tmp"); + myWorkingDirsFile.deleteOnExit(); + javaParameters.getProgramParametersList().add("@w@" + myWorkingDirsFile.getAbsolutePath()); + } + catch (IOException e) { + LOG.error(e); + } } public void clear() { @@ -551,14 +554,18 @@ public abstract class TestObject extends JavaTestFrameworkRunnableState { return JUNIT_TEST_FRAMEWORK_NAME; } - @NotNull - protected String getVMParameter() { - return "-Didea.junit.sm_runner"; - } - @NotNull protected AbstractRerunFailedTestsAction createRerunFailedTestsAction(TestConsoleProperties testConsoleProperties, ConsoleView consoleView) { return new RerunFailedTestsAction(consoleView, testConsoleProperties); } + + @NotNull + protected String getFrameworkId() { + return "junit"; + } + + protected void passTempFile(ParametersList parametersList, String tempFilePath) { + parametersList.add("@" + tempFilePath); + } } diff --git a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java index 056188d1bb69..429fb898cac7 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java @@ -127,12 +127,7 @@ public class TestPackage extends TestObject { getClassFilter(data);//check if junit found configureClasspath(javaParameters); - try { - createTempFiles(javaParameters); - } - catch (IOException e) { - LOG.error(e); - } + createTempFiles(javaParameters); createServerSocket(javaParameters); } diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java index 52a3b62df8cf..97c0d298b87a 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java @@ -17,7 +17,6 @@ package com.theoryinpractice.testng.configuration; import com.intellij.ExtensionPoints; -import com.intellij.debugger.engine.DebuggerUtils; import com.intellij.execution.*; import com.intellij.execution.configurations.*; import com.intellij.execution.process.OSProcessHandler; @@ -27,10 +26,6 @@ import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.runners.ProgramRunner; import com.intellij.execution.testframework.*; import com.intellij.execution.testframework.actions.AbstractRerunFailedTestsAction; -import com.intellij.execution.testframework.sm.SMTestRunnerConnectionUtil; -import com.intellij.execution.testframework.sm.runner.SMTRunnerConsoleProperties; -import com.intellij.execution.testframework.sm.runner.ui.SMTRunnerConsoleView; -import com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView; import com.intellij.execution.ui.ConsoleView; import com.intellij.execution.ui.ConsoleViewContentType; import com.intellij.execution.util.JavaParametersUtil; @@ -47,7 +42,6 @@ import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Getter; import com.intellij.openapi.util.Key; -import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; import com.intellij.pom.java.LanguageLevel; @@ -60,7 +54,6 @@ import com.theoryinpractice.testng.model.*; import com.theoryinpractice.testng.ui.TestNGConsoleView; import com.theoryinpractice.testng.ui.TestNGResults; import com.theoryinpractice.testng.ui.actions.RerunFailedTestsAction; -import jetbrains.buildServer.messages.serviceMessages.ServiceMessageTypes; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.testng.CommandLineArgs; @@ -73,9 +66,7 @@ import org.testng.remote.strprotocol.SerializedMessageSender; import java.io.File; import java.io.IOException; -import java.net.InetAddress; import java.net.ServerSocket; -import java.net.UnknownHostException; public class TestNGRunnableState extends JavaTestFrameworkRunnableState { private static final Logger LOG = Logger.getInstance("TestNG Runner"); @@ -83,7 +74,6 @@ public class TestNGRunnableState extends JavaTestFrameworkRunnableState { private final TestNGConfiguration config; protected final IDEARemoteTestRunnerClient client; private int port; - private File myTempFile; public TestNGRunnableState(ExecutionEnvironment environment, TestNGConfiguration config) { super(environment); @@ -190,12 +180,6 @@ public class TestNGRunnableState extends JavaTestFrameworkRunnableState { return result; } - @NotNull - @Override - protected String getVMParameter() { - return "-Didea.testng.sm_runner"; - } - @NotNull @Override protected String getFrameworkName() { @@ -320,14 +304,7 @@ public class TestNGRunnableState extends JavaTestFrameworkRunnableState { javaParameters.getProgramParametersList().add(TestNGCommandLineArgs.SRC_COMMAND_OPT, sb.toString()); }*/ createServerSocket(javaParameters); - try { - myTempFile = FileUtil.createTempFile("idea_testng", ".tmp"); - myTempFile.deleteOnExit(); - javaParameters.getProgramParametersList().add("-temp", myTempFile.getAbsolutePath()); - } - catch (IOException e) { - LOG.error(e); - } + createTempFiles(javaParameters); return javaParameters; } @@ -360,4 +337,13 @@ public class TestNGRunnableState extends JavaTestFrameworkRunnableState { } return Registry.is("testng.serialized.protocol.enabled") && !TestNGVersionChecker.isVersionIncompatible(project, scopeToDetermineTestngIn); } + + @NotNull + protected String getFrameworkId() { + return "testng"; + } + + protected void passTempFile(ParametersList parametersList, String tempFilePath) { + parametersList.add("-temp", tempFilePath); + } }