mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
sm protocol: replace collection of listeners with message bus
This commit is contained in:
+6
-3
@@ -26,7 +26,10 @@ import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.testframework.TestConsoleProperties;
|
||||
import com.intellij.execution.testframework.sm.runner.*;
|
||||
import com.intellij.execution.testframework.sm.runner.ui.*;
|
||||
import com.intellij.execution.testframework.sm.runner.ui.AttachToProcessListener;
|
||||
import com.intellij.execution.testframework.sm.runner.ui.SMTRunnerConsoleView;
|
||||
import com.intellij.execution.testframework.sm.runner.ui.SMTRunnerUIActionsHandler;
|
||||
import com.intellij.execution.testframework.sm.runner.ui.SMTestRunnerResultsForm;
|
||||
import com.intellij.execution.testframework.sm.runner.ui.statistics.StatisticsPanel;
|
||||
import com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView;
|
||||
import com.intellij.execution.ui.ConsoleView;
|
||||
@@ -186,10 +189,10 @@ public class SMTestRunnerConnectionUtil {
|
||||
// events processor
|
||||
final GeneralTestEventsProcessor eventsProcessor;
|
||||
if (idBasedTestTree) {
|
||||
eventsProcessor = new GeneralIdBasedToSMTRunnerEventsConvertor(resultsViewer.getTestsRootNode(), testFrameworkName);
|
||||
eventsProcessor = new GeneralIdBasedToSMTRunnerEventsConvertor(consoleProperties.getProject(), resultsViewer.getTestsRootNode(), testFrameworkName);
|
||||
}
|
||||
else {
|
||||
eventsProcessor = new GeneralToSMTRunnerEventsConvertor(resultsViewer.getTestsRootNode(), testFrameworkName);
|
||||
eventsProcessor = new GeneralToSMTRunnerEventsConvertor(consoleProperties.getProject(), resultsViewer.getTestsRootNode(), testFrameworkName);
|
||||
}
|
||||
|
||||
if (locator != null) {
|
||||
|
||||
+20
-101
@@ -22,6 +22,7 @@ import com.intellij.execution.testframework.sm.runner.events.*;
|
||||
import com.intellij.openapi.application.Application;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import gnu.trove.TIntObjectHashMap;
|
||||
@@ -36,7 +37,6 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
|
||||
private final TIntObjectHashMap<Node> myNodeByIdMap = new TIntObjectHashMap<Node>();
|
||||
private final Set<Node> myRunningTestNodes = ContainerUtil.newHashSet();
|
||||
private final List<SMTRunnerEventsListener> myEventsListeners = ContainerUtil.createLockFreeCopyOnWriteList();
|
||||
private final SMTestProxy.SMRootTestProxy myTestsRootProxy;
|
||||
private final Node myTestsRootNode;
|
||||
private final String myTestFrameworkName;
|
||||
@@ -45,7 +45,10 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
private SMTestLocator myLocator = null;
|
||||
private TestProxyPrinterProvider myTestProxyPrinterProvider = null;
|
||||
|
||||
public GeneralIdBasedToSMTRunnerEventsConvertor(@NotNull SMTestProxy.SMRootTestProxy testsRootProxy, @NotNull String testFrameworkName) {
|
||||
public GeneralIdBasedToSMTRunnerEventsConvertor(Project project,
|
||||
@NotNull SMTestProxy.SMRootTestProxy testsRootProxy,
|
||||
@NotNull String testFrameworkName) {
|
||||
super(project);
|
||||
myTestsRootProxy = testsRootProxy;
|
||||
myTestsRootNode = new Node(0, null, testsRootProxy);
|
||||
myTestFrameworkName = testFrameworkName;
|
||||
@@ -57,16 +60,12 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
myLocator = locator;
|
||||
}
|
||||
|
||||
public void addEventsListener(@NotNull SMTRunnerEventsListener listener) {
|
||||
myEventsListeners.add(listener);
|
||||
}
|
||||
|
||||
public void onStartTesting() {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
myTestsRootNode.setState(State.RUNNING, GeneralIdBasedToSMTRunnerEventsConvertor.this);
|
||||
myTestsRootProxy.setStarted();
|
||||
fireOnTestingStarted();
|
||||
myEventPublisher.onTestingStarted(myTestsRootProxy);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -105,7 +104,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
myNodeByIdMap.clear();
|
||||
myRunningTestNodes.clear();
|
||||
|
||||
fireOnTestingFinished();
|
||||
myEventPublisher.onTestingFinished(myTestsRootProxy);
|
||||
}
|
||||
});
|
||||
stopEventProcessing();
|
||||
@@ -201,7 +200,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
SMTestProxy testProxy = node.getProxy();
|
||||
testProxy.setDuration(testFinishedEvent.getDuration());
|
||||
testProxy.setFinished();
|
||||
fireOnTestFinished(testProxy);
|
||||
myEventPublisher.onTestFinished(testProxy);
|
||||
terminateNode(node, State.FINISHED);
|
||||
}
|
||||
}
|
||||
@@ -215,7 +214,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
if (node != null) {
|
||||
SMTestProxy suiteProxy = node.getProxy();
|
||||
suiteProxy.setFinished();
|
||||
fireOnSuiteFinished(suiteProxy);
|
||||
myEventPublisher.onSuiteFinished(suiteProxy);
|
||||
terminateNode(node, State.FINISHED);
|
||||
}
|
||||
}
|
||||
@@ -264,7 +263,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
final int testCount) {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnCustomProgressTestsCategory(categoryName, testCount);
|
||||
myEventPublisher.onCustomProgressTestsCategory(categoryName, testCount);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -272,7 +271,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
public void onCustomProgressTestStarted() {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnCustomProgressTestStarted();
|
||||
myEventPublisher.onCustomProgressTestStarted();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -281,7 +280,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
public void onCustomProgressTestFinished() {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnCustomProgressTestFinished();
|
||||
myEventPublisher.onCustomProgressTestFinished();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -289,7 +288,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
public void onCustomProgressTestFailed() {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnCustomProgressTestFailed();
|
||||
myEventPublisher.onCustomProgressTestFailed();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -326,7 +325,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
}
|
||||
|
||||
// fire event
|
||||
fireOnTestFailed(testProxy);
|
||||
myEventPublisher.onTestFailed(testProxy);
|
||||
|
||||
terminateNode(node, State.FAILED);
|
||||
}
|
||||
@@ -341,7 +340,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
SMTestProxy testProxy = node.getProxy();
|
||||
testProxy.setTestIgnored(testIgnoredEvent.getIgnoreComment(), testIgnoredEvent.getStacktrace());
|
||||
// fire event
|
||||
fireOnTestIgnored(testProxy);
|
||||
myEventPublisher.onTestIgnored(testProxy);
|
||||
terminateNode(node, State.IGNORED);
|
||||
}
|
||||
}
|
||||
@@ -370,7 +369,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
public void onTestsCountInSuite(final int count) {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnTestsCountInSuite(count);
|
||||
myEventPublisher.onTestsCountInSuite(count);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -397,87 +396,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
Node node = myNodeByIdMap.get(id);
|
||||
return node != null ? node.getProxy() : null;
|
||||
}
|
||||
|
||||
private void fireOnTestingStarted() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestingStarted(myTestsRootProxy);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestingFinished() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestingFinished(myTestsRootProxy);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestsCountInSuite(final int count) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestsCountInSuite(count);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void fireOnTestStarted(final SMTestProxy test) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestStarted(test);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestFinished(final SMTestProxy test) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestFinished(test);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestFailed(final SMTestProxy test) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestFailed(test);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestIgnored(final SMTestProxy test) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestIgnored(test);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnSuiteStarted(final SMTestProxy suite) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onSuiteStarted(suite);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnSuiteFinished(final SMTestProxy suite) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onSuiteFinished(suite);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void fireOnCustomProgressTestsCategory(@Nullable final String categoryName, int testCount) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onCustomProgressTestsCategory(categoryName, testCount);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnCustomProgressTestStarted() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onCustomProgressTestStarted();
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnCustomProgressTestFinished() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onCustomProgressTestFinished();
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnCustomProgressTestFailed() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onCustomProgressTestFailed();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Remove listeners, etc
|
||||
*/
|
||||
@@ -485,7 +404,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
super.dispose();
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
myEventsListeners.clear();
|
||||
disconnectListeners();
|
||||
|
||||
if (!myRunningTestNodes.isEmpty()) {
|
||||
Application application = ApplicationManager.getApplication();
|
||||
@@ -506,10 +425,10 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
SMTestProxy proxy = node.getProxy();
|
||||
proxy.setStarted();
|
||||
if (proxy.isSuite()) {
|
||||
fireOnSuiteStarted(proxy);
|
||||
myEventPublisher.onSuiteStarted(proxy);
|
||||
} else {
|
||||
myRunningTestNodes.add(lowestNode);
|
||||
fireOnTestStarted(proxy);
|
||||
myEventPublisher.onTestStarted(proxy);
|
||||
}
|
||||
node = node.getParentNode();
|
||||
}
|
||||
|
||||
+21
-3
@@ -19,11 +19,14 @@ import com.intellij.execution.testframework.sm.runner.events.*;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.Application;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.Conditions;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.containers.HashMap;
|
||||
import com.intellij.util.containers.TransferToEDTQueue;
|
||||
import com.intellij.util.messages.MessageBusConnection;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -31,7 +34,6 @@ import org.jetbrains.annotations.Nullable;
|
||||
import javax.swing.*;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Processes events of test runner in general text-based form.
|
||||
@@ -41,6 +43,8 @@ import java.util.Map;
|
||||
* @author: Roman Chernyatchik
|
||||
*/
|
||||
public abstract class GeneralTestEventsProcessor implements Disposable {
|
||||
protected final SMTRunnerEventsListener myEventPublisher;
|
||||
private final Project myProject;
|
||||
private TransferToEDTQueue<Runnable> myTransferToEDTQueue =
|
||||
new TransferToEDTQueue<Runnable>("SM queue", new Processor<Runnable>() {
|
||||
@Override
|
||||
@@ -49,8 +53,12 @@ public abstract class GeneralTestEventsProcessor implements Disposable {
|
||||
return true;
|
||||
}
|
||||
}, getDisposedCondition(), 300);
|
||||
private HashMap<SMTRunnerEventsListener, MessageBusConnection> myListenerAdapters = new HashMap<SMTRunnerEventsListener, MessageBusConnection>();
|
||||
|
||||
|
||||
public GeneralTestEventsProcessor(Project project) {
|
||||
myProject = project;
|
||||
myEventPublisher = project.getMessageBus().syncPublisher(SMTRunnerEventsListener.TEST_STATUS);
|
||||
}
|
||||
// tree construction events
|
||||
|
||||
public void onRootPresentationAdded(String rootName, String comment, String rootLocation) {}
|
||||
@@ -108,7 +116,11 @@ public abstract class GeneralTestEventsProcessor implements Disposable {
|
||||
|
||||
public abstract void setLocator(@NotNull SMTestLocator locator);
|
||||
|
||||
public abstract void addEventsListener(@NotNull SMTRunnerEventsListener viewer);
|
||||
public void addEventsListener(@NotNull SMTRunnerEventsListener listener) {
|
||||
final MessageBusConnection connection = myProject.getMessageBus().connect();
|
||||
myListenerAdapters.put(listener, connection);
|
||||
connection.subscribe(SMTRunnerEventsListener.TEST_STATUS, listener);
|
||||
}
|
||||
|
||||
public abstract void setPrinterProvider(@NotNull TestProxyPrinterProvider printerProvider);
|
||||
|
||||
@@ -124,6 +136,12 @@ public abstract class GeneralTestEventsProcessor implements Disposable {
|
||||
}
|
||||
}
|
||||
|
||||
protected void disconnectListeners() {
|
||||
for (MessageBusConnection connection : myListenerAdapters.values()) {
|
||||
connection.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
public Condition getDisposedCondition() {
|
||||
return Conditions.alwaysFalse();
|
||||
}
|
||||
|
||||
+20
-116
@@ -18,15 +18,13 @@ package com.intellij.execution.testframework.sm.runner;
|
||||
import com.intellij.execution.process.ProcessOutputTypes;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.execution.testframework.sm.SMTestRunnerConnectionUtil;
|
||||
import com.intellij.execution.testframework.sm.SMTestsRunnerBundle;
|
||||
import com.intellij.execution.testframework.sm.runner.events.*;
|
||||
import com.intellij.openapi.application.Application;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
@@ -44,7 +42,6 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
private final Map<String, SMTestProxy> myRunningTestsFullNameToProxy = new HashMap<String, SMTestProxy>();
|
||||
private final Set<AbstractTestProxy> myFailedTestsSet = new HashSet<AbstractTestProxy>();
|
||||
private final TestSuiteStack mySuitesStack = new TestSuiteStack();
|
||||
private final List<SMTRunnerEventsListener> myEventsListeners = ContainerUtil.createLockFreeCopyOnWriteList();
|
||||
private final SMTestProxy.SMRootTestProxy myTestsRootNode;
|
||||
private final String myTestFrameworkName;
|
||||
|
||||
@@ -52,7 +49,9 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
private SMTestLocator myLocator = null;
|
||||
private boolean myTreeBuildBeforeStart = false;
|
||||
|
||||
public GeneralToSMTRunnerEventsConvertor(@NotNull SMTestProxy.SMRootTestProxy testsRootNode, @NotNull String testFrameworkName) {
|
||||
public GeneralToSMTRunnerEventsConvertor(Project project, @NotNull SMTestProxy.SMRootTestProxy testsRootNode,
|
||||
@NotNull String testFrameworkName) {
|
||||
super(project);
|
||||
myTestsRootNode = testsRootNode;
|
||||
myTestFrameworkName = testFrameworkName;
|
||||
}
|
||||
@@ -62,10 +61,6 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
myLocator = locator;
|
||||
}
|
||||
|
||||
public void addEventsListener(@NotNull final SMTRunnerEventsListener listener) {
|
||||
myEventsListeners.add(listener);
|
||||
}
|
||||
|
||||
public void onStartTesting() {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
@@ -73,7 +68,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
myTestsRootNode.setStarted();
|
||||
|
||||
//fire
|
||||
fireOnTestingStarted();
|
||||
myEventPublisher.onTestingStarted(myTestsRootNode);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -109,7 +104,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
|
||||
|
||||
//fire events
|
||||
fireOnTestingFinished();
|
||||
myEventPublisher.onTestingFinished(myTestsRootNode);
|
||||
}
|
||||
});
|
||||
stopEventProcessing();
|
||||
@@ -141,7 +136,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
testProxy.setLocator(myLocator);
|
||||
}
|
||||
getCurrentSuite().addChild(testProxy);
|
||||
fireOnSuiteTreeNodeAdded(testProxy);
|
||||
myEventPublisher.onSuiteTreeNodeAdded(testProxy);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -161,7 +156,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
|
||||
mySuitesStack.pushSuite(newSuite);
|
||||
|
||||
fireOnSuiteTreeStarted(newSuite);
|
||||
myEventPublisher.onSuiteTreeStarted(newSuite);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -217,7 +212,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
testProxy.setStarted();
|
||||
|
||||
//fire events
|
||||
fireOnTestStarted(testProxy);
|
||||
myEventPublisher.onTestStarted(testProxy);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -247,7 +242,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
newSuite.setStarted();
|
||||
|
||||
//fire event
|
||||
fireOnSuiteStarted(newSuite);
|
||||
myEventPublisher.onSuiteStarted(newSuite);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -282,7 +277,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
myRunningTestsFullNameToProxy.remove(fullTestName);
|
||||
|
||||
//fire events
|
||||
fireOnTestFinished(testProxy);
|
||||
myEventPublisher.onTestFinished(testProxy);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -296,7 +291,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
mySuite.setFinished();
|
||||
|
||||
//fire events
|
||||
fireOnSuiteFinished(mySuite);
|
||||
myEventPublisher.onSuiteFinished(mySuite);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -333,7 +328,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
final int testCount) {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnCustomProgressTestsCategory(categoryName, testCount);
|
||||
myEventPublisher.onCustomProgressTestsCategory(categoryName, testCount);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -341,7 +336,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
public void onCustomProgressTestStarted() {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnCustomProgressTestStarted();
|
||||
myEventPublisher.onCustomProgressTestStarted();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -349,7 +344,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
public void onCustomProgressTestFinished() {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnCustomProgressTestFinished();
|
||||
myEventPublisher.onCustomProgressTestFinished();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -358,7 +353,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
public void onCustomProgressTestFailed() {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnCustomProgressTestFailed();
|
||||
myEventPublisher.onCustomProgressTestFailed();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -428,7 +423,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
myFailedTestsSet.add(testProxy);
|
||||
|
||||
// fire event
|
||||
fireOnTestFailed(testProxy);
|
||||
myEventPublisher.onTestFailed(testProxy);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -465,7 +460,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
testProxy.setTestIgnored(ignoreComment, stackTrace);
|
||||
|
||||
// fire event
|
||||
fireOnTestIgnored(testProxy);
|
||||
myEventPublisher.onTestIgnored(testProxy);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -498,7 +493,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
public void onTestsCountInSuite(final int count) {
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
fireOnTestsCountInSuite(count);
|
||||
myEventPublisher.onTestsCountInSuite(count);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -557,97 +552,6 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
return namesDump;
|
||||
}
|
||||
|
||||
private void fireOnTestingStarted() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestingStarted(myTestsRootNode);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestingFinished() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestingFinished(myTestsRootNode);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestsCountInSuite(final int count) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestsCountInSuite(count);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnSuiteTreeNodeAdded(SMTestProxy testProxy) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onSuiteTreeNodeAdded(testProxy);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnSuiteTreeStarted(SMTestProxy suite) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onSuiteTreeStarted(suite);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void fireOnTestStarted(final SMTestProxy test) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestStarted(test);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestFinished(final SMTestProxy test) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestFinished(test);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestFailed(final SMTestProxy test) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestFailed(test);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnTestIgnored(final SMTestProxy test) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onTestIgnored(test);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnSuiteStarted(final SMTestProxy suite) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onSuiteStarted(suite);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnSuiteFinished(final SMTestProxy suite) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onSuiteFinished(suite);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void fireOnCustomProgressTestsCategory(@Nullable final String categoryName, int testCount) {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onCustomProgressTestsCategory(categoryName, testCount);
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnCustomProgressTestStarted() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onCustomProgressTestStarted();
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnCustomProgressTestFinished() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onCustomProgressTestFinished();
|
||||
}
|
||||
}
|
||||
|
||||
private void fireOnCustomProgressTestFailed() {
|
||||
for (SMTRunnerEventsListener listener : myEventsListeners) {
|
||||
listener.onCustomProgressTestFailed();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Remove listeners, etc
|
||||
@@ -656,8 +560,8 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
super.dispose();
|
||||
addToInvokeLater(new Runnable() {
|
||||
public void run() {
|
||||
myEventsListeners.clear();
|
||||
|
||||
disconnectListeners();
|
||||
if (!myRunningTestsFullNameToProxy.isEmpty()) {
|
||||
final Application application = ApplicationManager.getApplication();
|
||||
if (!application.isHeadlessEnvironment() && !application.isUnitTestMode()) {
|
||||
|
||||
+3
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.execution.testframework.sm.runner;
|
||||
|
||||
import com.intellij.util.messages.Topic;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -26,6 +27,8 @@ import java.util.List;
|
||||
* Handles Test Runner events
|
||||
*/
|
||||
public interface SMTRunnerEventsListener {
|
||||
Topic<SMTRunnerEventsListener> TEST_STATUS = new Topic<SMTRunnerEventsListener>("test status", SMTRunnerEventsListener.class);
|
||||
|
||||
/**
|
||||
* On start testing, before tests and suits launching
|
||||
* @param testsRoot
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertorTest extends BaseSMTRunnerT
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
myRootProxy = new SMTestProxy.SMRootTestProxy();
|
||||
myEventsProcessor = new GeneralIdBasedToSMTRunnerEventsConvertor(myRootProxy, "test");
|
||||
myEventsProcessor = new GeneralIdBasedToSMTRunnerEventsConvertor(getProject(), myRootProxy, "test");
|
||||
myEventsProcessor.onStartTesting();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ public class GeneralToSMTRunnerEventsConvertorTest extends BaseSMTRunnerTestCase
|
||||
myConsole = new MyConsoleView(consoleProperties, environment);
|
||||
myConsole.initUI();
|
||||
myResultsViewer = myConsole.getResultsViewer();
|
||||
myEventsProcessor = new GeneralToSMTRunnerEventsConvertor(myResultsViewer.getTestsRootNode(), "SMTestFramework");
|
||||
myEventsProcessor = new GeneralToSMTRunnerEventsConvertor(consoleProperties.getProject(), myResultsViewer.getTestsRootNode(), "SMTestFramework");
|
||||
myEventsProcessor.addEventsListener(myResultsViewer);
|
||||
myTreeModel = myResultsViewer.getTreeView().getModel();
|
||||
|
||||
|
||||
+6
-1
@@ -16,6 +16,7 @@
|
||||
package com.intellij.execution.testframework.sm.runner;
|
||||
|
||||
import com.intellij.execution.testframework.sm.runner.events.*;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -26,6 +27,10 @@ import org.jetbrains.annotations.Nullable;
|
||||
public class MockGeneralTestEventsProcessorAdapter extends GeneralTestEventsProcessor {
|
||||
private final StringBuilder myOutputBuffer = new StringBuilder();
|
||||
|
||||
public MockGeneralTestEventsProcessorAdapter(Project project) {
|
||||
super(project);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartTesting() {
|
||||
}
|
||||
@@ -96,7 +101,7 @@ public class MockGeneralTestEventsProcessorAdapter extends GeneralTestEventsProc
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addEventsListener(@NotNull SMTRunnerEventsListener viewer) {
|
||||
public void addEventsListener(@NotNull SMTRunnerEventsListener listener) {
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ public class OutputToGeneralTestsEventsConverterTest extends BaseSMTRunnerTestCa
|
||||
testFrameworkName,
|
||||
DefaultRunExecutor.getRunExecutorInstance());
|
||||
myOutputConsumer = new OutputToGeneralTestEventsConverter(testFrameworkName, properties);
|
||||
myEnventsProcessor = new MockGeneralTestEventsProcessorAdapter();
|
||||
myEnventsProcessor = new MockGeneralTestEventsProcessorAdapter(properties.getProject());
|
||||
myOutputConsumer.setProcessor(myEnventsProcessor);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ public class SMTRunnerConsoleTest extends BaseSMTRunnerTestCase {
|
||||
myConsole.initUI();
|
||||
myResultsViewer = myConsole.getResultsViewer();
|
||||
myRootSuite = myResultsViewer.getTestsRootNode();
|
||||
myEventsProcessor = new GeneralToSMTRunnerEventsConvertor(myResultsViewer.getTestsRootNode(), "SMTestFramework");
|
||||
myEventsProcessor = new GeneralToSMTRunnerEventsConvertor(consoleProperties.getProject(), myResultsViewer.getTestsRootNode(), "SMTestFramework");
|
||||
|
||||
myEventsProcessor.onStartTesting();
|
||||
}
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ public class SMTestRunnerResultsFormTest extends BaseSMTRunnerTestCase {
|
||||
myConsole.initUI();
|
||||
myResultsViewer = myConsole.getResultsViewer();
|
||||
myTestsRootNode = myResultsViewer.getTestsRootNode();
|
||||
myEventsProcessor = new GeneralToSMTRunnerEventsConvertor(myResultsViewer.getTestsRootNode(), "SMTestFramework");
|
||||
myEventsProcessor = new GeneralToSMTRunnerEventsConvertor(myConsoleProperties.getProject(), myResultsViewer.getTestsRootNode(), "SMTestFramework");
|
||||
myEventsProcessor.addEventsListener(myResultsViewer);
|
||||
myTreeModel = myResultsViewer.getTreeView().getModel();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user