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):
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)