mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
junit/testng: use common temp file with tests enumeration
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
+10
-24
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user