[lldb-vscode] Make tests not wait for 'launch' process events if launch fails.
authorJorge Gorbe Moya <jgorbe@google.com>
Fri, 12 May 2023 18:42:40 +0000 (11:42 -0700)
committerJorge Gorbe Moya <jgorbe@google.com>
Mon, 22 May 2023 17:41:11 +0000 (10:41 -0700)
commitd25fb4e90c96f8fcb22fbed9009295026f1d20cf
tree6698847cd3f0a5e49a9d03bcfabaced057f0d9e3
parentf5dbee005c06d91b57c414981339a6937de44539
[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
lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py
lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py