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