| import lldb |
| from lldbsuite.test.lldbtest import * |
| from lldbsuite.test.decorators import * |
| from lldbsuite.test.gdbclientutils import * |
| from lldbsuite.test.lldbgdbclient import GDBRemoteTestBase |
| |
| class TestThreadInfoTrailingComma(GDBRemoteTestBase): |
| |
| mydir = TestBase.compute_mydir(__file__) |
| |
| def test(self): |
| class MyResponder(MockGDBServerResponder): |
| def haltReason(self): |
| return "T02thread:1" |
| |
| def qfThreadInfo(self): |
| return "m1,2,3,4," |
| |
| self.server.responder = MyResponder() |
| target = self.dbg.CreateTarget('') |
| if self.TraceOn(): |
| self.runCmd("log enable gdb-remote packets") |
| self.addTearDownHook( |
| lambda: self.runCmd("log disable gdb-remote packets")) |
| process = self.connect(target) |
| self.assertEqual(process.GetThreadAtIndex(0).GetThreadID(), 1) |
| self.assertEqual(process.GetThreadAtIndex(1).GetThreadID(), 2) |
| self.assertEqual(process.GetThreadAtIndex(2).GetThreadID(), 3) |
| self.assertEqual(process.GetThreadAtIndex(3).GetThreadID(), 4) |