mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix PyBehaveTest: tearDown in a write-safe context
This commit is contained in:
+16
-22
@@ -47,6 +47,7 @@ import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.io.FileUtilRt;
|
||||
import com.intellij.testFramework.EdtTestUtil;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import com.intellij.xdebugger.XDebuggerTestUtil;
|
||||
import com.jetbrains.env.PyExecutionFixtureTestTask;
|
||||
@@ -136,30 +137,23 @@ public abstract class PyUnitTestTask extends PyExecutionFixtureTestTask {
|
||||
|
||||
@Override
|
||||
public void tearDown() {
|
||||
UIUtil.invokeAndWaitIfNeeded((Runnable)() -> {
|
||||
try {
|
||||
if (mySetUp) {
|
||||
if (myConsoleView != null) {
|
||||
Disposer.dispose(myConsoleView);
|
||||
myConsoleView = null;
|
||||
}
|
||||
if (myDescriptor != null) {
|
||||
Disposer.dispose(myDescriptor);
|
||||
myDescriptor = null;
|
||||
}
|
||||
|
||||
|
||||
PyUnitTestTask.super.tearDown();
|
||||
|
||||
mySetUp = false;
|
||||
EdtTestUtil.runInEdtAndWait(() -> {
|
||||
if (mySetUp) {
|
||||
if (myConsoleView != null) {
|
||||
Disposer.dispose(myConsoleView);
|
||||
myConsoleView = null;
|
||||
}
|
||||
if (myDescriptor != null) {
|
||||
Disposer.dispose(myDescriptor);
|
||||
myDescriptor = null;
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
);
|
||||
|
||||
super.tearDown();
|
||||
|
||||
mySetUp = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user