[Lldb-commits] [lldb] d25fb4e - [lldb-vscode] Make tests not wait for 'launch' process events if launch fails.
Jorge Gorbe Moya via lldb-commits
lldb-commits at lists.llvm.org
Mon May 22 10:59:00 PDT 2023
Author: Jorge Gorbe Moya
Date: 2023-05-22T10:41:11-07:00
New Revision: d25fb4e90c96f8fcb22fbed9009295026f1d20cf
URL: https://github.com/llvm/llvm-project/commit/d25fb4e90c96f8fcb22fbed9009295026f1d20cf
DIFF: https://github.com/llvm/llvm-project/commit/d25fb4e90c96f8fcb22fbed9009295026f1d20cf.diff
LOG: [lldb-vscode] Make tests not wait for 'launch' process events if launch fails.
After https://reviews.llvm.org/D147831, lldb-vscode doesn't send a
process event after launch/attach in case of failure. I believe this is
the right interpretation of the spec, because the description of the
event says:
> The event indicates that the debugger has begun debugging a new
> process.
and we haven't started debugging a process if there's no process because
we failed to launch it. This is also supported by the fact that
`request_launch` in vscode.py doesn't wait for the event if passed
`expectFailure=True`. However, this doesn't take into account
*unexpected* launch failures. In that case, `request_launch` will hang
indefinitely waiting for the process event.
This patch changes it so we'll only wait for these events if
`request["success"]` is true, independently of whether any failure was
expected or not.
Differential Revision: https://reviews.llvm.org/D150470
Added:
Modified:
lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py
lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
Removed:
################################################################################
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py
index d87c95b152a55..d6ed0ee737d4d 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py
@@ -322,7 +322,6 @@ def cleanup():
launchCommands=launchCommands,
sourceMap=sourceMap,
runInTerminal=runInTerminal,
- expectFailure=expectFailure,
postRunCommands=postRunCommands)
if expectFailure:
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
index d3b7867359b39..3cfc88871ede8 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
@@ -661,8 +661,7 @@ def request_launch(self, program, args=None, cwd=None, env=None,
stopCommands=None, exitCommands=None,
terminateCommands=None ,sourcePath=None,
debuggerRoot=None, launchCommands=None, sourceMap=None,
- runInTerminal=False, expectFailure=False,
- postRunCommands=None):
+ runInTerminal=False, postRunCommands=None):
args_dict = {
'program': program
}
@@ -712,7 +711,7 @@ def request_launch(self, program, args=None, cwd=None, env=None,
}
response = self.send_recv(command_dict)
- if not expectFailure:
+ if response['success']:
# Wait for a 'process' and 'initialized' event in any order
self.wait_for_event(filter=['process', 'initialized'])
self.wait_for_event(filter=['process', 'initialized'])
More information about the lldb-commits
mailing list