From: Jorge Gorbe Moya Date: Fri, 12 May 2023 18:42:40 +0000 (-0700) Subject: [lldb-vscode] Make tests not wait for 'launch' process events if launch fails. X-Git-Tag: upstream/17.0.6~7651 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d25fb4e90c96f8fcb22fbed9009295026f1d20cf;p=platform%2Fupstream%2Fllvm.git [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 --- 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 d87c95b..d6ed0ee 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 @@ class VSCodeTestCaseBase(TestBase): 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 d3b7867..3cfc888 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 @@ class DebugCommunication(object): 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 @@ class DebugCommunication(object): } 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'])