diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/history/ImportedTestConsoleProperties.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/history/ImportedTestConsoleProperties.java index 0b529b46083d..4241ba73fa57 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/history/ImportedTestConsoleProperties.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/history/ImportedTestConsoleProperties.java @@ -28,11 +28,14 @@ import com.intellij.execution.testframework.sm.runner.SMTRunnerConsoleProperties import com.intellij.execution.testframework.sm.runner.SMTestLocator; import com.intellij.execution.testframework.sm.runner.TestProxyFilterProvider; import com.intellij.execution.ui.ConsoleView; +import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.project.Project; import com.intellij.pom.Navigatable; +import com.intellij.util.config.ToggleBooleanProperty; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import javax.swing.*; import java.io.File; public class ImportedTestConsoleProperties extends SMTRunnerConsoleProperties implements SMCustomMessagesParsing { @@ -111,4 +114,11 @@ public class ImportedTestConsoleProperties extends SMTRunnerConsoleProperties im public AbstractRerunFailedTestsAction createRerunFailedTestsAction(ConsoleView consoleView) { return myProperties == null ? null : myProperties.createRerunFailedTestsAction(consoleView); } + + @Override + public void appendAdditionalActions(DefaultActionGroup actionGroup, JComponent parent) { + if (myProperties != null) { + myProperties.appendAdditionalActions(actionGroup, parent); + } + } } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/history/actions/AbstractImportTestsAction.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/history/actions/AbstractImportTestsAction.java index cab2b7f18147..efd1d7342f62 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/history/actions/AbstractImportTestsAction.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/history/actions/AbstractImportTestsAction.java @@ -18,6 +18,7 @@ package com.intellij.execution.testframework.sm.runner.history.actions; import com.intellij.execution.ExecutionException; import com.intellij.execution.Executor; import com.intellij.execution.ExecutorRegistry; +import com.intellij.execution.RunnerRegistry; import com.intellij.execution.configurations.RunConfiguration; import com.intellij.execution.configurations.RunProfile; import com.intellij.execution.configurations.RunProfileState; @@ -26,6 +27,7 @@ import com.intellij.execution.impl.RunManagerImpl; import com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.runners.ExecutionEnvironmentBuilder; +import com.intellij.execution.runners.ProgramRunner; import com.intellij.execution.testframework.export.TestResultsXmlFormatter; import com.intellij.execution.testframework.sm.runner.history.ImportedTestRunnableState; import com.intellij.execution.testframework.sm.runner.SMRunnerConsolePropertiesProvider; @@ -115,7 +117,14 @@ public abstract class AbstractImportTestsAction extends AnAction { } final Executor executor = properties != null ? properties.getExecutor() : ExecutorRegistry.getInstance().getExecutorById(DefaultRunExecutor.EXECUTOR_ID); - ExecutionEnvironmentBuilder.create(project, executor, profile).buildAndExecute(); + ExecutionEnvironmentBuilder builder = ExecutionEnvironmentBuilder.create(project, executor, profile); + final RunConfiguration initialConfiguration = profile.getInitialConfiguration(); + final ProgramRunner runner = + initialConfiguration != null ? RunnerRegistry.getInstance().getRunner(executor.getId(), initialConfiguration) : null; + if (runner != null) { + builder = builder.runner(runner); + } + builder.buildAndExecute(); } catch (ExecutionException e1) { Messages.showErrorDialog(project, e1.getMessage(), "Import Failed"); @@ -214,6 +223,10 @@ public abstract class AbstractImportTestsAction extends AnAction { return myProperties; } + public RunConfiguration getInitialConfiguration() { + return mySettings != null ? mySettings.getConfiguration() : null; + } + public Project getProject() { return myProject; } diff --git a/platform/testRunner/src/com/intellij/execution/testframework/TestConsoleProperties.java b/platform/testRunner/src/com/intellij/execution/testframework/TestConsoleProperties.java index 7a94049bd415..5c8ab91ca7ca 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/TestConsoleProperties.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/TestConsoleProperties.java @@ -195,7 +195,7 @@ public abstract class TestConsoleProperties extends StoringPropertyContainer imp myUsePredefinedMessageFilter = usePredefinedMessageFilter; } - protected void appendAdditionalActions(DefaultActionGroup actionGroup, JComponent parent) { } + public void appendAdditionalActions(DefaultActionGroup actionGroup, JComponent parent) { } @Nullable protected AnAction createImportAction() { diff --git a/plugins/junit/src/com/intellij/execution/junit2/ui/properties/JUnitConsoleProperties.java b/plugins/junit/src/com/intellij/execution/junit2/ui/properties/JUnitConsoleProperties.java index 24fcb2a87aba..b6ee77a9639d 100644 --- a/plugins/junit/src/com/intellij/execution/junit2/ui/properties/JUnitConsoleProperties.java +++ b/plugins/junit/src/com/intellij/execution/junit2/ui/properties/JUnitConsoleProperties.java @@ -58,8 +58,8 @@ public class JUnitConsoleProperties extends JavaAwareTestConsoleProperties