[Lldb-commits] [lldb] 695d725 - [lldb-dap] Assorted small fixes for runInTerminal (#140908)
via lldb-commits
lldb-commits at lists.llvm.org
Thu May 22 20:20:37 PDT 2025
Author: Hu Jialun
Date: 2025-05-22T20:20:35-07:00
New Revision: 695d725edfb71e3e048229b96a5b3e9c2adad048
URL: https://github.com/llvm/llvm-project/commit/695d725edfb71e3e048229b96a5b3e9c2adad048
DIFF: https://github.com/llvm/llvm-project/commit/695d725edfb71e3e048229b96a5b3e9c2adad048.diff
LOG: [lldb-dap] Assorted small fixes for runInTerminal (#140908)
- `CreateRunInTerminalReverseRequest` is passed a `StringMap` by value,
whose keys are owned and deallocated after return.
- Target args are wrongly specified as reverse request (launcher) args.
- Test case error message did not catch up with a0aa5f8.
All runInTerminal tests are passing with this applied.
Added:
Modified:
lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
lldb/tools/lldb-dap/JSONUtils.cpp
lldb/tools/lldb-dap/JSONUtils.h
Removed:
################################################################################
diff --git a/lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py b/lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
index 9aab7ca3293db..65c931210d400 100644
--- a/lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
+++ b/lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
@@ -128,8 +128,8 @@ def test_runInTerminalInvalidTarget(self):
)
self.assertFalse(response["success"])
self.assertIn(
- "Could not create a target for a program 'INVALIDPROGRAM': 'INVALIDPROGRAM' does not exist",
- response["message"],
+ "'INVALIDPROGRAM' does not exist",
+ response["body"]["error"]["format"],
)
@skipIfWindows
diff --git a/lldb/tools/lldb-dap/JSONUtils.cpp b/lldb/tools/lldb-dap/JSONUtils.cpp
index dcc25c9212432..c9c6f4554c325 100644
--- a/lldb/tools/lldb-dap/JSONUtils.cpp
+++ b/lldb/tools/lldb-dap/JSONUtils.cpp
@@ -1335,7 +1335,7 @@ llvm::json::Value CreateCompileUnit(lldb::SBCompileUnit &unit) {
/// https://microsoft.github.io/debug-adapter-protocol/specification#Reverse_Requests_RunInTerminal
llvm::json::Object CreateRunInTerminalReverseRequest(
llvm::StringRef program, const std::vector<std::string> &args,
- const llvm::StringMap<std::string> env, llvm::StringRef cwd,
+ const llvm::StringMap<std::string> &env, llvm::StringRef cwd,
llvm::StringRef comm_file, lldb::pid_t debugger_pid) {
llvm::json::Object run_in_terminal_args;
// This indicates the IDE to open an embedded terminal, instead of opening
@@ -1352,7 +1352,7 @@ llvm::json::Object CreateRunInTerminalReverseRequest(
req_args.push_back("--launch-target");
req_args.push_back(program.str());
req_args.insert(req_args.end(), args.begin(), args.end());
- run_in_terminal_args.try_emplace("args", args);
+ run_in_terminal_args.try_emplace("args", req_args);
if (!cwd.empty())
run_in_terminal_args.try_emplace("cwd", cwd);
diff --git a/lldb/tools/lldb-dap/JSONUtils.h b/lldb/tools/lldb-dap/JSONUtils.h
index ac9b39739104f..5758c3d56ec90 100644
--- a/lldb/tools/lldb-dap/JSONUtils.h
+++ b/lldb/tools/lldb-dap/JSONUtils.h
@@ -544,7 +544,7 @@ llvm::json::Value CreateCompileUnit(lldb::SBCompileUnit &unit);
/// Microsoft.
llvm::json::Object CreateRunInTerminalReverseRequest(
llvm::StringRef program, const std::vector<std::string> &args,
- const llvm::StringMap<std::string> env, llvm::StringRef cwd,
+ const llvm::StringMap<std::string> &env, llvm::StringRef cwd,
llvm::StringRef comm_file, lldb::pid_t debugger_pid);
/// Create a "Terminated" JSON object that contains statistics
More information about the lldb-commits
mailing list