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 <piyushj...@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, _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits