[Lldb-commits] [lldb] 101ad14 - [lldb-dap] Improving lldbdap_testcase.py error diagnosability (#155352)
via lldb-commits
lldb-commits at lists.llvm.org
Tue Aug 26 17:55:32 PDT 2025
Author: Piyush Jaiswal
Date: 2025-08-26T17:55:29-07:00
New Revision: 101ad14f535461236ba0a656554d884d6d0b25a0
URL: https://github.com/llvm/llvm-project/commit/101ad14f535461236ba0a656554d884d6d0b25a0
DIFF: https://github.com/llvm/llvm-project/commit/101ad14f535461236ba0a656554d884d6d0b25a0.diff
LOG: [lldb-dap] Improving lldbdap_testcase.py error diagnosability (#155352)
Improved response Message handling in lldbdap_testcase.py to handle
various formats. Allows for more descriptive error messaging (Provides
useful info even when error details are malformed)
---------
Co-authored-by: Piyush Jaiswal <piyushjais at meta.com>
Added:
Modified:
lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
Removed:
################################################################################
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..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,9 +496,8 @@ def cleanup():
if expectFailure:
return response
if not (response and response["success"]):
- self.assertTrue(
- response["success"], "attach failed (%s)" % (response["message"])
- )
+ error_msg = self._build_error_message("attach failed", response)
+ self.assertTrue(response and response["success"], error_msg)
def launch(
self,
@@ -508,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,
More information about the lldb-commits
mailing list