brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 67f0783 Raw
78 lines · python
1import lldb2from lldbsuite.test.lldbtest import *3from lldbsuite.test.decorators import *4from lldbsuite.test.gdbclientutils import *5from lldbsuite.test.lldbgdbclient import GDBRemoteTestBase6 7 8class TestContinue(GDBRemoteTestBase):9    class BaseResponder(MockGDBServerResponder):10        def qSupported(self, client_supported):11            return "PacketSize=3fff;QStartNoAckMode+;multiprocess+"12 13        def qfThreadInfo(self):14            return "mp400.401"15 16        def haltReason(self):17            return "S13"18 19        def cont(self):20            return "W01"21 22        def other(self, packet):23            if packet == "vCont?":24                return "vCont;c;C;s;S"25            if packet.startswith("vCont;"):26                return "W00"27            return ""28 29    def test_continue_no_multiprocess(self):30        class MyResponder(self.BaseResponder):31            def qSupported(self, client_supported):32                return "PacketSize=3fff;QStartNoAckMode+"33 34            def qfThreadInfo(self):35                return "m401"36 37        self.server.responder = MyResponder()38        self.runCmd("platform select remote-linux")39        target = self.createTarget("a.yaml")40        process = self.connect(target)41        lldbutil.expect_state_changes(42            self, self.dbg.GetListener(), process, [lldb.eStateExited]43        )44        self.assertPacketLogReceived(["vCont;C13:401"])45 46    def test_continue_no_vCont(self):47        class MyResponder(self.BaseResponder):48            def qSupported(self, client_supported):49                return "PacketSize=3fff;QStartNoAckMode+"50 51            def qfThreadInfo(self):52                return "m401"53 54            def other(self, packet):55                return ""56 57        self.server.responder = MyResponder()58        self.runCmd("platform select remote-linux")59        target = self.createTarget("a.yaml")60        process = self.connect(target)61        lldbutil.expect_state_changes(62            self, self.dbg.GetListener(), process, [lldb.eStateExited]63        )64        self.assertPacketLogReceived(["Hc401", "C13"])65 66    def test_continue_multiprocess(self):67        class MyResponder(self.BaseResponder):68            pass69 70        self.server.responder = MyResponder()71        self.runCmd("platform select remote-linux")72        target = self.createTarget("a.yaml")73        process = self.connect(target)74        lldbutil.expect_state_changes(75            self, self.dbg.GetListener(), process, [lldb.eStateExited]76        )77        self.assertPacketLogReceived(["vCont;C13:p400.401"])78