import unittest2 import gdbremote_testcase from lldbtest import * 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.assertTrue(mode in supported_vCont_modes) def vCont_supports_c(self): self.vCont_supports_mode("c") def vCont_supports_C(self): self.vCont_supports_mode("C") def vCont_supports_s(self): self.vCont_supports_mode("s") def vCont_supports_S(self): self.vCont_supports_mode("S") @debugserver_test @dsym_test def test_vCont_supports_c_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() self.vCont_supports_c() @llgs_test def test_vCont_supports_c_llgs_dwarf(self): self.init_llgs_test() self.buildDwarf() self.vCont_supports_c() @debugserver_test @dsym_test def test_vCont_supports_C_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() self.vCont_supports_C() @llgs_test @dwarf_test def test_vCont_supports_C_llgs_dwarf(self): self.init_llgs_test() self.buildDwarf() self.vCont_supports_C() @debugserver_test @dsym_test def test_vCont_supports_s_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() self.vCont_supports_s() @llgs_test @dwarf_test def test_vCont_supports_s_llgs_dwarf(self): self.init_llgs_test() self.buildDwarf() self.vCont_supports_s() @debugserver_test @dsym_test def test_vCont_supports_S_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() self.vCont_supports_S() @llgs_test @dwarf_test def test_vCont_supports_S_llgs_dwarf(self): self.init_llgs_test() self.buildDwarf() self.vCont_supports_S() @debugserver_test @dsym_test def test_single_step_only_steps_one_instruction_with_Hc_vCont_s_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() self.set_inferior_startup_launch() self.single_step_only_steps_one_instruction(use_Hc_packet=True, step_instruction="vCont;s") @llgs_test @dwarf_test def test_single_step_only_steps_one_instruction_with_Hc_vCont_s_llgs_dwarf(self): self.init_llgs_test() self.buildDwarf() self.set_inferior_startup_launch() self.single_step_only_steps_one_instruction(use_Hc_packet=True, step_instruction="vCont;s") @debugserver_test @dsym_test def test_single_step_only_steps_one_instruction_with_vCont_s_thread_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() self.set_inferior_startup_launch() self.single_step_only_steps_one_instruction(use_Hc_packet=False, step_instruction="vCont;s:{thread}") @llgs_test @dwarf_test def test_single_step_only_steps_one_instruction_with_vCont_s_thread_llgs_dwarf(self): self.init_llgs_test() self.buildDwarf() self.set_inferior_startup_launch() self.single_step_only_steps_one_instruction(use_Hc_packet=False, step_instruction="vCont;s:{thread}") if __name__ == '__main__': unittest2.main()