From d157a3f2b422a4b7c79dfab9f77d02a989a7ef74 Mon Sep 17 00:00:00 2001 From: "Ilya.Kazakevich" Date: Thu, 5 Jul 2018 00:56:16 +0300 Subject: [PATCH] Fix leak in tests --- .../com/jetbrains/env/python/console/PyConsoleTask.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python/testSrc/com/jetbrains/env/python/console/PyConsoleTask.java b/python/testSrc/com/jetbrains/env/python/console/PyConsoleTask.java index c72d2257a15d..5654375286c2 100644 --- a/python/testSrc/com/jetbrains/env/python/console/PyConsoleTask.java +++ b/python/testSrc/com/jetbrains/env/python/console/PyConsoleTask.java @@ -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; });