mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
added PY-3119 Support auto-rerun of tests in PyCharm
This commit is contained in:
@@ -424,6 +424,8 @@
|
||||
<colorSettingsPage implementation="com.jetbrains.python.buildout.config.BuildoutCfgColorsPage"/>
|
||||
<projectService serviceInterface="com.jetbrains.python.testing.TestRunnerService"
|
||||
serviceImplementation="com.jetbrains.python.testing.TestRunnerService"/>
|
||||
<projectService serviceInterface="com.intellij.execution.testframework.autotest.AutoTestManager"
|
||||
serviceImplementation="com.intellij.execution.testframework.autotest.AutoTestManager"/>
|
||||
|
||||
<problemFileHighlightFilter implementation="com.jetbrains.python.buildout.config.BuildoutCfgProblemFileHighlightFilter"/>
|
||||
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
package com.jetbrains.python.testing;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.intellij.execution.DefaultExecutionResult;
|
||||
import com.intellij.execution.ExecutionException;
|
||||
import com.intellij.execution.ExecutionResult;
|
||||
import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.configurations.GeneralCommandLine;
|
||||
import com.intellij.execution.configurations.ParamsGroup;
|
||||
import com.intellij.execution.filters.Filter;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.autotest.ToggleAutoTestAction;
|
||||
import com.intellij.execution.testframework.sm.SMTestRunnerConnectionUtil;
|
||||
import com.intellij.execution.ui.ConsoleView;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.jetbrains.python.run.AbstractPythonRunConfiguration;
|
||||
import com.jetbrains.python.run.CommandLinePatcher;
|
||||
import com.jetbrains.python.run.PythonCommandLineState;
|
||||
import com.jetbrains.python.run.PythonTracebackFilter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -54,6 +60,20 @@ public abstract class PythonTestCommandLineStateBase extends PythonCommandLineSt
|
||||
return cmd;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExecutionResult execute(Executor executor, CommandLinePatcher... patchers) throws ExecutionException {
|
||||
final ProcessHandler processHandler = startProcess(patchers);
|
||||
final ConsoleView console = createAndAttachConsole(getConfig().getProject(), processHandler, executor);
|
||||
|
||||
List<AnAction> actions = Lists
|
||||
.newArrayList(createActions(console, processHandler));
|
||||
|
||||
DefaultExecutionResult executionResult =
|
||||
new DefaultExecutionResult(console, processHandler, actions.toArray(new AnAction[actions.size()]));
|
||||
executionResult.setRestartActions(new ToggleAutoTestAction());
|
||||
return executionResult;
|
||||
}
|
||||
|
||||
protected abstract void addTestRunnerParameters(GeneralCommandLine cmd);
|
||||
protected abstract List<String> getTestSpecs();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user