diff --git a/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py b/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py index 8f456aaf890c7..8769f39633e62 100644 --- a/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py +++ b/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py @@ -4,17 +4,15 @@ import dap_server import lldbdap_testcase -import psutil -from collections import deque from lldbsuite.test import lldbutil from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * -def get_subprocess(process_name): - queue = deque([psutil.Process(os.getpid())]) +def get_subprocess(root_process, process_name): + queue = [root_process] while queue: - process = queue.popleft() + process = queue.pop() if process.name() == process_name: return process queue.extend(process.children()) @@ -131,7 +129,17 @@ def test_exit_status_message_sigterm(self): process_name = ( "debugserver" if platform.system() in ["Darwin"] else "lldb-server" ) - process = get_subprocess(process_name) + + try: + import psutil + except ImportError: + print( + "psutil not installed, please install using 'pip install psutil'. " + "Skipping test_exit_status_message_sigterm test.", + file=sys.stderr, + ) + return + process = get_subprocess(psutil.Process(os.getpid()), process_name) process.terminate() process.wait()