101263c6cSJonas Devlieghere""" 2*224f62deSJohn HarrisonTest lldb-dap start-debugging reverse requests. 301263c6cSJonas Devlieghere""" 401263c6cSJonas Devlieghere 501263c6cSJonas Devlieghere 601263c6cSJonas Devliegherefrom lldbsuite.test.decorators import * 701263c6cSJonas Devliegherefrom lldbsuite.test.lldbtest import * 801263c6cSJonas Devlieghereimport lldbdap_testcase 901263c6cSJonas Devlieghere 1001263c6cSJonas Devlieghere 1101263c6cSJonas Devlieghereclass TestDAP_startDebugging(lldbdap_testcase.DAPTestCaseBase): 1201263c6cSJonas Devlieghere def test_startDebugging(self): 1301263c6cSJonas Devlieghere """ 1401263c6cSJonas Devlieghere Tests the "startDebugging" reverse request. It makes sure that the IDE can 1501263c6cSJonas Devlieghere start a child debug session. 1601263c6cSJonas Devlieghere """ 1701263c6cSJonas Devlieghere program = self.getBuildArtifact("a.out") 1801263c6cSJonas Devlieghere source = "main.c" 1901263c6cSJonas Devlieghere self.build_and_launch(program) 2001263c6cSJonas Devlieghere 2101263c6cSJonas Devlieghere breakpoint_line = line_number(source, "// breakpoint") 2201263c6cSJonas Devlieghere 2301263c6cSJonas Devlieghere self.set_source_breakpoints(source, [breakpoint_line]) 2401263c6cSJonas Devlieghere self.continue_to_next_stop() 2501263c6cSJonas Devlieghere self.dap_server.request_evaluate( 26*224f62deSJohn Harrison "`lldb-dap start-debugging attach '{\"pid\":321}'", context="repl" 2701263c6cSJonas Devlieghere ) 2801263c6cSJonas Devlieghere 2901263c6cSJonas Devlieghere self.continue_to_exit() 3001263c6cSJonas Devlieghere 3101263c6cSJonas Devlieghere self.assertEqual( 3201263c6cSJonas Devlieghere len(self.dap_server.reverse_requests), 3301263c6cSJonas Devlieghere 1, 3401263c6cSJonas Devlieghere "make sure we got a reverse request", 3501263c6cSJonas Devlieghere ) 3601263c6cSJonas Devlieghere 3701263c6cSJonas Devlieghere request = self.dap_server.reverse_requests[0] 3801263c6cSJonas Devlieghere self.assertEqual(request["arguments"]["configuration"]["pid"], 321) 3901263c6cSJonas Devlieghere self.assertEqual(request["arguments"]["request"], "attach") 40