import tests: ensure additional actions are included into imported view; runner is chosen according to initial configuration (IDEA-142115)

This commit is contained in:
Anna Kozlova
2015-07-01 21:31:40 +03:00
parent 1d09eff133
commit 01d259f8cc
5 changed files with 28 additions and 5 deletions
@@ -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);
}
}
}
@@ -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;
}
@@ -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() {
@@ -58,8 +58,8 @@ public class JUnitConsoleProperties extends JavaAwareTestConsoleProperties<JUnit
}
@Override
protected void appendAdditionalActions(DefaultActionGroup actionGroup,
JComponent parent) {
public void appendAdditionalActions(DefaultActionGroup actionGroup,
JComponent parent) {
super.appendAdditionalActions(actionGroup, parent);
actionGroup.add(createIncludeNonStartedInRerun());
}
@@ -55,7 +55,7 @@ public class TestNGConsoleProperties extends JavaAwareTestConsoleProperties<Test
}
@Override
protected void appendAdditionalActions(DefaultActionGroup actionGroup, JComponent parent) {
public void appendAdditionalActions(DefaultActionGroup actionGroup, JComponent parent) {
super.appendAdditionalActions(actionGroup, parent);
actionGroup.add(createIncludeNonStartedInRerun());
actionGroup.add(Separator.getInstance());