diff --git a/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java b/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java index cb92598c7570..a29e06f6491a 100644 --- a/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java +++ b/java/execution/impl/src/com/intellij/execution/JavaTestFrameworkRunnableState.java @@ -17,6 +17,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.process.OSProcessHandler; @@ -28,13 +29,21 @@ 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.ui.ConsoleView; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Getter; import com.intellij.util.PathUtil; import jetbrains.buildServer.messages.serviceMessages.ServiceMessageTypes; import org.jetbrains.annotations.NotNull; +import java.io.IOException; +import java.net.InetAddress; +import java.net.ServerSocket; + public abstract class JavaTestFrameworkRunnableState extends JavaCommandLineState { + private static final Logger LOG = Logger.getInstance("#" + JavaTestFrameworkRunnableState.class.getName()); + protected ServerSocket myServerSocket; + public JavaTestFrameworkRunnableState(ExecutionEnvironment environment) { super(environment); } @@ -75,4 +84,14 @@ public abstract class JavaTestFrameworkRunnableState extends JavaCommandLineStat JavaRunConfigurationExtensionManager.getInstance().attachExtensionsToProcess(configuration, handler, runnerSettings); return result; } + + protected void createServerSocket(JavaParameters javaParameters) { + try { + myServerSocket = new ServerSocket(0, 0, InetAddress.getByName("127.0.0.1")); + javaParameters.getProgramParametersList().add("-socket" + myServerSocket.getLocalPort()); + } + catch (IOException e) { + LOG.error(e); + } + } } diff --git a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java index 604b9f85a45d..056188d1bb69 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java @@ -43,7 +43,6 @@ import java.net.InetAddress; import java.net.ServerSocket; public class TestPackage extends TestObject { - protected ServerSocket myServerSocket; private boolean myFoundTests = true; public TestPackage(JUnitConfiguration configuration, ExecutionEnvironment environment) { @@ -135,13 +134,7 @@ public class TestPackage extends TestObject { LOG.error(e); } - try { - myServerSocket = new ServerSocket(0, 0, InetAddress.getByName("127.0.0.1")); - javaParameters.getProgramParametersList().add("-socket" + myServerSocket.getLocalPort()); - } - catch (IOException e) { - LOG.error(e); - } + createServerSocket(javaParameters); } protected void configureClasspath(final JavaParameters javaParameters) throws ExecutionException { diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java index 47bd0c3f2271..532075d43723 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java @@ -86,7 +86,6 @@ public class TestNGRunnableState extends JavaTestFrameworkRunnableState { private int port; private String debugPort; private File myTempFile; - private ServerSocket myServerSocket; public TestNGRunnableState(ExecutionEnvironment environment, TestNGConfiguration config) { super(environment); @@ -338,9 +337,8 @@ public class TestNGRunnableState extends JavaTestFrameworkRunnableState { javaParameters.getProgramParametersList().add(TestNGCommandLineArgs.SRC_COMMAND_OPT, sb.toString()); }*/ + createServerSocket(javaParameters); try { - myServerSocket = new ServerSocket(0, 0, InetAddress.getByName("127.0.0.1")); - javaParameters.getProgramParametersList().add("-socket" + myServerSocket.getLocalPort()); myTempFile = FileUtil.createTempFile("idea_testng", ".tmp"); myTempFile.deleteOnExit(); javaParameters.getProgramParametersList().add("-temp", myTempFile.getAbsolutePath());