diff --git a/python/src/META-INF/python-plugin-common.xml b/python/src/META-INF/python-plugin-common.xml index b9f666ad1c02..38fb5af3a6c8 100644 --- a/python/src/META-INF/python-plugin-common.xml +++ b/python/src/META-INF/python-plugin-common.xml @@ -424,6 +424,8 @@ + diff --git a/python/src/com/jetbrains/python/testing/PythonTestCommandLineStateBase.java b/python/src/com/jetbrains/python/testing/PythonTestCommandLineStateBase.java index 5f2abef9372a..6a0354981929 100644 --- a/python/src/com/jetbrains/python/testing/PythonTestCommandLineStateBase.java +++ b/python/src/com/jetbrains/python/testing/PythonTestCommandLineStateBase.java @@ -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 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 getTestSpecs(); }