[Lldb-commits] [lldb] bab1098 - [lldb-dap] Fix test_exit_status_message_sigterm test. (#90223)

via lldb-commits lldb-commits at lists.llvm.org
Fri May 3 08:10:06 PDT 2024


Author: Miro Bucko
Date: 2024-05-03T08:10:02-07:00
New Revision: bab10981f3c7a15231b8e2008f99a38a5582e3b0

URL: https://github.com/llvm/llvm-project/commit/bab10981f3c7a15231b8e2008f99a38a5582e3b0
DIFF: https://github.com/llvm/llvm-project/commit/bab10981f3c7a15231b8e2008f99a38a5582e3b0.diff

LOG: [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, at clayborg, at kusmour, @JDevlieghere, at walter-erquinigo

Subscribers:

Tasks:
lldb-dap

Tags:

Added: 
    

Modified: 
    lldb/test/API/tools/lldb-dap/console/TestDAP_console.py

Removed: 
    


################################################################################
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 8f456aaf890c7f..8769f39633e62f 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()
 


        


More information about the lldb-commits mailing list