From 58a60e4418f657e718422e5d9c43533fe417cbb1 Mon Sep 17 00:00:00 2001 From: Elizaveta Shashkova Date: Mon, 19 Feb 2018 18:16:57 +0300 Subject: [PATCH] Tests: always shut down async evaluation service in tests --- .../python/debugger/PyDebugValueExecutionService.java | 8 ++++++++ .../com/jetbrains/env/python/console/PyConsoleTask.java | 2 +- .../com/jetbrains/env/python/debug/PyDebuggerTask.java | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/python/pydevSrc/com/jetbrains/python/debugger/PyDebugValueExecutionService.java b/python/pydevSrc/com/jetbrains/python/debugger/PyDebugValueExecutionService.java index 5353b12d4b42..00fc455f5335 100644 --- a/python/pydevSrc/com/jetbrains/python/debugger/PyDebugValueExecutionService.java +++ b/python/pydevSrc/com/jetbrains/python/debugger/PyDebugValueExecutionService.java @@ -6,6 +6,7 @@ import com.intellij.openapi.project.Project; import com.intellij.util.ConcurrencyUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.TestOnly; import java.util.ArrayList; import java.util.List; @@ -72,4 +73,11 @@ public final class PyDebugValueExecutionService { myAsyncValuesExecutorService = null; } } + + @TestOnly + public synchronized void shutDownNow() { + if (myAsyncValuesExecutorService != null) { + myAsyncValuesExecutorService.shutdownNow(); + } + } } diff --git a/python/testSrc/com/jetbrains/env/python/console/PyConsoleTask.java b/python/testSrc/com/jetbrains/env/python/console/PyConsoleTask.java index 8e6300771028..e0290fdda8b4 100644 --- a/python/testSrc/com/jetbrains/env/python/console/PyConsoleTask.java +++ b/python/testSrc/com/jetbrains/env/python/console/PyConsoleTask.java @@ -305,7 +305,7 @@ public class PyConsoleTask extends PyExecutionFixtureTestTask { if (count > 10) { Assert.fail("Console is not ready"); } - Thread.sleep(300); + Thread.sleep(2000); count++; } } diff --git a/python/testSrc/com/jetbrains/env/python/debug/PyDebuggerTask.java b/python/testSrc/com/jetbrains/env/python/debug/PyDebuggerTask.java index 6b77ee7426b3..92117caffc10 100644 --- a/python/testSrc/com/jetbrains/env/python/debug/PyDebuggerTask.java +++ b/python/testSrc/com/jetbrains/env/python/debug/PyDebuggerTask.java @@ -20,6 +20,7 @@ import com.intellij.xdebugger.*; import com.jetbrains.env.python.PythonDebuggerTest; import com.jetbrains.python.debugger.PyDebugProcess; import com.jetbrains.python.debugger.PyDebugRunner; +import com.jetbrains.python.debugger.PyDebugValueExecutionService; import com.jetbrains.python.run.PythonCommandLineState; import com.jetbrains.python.run.PythonConfigurationType; import com.jetbrains.python.run.PythonRunConfiguration; @@ -233,6 +234,8 @@ public class PyDebuggerTask extends PyBaseDebuggerTask { waitFor(processHandler); } + PyDebugValueExecutionService.getInstance(getProject()).shutDownNow(); + if (!processHandler.isProcessTerminated()) { killDebugProcess(); if (!waitFor(processHandler)) {