sm runner: suggest to fix configuration if no tests were found

This commit is contained in:
Anna Kozlova
2015-04-13 19:23:51 +02:00
parent aa080230b6
commit fb9e6e0677
7 changed files with 29 additions and 17 deletions
@@ -21,7 +21,10 @@ import com.intellij.execution.process.OSProcessHandler;
import com.intellij.execution.process.ProcessAdapter;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.execution.testframework.*;
import com.intellij.execution.testframework.JavaTestLocationProvider;
import com.intellij.execution.testframework.SearchForTestsTask;
import com.intellij.execution.testframework.TestConsoleProperties;
import com.intellij.execution.testframework.TestFrameworkRunningModel;
import com.intellij.execution.testframework.actions.AbstractRerunFailedTestsAction;
import com.intellij.execution.testframework.sm.SMTestRunnerConnectionUtil;
import com.intellij.execution.testframework.sm.runner.SMTRunnerConsoleProperties;
@@ -114,13 +117,7 @@ public abstract class JavaTestFrameworkRunnableState<T extends ModuleBasedConfig
public void processTerminated(ProcessEvent event) {
Runnable runnable = new Runnable() {
public void run() {
final AbstractTestProxy viewerRoot = viewer.getRoot();
if (viewer.hasTestSuites() ||
!ResetConfigurationModuleAdapter.tryWithAnotherModule(getConfiguration(), testConsoleProperties.isDebug())) {
TestsUIUtil.notifyByBalloon(testConsoleProperties.getProject(), viewer.hasTestSuites(), viewerRoot, testConsoleProperties, null);
}
viewerRoot.flush();
viewer.getRoot().flush();
deleteTempFiles();
clear();
}
@@ -22,16 +22,17 @@ package com.intellij.execution.testframework;
import com.intellij.debugger.DebuggerManagerEx;
import com.intellij.debugger.impl.DebuggerSession;
import com.intellij.execution.CommonJavaRunConfigurationParameters;
import com.intellij.execution.Executor;
import com.intellij.execution.configurations.JavaRunConfigurationModule;
import com.intellij.execution.configurations.ModuleBasedConfiguration;
import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.execution.testframework.sm.runner.SMTRunnerConsoleProperties;
import com.intellij.openapi.project.Project;
import com.intellij.util.config.Storage;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
public abstract class JavaAwareTestConsoleProperties extends SMTRunnerConsoleProperties {
public abstract class JavaAwareTestConsoleProperties<T extends ModuleBasedConfiguration<JavaRunConfigurationModule> & CommonJavaRunConfigurationParameters> extends SMTRunnerConsoleProperties {
public JavaAwareTestConsoleProperties(final String testFrameworkName, RunConfiguration configuration, Executor executor) {
super(configuration, testFrameworkName, executor, false);
}
@@ -42,6 +43,16 @@ public abstract class JavaAwareTestConsoleProperties extends SMTRunnerConsolePro
return debuggerSession != null && debuggerSession.isPaused();
}
@Override
public T getConfiguration() {
return (T)super.getConfiguration();
}
@Override
public boolean fixEmptySuite() {
return ResetConfigurationModuleAdapter.tryWithAnotherModule(getConfiguration(), isDebug());
}
@Nullable
public DebuggerSession getDebugSession() {
final DebuggerManagerEx debuggerManager = DebuggerManagerEx.getInstanceEx(getProject());