import gdbremote_testcase from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil class TestGdbRemote_vCont(gdbremote_testcase.GdbRemoteTestCaseBase): def vCont_supports_mode(self, mode, inferior_args=None): # Setup the stub and set the gdb remote command stream. procs = self.prep_debug_monitor_and_inferior(inferior_args=inferior_args) self.add_vCont_query_packets() # Run the gdb remote command stream. context = self.expect_gdbremote_sequence() self.assertIsNotNone(context) # Pull out supported modes. supported_vCont_modes = self.parse_vCont_query_response(context) self.assertIsNotNone(supported_vCont_modes) # Verify we support the given mode. self.assertIn(mode, supported_vCont_modes) def test_vCont_supports_c(self): self.build() self.vCont_supports_mode("c") def test_vCont_supports_C(self): self.build() self.vCont_supports_mode("C") def test_vCont_supports_s(self): self.build() self.vCont_supports_mode("s") def test_vCont_supports_S(self): self.build() self.vCont_supports_mode("S") @add_test_categories(["llgs"]) def test_vCont_supports_t(self): self.build() self.vCont_supports_mode("t") @skipIfWindows # No pty support to test O* & I* notification packets. @skipIf(triple="^mips") def test_single_step_only_steps_one_instruction_with_Hc_vCont_s(self): self.build() self.set_inferior_startup_launch() self.single_step_only_steps_one_instruction( use_Hc_packet=True, step_instruction="vCont;s" ) @skipIfWindows # No pty support to test O* & I* notification packets. @skipIf(triple="^mips") def test_single_step_only_steps_one_instruction_with_vCont_s_thread(self): self.build() self.set_inferior_startup_launch() self.single_step_only_steps_one_instruction( use_Hc_packet=False, step_instruction="vCont;s:{thread}" )