import lldb from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil from lldbsuite.test.decorators import * class TestCase(TestBase): def test_invalid_arg(self): self.build() lldbutil.run_to_source_breakpoint( self, "// break here", lldb.SBFileSpec("main.cpp") ) self.expect( "thread select 0x1ffffffff", error=True, startstr="error: Invalid thread index '0x1ffffffff'", ) self.expect( "thread select -t 0x1ffffffff", error=True, startstr="error: Invalid thread ID", ) self.expect( "thread select 1 2 3", error=True, startstr="error: 'thread select' takes exactly one thread index argument, or a thread ID option:", ) self.expect( "thread select -t 1234 1", error=True, startstr="error: 'thread select' cannot take both a thread ID option and a thread index argument:", ) # Parses but not a valid thread id. self.expect( "thread select 0xffffffff", error=True, startstr="error: Invalid thread index #0xffffffff.", ) self.expect( "thread select -t 0xffffffff", error=True, startstr="error: Invalid thread ID", ) def test_thread_select_tid(self): self.build() lldbutil.run_to_source_breakpoint( self, "// break here", lldb.SBFileSpec("main.cpp") ) self.runCmd( "thread select -t %d" % self.thread().GetThreadID(), )