| 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}" |
| ) |