mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
testRunner: ensure tests are terminated
This commit is contained in:
+1
-14
@@ -96,7 +96,7 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
// or it finished after all tests have been run
|
||||
// Lets assume, if at finish all nodes except root suite have final state (passed, failed or ignored),
|
||||
// then all is ok otherwise process was terminated by user
|
||||
boolean completeTree = isTreeComplete();
|
||||
boolean completeTree = isTreeComplete(myRunningTestNodes, myTestsRootProxy);
|
||||
if (completeTree) {
|
||||
myTestsRootProxy.setFinished();
|
||||
} else {
|
||||
@@ -113,19 +113,6 @@ public class GeneralIdBasedToSMTRunnerEventsConvertor extends GeneralTestEventsP
|
||||
});
|
||||
}
|
||||
|
||||
private boolean isTreeComplete() {
|
||||
if (!myRunningTestNodes.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
List<? extends SMTestProxy> children = myTestsRootProxy.getChildren();
|
||||
for (SMTestProxy child : children) {
|
||||
if (!child.isFinal() || child.wasTerminated()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPrinterProvider(@NotNull TestProxyPrinterProvider printerProvider) {
|
||||
myTestProxyPrinterProvider = printerProvider;
|
||||
|
||||
+17
@@ -29,6 +29,9 @@ import org.jetbrains.annotations.NotNull;
|
||||
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.
|
||||
@@ -135,4 +138,18 @@ public abstract class GeneralTestEventsProcessor implements Disposable {
|
||||
myTransferToEDTQueue.offer(runnable);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected static <T> boolean isTreeComplete(Collection<T> runningTests, SMTestProxy.SMRootTestProxy rootNode) {
|
||||
if (!runningTests.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
List<? extends SMTestProxy> children = rootNode.getChildren();
|
||||
for (SMTestProxy child : children) {
|
||||
if (!child.isFinal() || child.wasTerminated()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ public class GeneralToSMTRunnerEventsConvertor extends GeneralTestEventsProcesso
|
||||
// or it finished after all tests have been run
|
||||
// Lets assume, if at finish all suites except root suite are passed
|
||||
// then all is ok otherwise process was terminated by user
|
||||
if (!myTestsRootNode.equals(mySuitesStack.getCurrentSuite())) {
|
||||
if (!isTreeComplete(myRunningTestsFullNameToProxy.keySet(), myTestsRootNode)) {
|
||||
myTestsRootNode.setTerminated();
|
||||
myRunningTestsFullNameToProxy.clear();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user