1*953dddedSTed Woodwardimport lldb
2*953dddedSTed Woodwardfrom lldbsuite.test.lldbtest import *
3*953dddedSTed Woodwardfrom lldbsuite.test.decorators import *
4*953dddedSTed Woodwardfrom gdbclientutils import *
5*953dddedSTed Woodward
6*953dddedSTed Woodward
7*953dddedSTed Woodwardclass TestThreadInfoTrailingComma(GDBRemoteTestBase):
8*953dddedSTed Woodward
9*953dddedSTed Woodward    def test(self):
10*953dddedSTed Woodward        class MyResponder(MockGDBServerResponder):
11*953dddedSTed Woodward            def haltReason(self):
12*953dddedSTed Woodward                return "T02thread:1"
13*953dddedSTed Woodward
14*953dddedSTed Woodward            def qfThreadInfo(self):
15*953dddedSTed Woodward                return "m1,2,3,4,"
16*953dddedSTed Woodward
17*953dddedSTed Woodward        self.server.responder = MyResponder()
18*953dddedSTed Woodward        target = self.dbg.CreateTarget('')
19*953dddedSTed Woodward        if self.TraceOn():
20*953dddedSTed Woodward          self.runCmd("log enable gdb-remote packets")
21*953dddedSTed Woodward          self.addTearDownHook(
22*953dddedSTed Woodward                lambda: self.runCmd("log disable gdb-remote packets"))
23*953dddedSTed Woodward        process = self.connect(target)
24*953dddedSTed Woodward        self.assertEqual(process.GetThreadAtIndex(0).GetThreadID(), 1)
25*953dddedSTed Woodward        self.assertEqual(process.GetThreadAtIndex(1).GetThreadID(), 2)
26*953dddedSTed Woodward        self.assertEqual(process.GetThreadAtIndex(2).GetThreadID(), 3)
27*953dddedSTed Woodward        self.assertEqual(process.GetThreadAtIndex(3).GetThreadID(), 4)
28