https://github.com/piyushjaiswal98 updated 
https://github.com/llvm/llvm-project/pull/155352

>From 80ee7d1200ad32e4e3eb46ce5a6cd1ce0eb9a1ce Mon Sep 17 00:00:00 2001
From: Piyush Jaiswal <piyushj...@meta.com>
Date: Mon, 25 Aug 2025 21:17:17 -0700
Subject: [PATCH 1/2] Improving lldbdap_testcase.py error diagnosability

---
 .../test/tools/lldb-dap/lldbdap_testcase.py    | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git 
a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py 
b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
index c23b2e73fb45e..b0e3df47de14a 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
@@ -477,9 +477,21 @@ def cleanup():
         if expectFailure:
             return response
         if not (response and response["success"]):
-            self.assertTrue(
-                response["success"], "attach failed (%s)" % 
(response["message"])
-            )
+            error_msg = "attach failed"
+            if response:
+                if "message" in response:
+                    error_msg += " (%s)" % response["message"]
+                elif "body" in response and "error" in response["body"]:
+                    if "format" in response["body"]["error"]:
+                        error_msg += " (%s)" % 
response["body"]["error"]["format"]
+                    else:
+                        error_msg += " (error in body)"
+                else:
+                    error_msg += " (no error details available)"
+            else:
+                error_msg += " (no response)"
+            self.assertTrue(response and response["success"], error_msg)
+
 
     def launch(
         self,

>From 8c6d902a8a5f9f16b7caaca6c5df491fc02af804 Mon Sep 17 00:00:00 2001
From: Piyush Jaiswal <piyushj...@meta.com>
Date: Tue, 26 Aug 2025 11:30:55 -0700
Subject: [PATCH 2/2] consolidating into a helper method and addressing other
 places

---
 .../test/tools/lldb-dap/lldbdap_testcase.py   | 40 ++++++++++---------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git 
a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py 
b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
index b0e3df47de14a..b28a78792c70f 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
@@ -450,6 +450,25 @@ def disassemble(self, threadId=None, frameIndex=None):
 
         return disassembled_instructions, 
disassembled_instructions[memoryReference]
 
+    def _build_error_message(self, base_message, response):
+        """Build a detailed error message from a DAP response.
+        Extracts error information from various possible locations in the 
response structure.
+        """
+        error_msg = base_message
+        if response:
+            if "message" in response:
+                error_msg += " (%s)" % response["message"]
+            elif "body" in response and "error" in response["body"]:
+                if "format" in response["body"]["error"]:
+                    error_msg += " (%s)" % response["body"]["error"]["format"]
+                else:
+                    error_msg += " (error in body)"
+            else:
+                error_msg += " (no error details available)"
+        else:
+            error_msg += " (no response)"
+        return error_msg
+
     def attach(
         self,
         *,
@@ -477,22 +496,9 @@ def cleanup():
         if expectFailure:
             return response
         if not (response and response["success"]):
-            error_msg = "attach failed"
-            if response:
-                if "message" in response:
-                    error_msg += " (%s)" % response["message"]
-                elif "body" in response and "error" in response["body"]:
-                    if "format" in response["body"]["error"]:
-                        error_msg += " (%s)" % 
response["body"]["error"]["format"]
-                    else:
-                        error_msg += " (error in body)"
-                else:
-                    error_msg += " (no error details available)"
-            else:
-                error_msg += " (no response)"
+            error_msg = self._build_error_message("attach failed", response)
             self.assertTrue(response and response["success"], error_msg)
 
-
     def launch(
         self,
         program=None,
@@ -520,10 +526,8 @@ def cleanup():
         if expectFailure:
             return response
         if not (response and response["success"]):
-            self.assertTrue(
-                response["success"],
-                "launch failed (%s)" % (response["body"]["error"]["format"]),
-            )
+            error_msg = self._build_error_message("launch failed", response)
+            self.assertTrue(response and response["success"], error_msg)
 
     def build_and_launch(
         self,

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to