Fix leak in tests

This commit is contained in:
Ilya.Kazakevich
2018-07-05 00:56:16 +03:00
parent 4514b55c08
commit d157a3f2b4
@@ -11,12 +11,15 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.TransactionGuard;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.command.impl.UndoManagerImpl;
import com.intellij.openapi.command.undo.UndoManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.testFramework.LeakHunter;
import com.intellij.util.ui.UIUtil;
import com.intellij.xdebugger.frame.XValueChildrenList;
import com.jetbrains.env.PyExecutionFixtureTestTask;
@@ -89,7 +92,6 @@ public class PyConsoleTask extends PyExecutionFixtureTestTask {
public void tearDown() throws Exception {
// Prevents thread leak, see its doc
killRpcThread();
ApplicationManager.getApplication().invokeAndWait(() -> {
try {
if (myConsoleView != null) {
@@ -163,6 +165,8 @@ public class PyConsoleTask extends PyExecutionFixtureTestTask {
if (myConsoleView != null) {
WriteAction.runAndWait(() -> {
((UndoManagerImpl)UndoManager.getInstance(myFixture.getProject())).clearUndoRedoQueueInTests(myConsoleView.getEditorDocument());
((UndoManagerImpl)UndoManager.getGlobalInstance()).clearUndoRedoQueueInTests(myConsoleView.getEditorDocument());
Disposer.dispose(myConsoleView);
myConsoleView = null;
});