junit/testng: common attach searching for tests task

This commit is contained in:
Anna Kozlova
2015-04-07 11:26:04 +02:00
parent 227bdd8aa8
commit 3f0e21e75d
5 changed files with 35 additions and 58 deletions
@@ -19,6 +19,7 @@ import com.intellij.ExtensionPoints;
import com.intellij.execution.configurations.*;
import com.intellij.execution.process.OSProcessHandler;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.execution.testframework.SearchForTestsTask;
import com.intellij.execution.testframework.TestConsoleProperties;
import com.intellij.execution.testframework.TestFrameworkRunningModel;
import com.intellij.execution.testframework.TestSearchScope;
@@ -99,6 +100,10 @@ public abstract class JavaTestFrameworkRunnableState<T extends ModuleBasedConfig
}
}
public SearchForTestsTask createSearchingForTestsTask() {
return null;
}
protected boolean configureByModule(Module module) {
return module != null;
}
@@ -15,9 +15,11 @@
*/
package com.intellij.execution.testframework;
import com.intellij.execution.CantRunException;
import com.intellij.execution.ExecutionBundle;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.process.OSProcessHandler;
import com.intellij.execution.process.ProcessAdapter;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.progress.ProcessCanceledException;
@@ -74,6 +76,21 @@ public abstract class SearchForTestsTask extends Task.Backgroundable {
}
}
public void attachTaskToProcess(final OSProcessHandler handler) {
handler.addProcessListener(new ProcessAdapter() {
@Override
public void processTerminated(final ProcessEvent event) {
handler.removeProcessListener(this);
ensureFinished();
}
@Override
public void startNotified(final ProcessEvent event) {
startSearch();
}
});
}
@Override
public void run(@NotNull ProgressIndicator indicator) {
try {