1953dddedSTed Woodwardimport lldb
2953dddedSTed Woodwardfrom lldbsuite.test.lldbtest import *
3953dddedSTed Woodwardfrom lldbsuite.test.decorators import *
4*33c0f93fSPavel Labathfrom lldbsuite.test.gdbclientutils import *
5*33c0f93fSPavel Labathfrom lldbsuite.test.lldbgdbclient import GDBRemoteTestBase
6953dddedSTed Woodward
7953dddedSTed Woodwardclass TestThreadInfoTrailingComma(GDBRemoteTestBase):
8953dddedSTed Woodward
9953dddedSTed Woodward    def test(self):
10953dddedSTed Woodward        class MyResponder(MockGDBServerResponder):
11953dddedSTed Woodward            def haltReason(self):
12953dddedSTed Woodward                return "T02thread:1"
13953dddedSTed Woodward
14953dddedSTed Woodward            def qfThreadInfo(self):
15953dddedSTed Woodward                return "m1,2,3,4,"
16953dddedSTed Woodward
17953dddedSTed Woodward        self.server.responder = MyResponder()
18953dddedSTed Woodward        target = self.dbg.CreateTarget('')
19953dddedSTed Woodward        if self.TraceOn():
20953dddedSTed Woodward          self.runCmd("log enable gdb-remote packets")
21953dddedSTed Woodward          self.addTearDownHook(
22953dddedSTed Woodward                lambda: self.runCmd("log disable gdb-remote packets"))
23953dddedSTed Woodward        process = self.connect(target)
24953dddedSTed Woodward        self.assertEqual(process.GetThreadAtIndex(0).GetThreadID(), 1)
25953dddedSTed Woodward        self.assertEqual(process.GetThreadAtIndex(1).GetThreadID(), 2)
26953dddedSTed Woodward        self.assertEqual(process.GetThreadAtIndex(2).GetThreadID(), 3)
27953dddedSTed Woodward        self.assertEqual(process.GetThreadAtIndex(3).GetThreadID(), 4)
28