""" Test lldb-vscode startDebugging reverse request """ import vscode from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil import lldbvscode_testcase class TestVSCode_startDebugging(lldbvscode_testcase.VSCodeTestCaseBase): def test_startDebugging(self): """ Tests the "startDebugging" reverse request. It makes sure that the IDE can start a child debug session. """ program = self.getBuildArtifact("a.out") source = "main.c" self.build_and_launch(program) breakpoint_line = line_number(source, "// breakpoint") self.set_source_breakpoints(source, [breakpoint_line]) self.continue_to_next_stop() self.vscode.request_evaluate( "`lldb-vscode startDebugging attach '{\"pid\":321}'", context="repl" ) self.continue_to_exit() self.assertEqual( len(self.vscode.reverse_requests), 1, "make sure we got a reverse request" ) request = self.vscode.reverse_requests[0] self.assertEqual(request["arguments"]["configuration"]["pid"], 321) self.assertEqual(request["arguments"]["request"], "attach")