diff options
author | Miro Bucko <mbucko@meta.com> | 2024-05-03 11:10:02 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-03 08:10:02 -0700 |
commit | bab10981f3c7a15231b8e2008f99a38a5582e3b0 (patch) | |
tree | 77ed396fb7c2767de490ccd49a8e27b94efcd6fb | |
parent | 4821882cdfe46b93935e01805ed413cf1272bcd4 (diff) |
[lldb-dap] Fix test_exit_status_message_sigterm test. (#90223)
Summary:
'test_exit_status_message_sigterm' is failing due to 'psutil' dependency
introduced in PR #89405. This fix removes 'deque' dependency and checks
if 'psutil' can be imported before running the test. If 'psutil' cannot
be imported, it emits a warning and skips the test.
Test Plan:
./bin/llvm-lit -sv
/path-to-llvm-project/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
--filter=tools/lldb-dap/console/TestDAP_console.py
Reviewers:
@jeffreytan81,@clayborg,@kusmour, @JDevlieghere,@walter-erquinigo
Subscribers:
Tasks:
lldb-dap
Tags:
-rw-r--r-- | lldb/test/API/tools/lldb-dap/console/TestDAP_console.py | 20 |
1 files changed, 14 insertions, 6 deletions
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 8f456aaf890c..8769f39633e6 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 @@ Test lldb-dap setBreakpoints request 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 @@ class TestDAP_console(lldbdap_testcase.DAPTestCaseBase): 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() |