https://github.com/da-viper updated https://github.com/llvm/llvm-project/pull/130773
>From 1a70dca11783f11b267d0d144311994dfba79733 Mon Sep 17 00:00:00 2001 From: Ezike Ebuka <yerimy...@gmail.com> Date: Tue, 11 Mar 2025 13:15:16 +0000 Subject: [PATCH] [lldb][lldb-dap] setVariable request should send the correct response The display value was incorrectly sent as "result" instead of "value". --- .../tools/lldb-dap/variables/TestDAP_variables.py | 14 ++++++++++++-- .../lldb-dap/Handler/SetVariableRequestHandler.cpp | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py b/lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py index ee5b49de14d98..286bf3390a440 100644 --- a/lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py +++ b/lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py @@ -313,10 +313,20 @@ def do_test_scopes_variables_setVariable_evaluate( # Set a variable value whose name is synthetic, like a variable index # and verify the value by reading it - self.dap_server.request_setVariable(varRef, "[0]", 100) + variable_value = 100 + response = self.dap_server.request_setVariable(varRef, "[0]", variable_value) + # Verify dap sent the correct response + verify_response = { + "type": "int", + "value": str(variable_value), + "variablesReference": 0, + } + for key, value in verify_response.items(): + self.assertEqual(value, response["body"][key]) + response = self.dap_server.request_variables(varRef, start=0, count=1) self.verify_variables( - make_buffer_verify_dict(0, 1, 100), response["body"]["variables"] + make_buffer_verify_dict(0, 1, variable_value), response["body"]["variables"] ) # Set a variable value whose name is a real child value, like "pt.x" diff --git a/lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp b/lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp index 7d2f13f0a327e..8b46490d6f4f2 100644 --- a/lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp +++ b/lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp @@ -146,7 +146,7 @@ void SetVariableRequestHandler::operator()( bool success = variable.SetValueFromCString(value.data(), error); if (success) { VariableDescription desc(variable, dap.enable_auto_variable_summaries); - EmplaceSafeString(body, "result", desc.display_value); + EmplaceSafeString(body, "value", desc.display_value); EmplaceSafeString(body, "type", desc.display_type_name); // We don't know the index of the variable in our dap.variables _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits