19010cef2SRaphael Isemannimport lldb 29010cef2SRaphael Isemannfrom lldbsuite.test.lldbtest import * 39010cef2SRaphael Isemannfrom lldbsuite.test import lldbutil 49010cef2SRaphael Isemannfrom lldbsuite.test.decorators import * 59010cef2SRaphael Isemann 69010cef2SRaphael Isemann 72238dcc3SJonas Devlieghereclass TestCase(TestBase): 89010cef2SRaphael Isemann def test_invalid_arg(self): 99010cef2SRaphael Isemann self.build() 109010cef2SRaphael Isemann 112238dcc3SJonas Devlieghere lldbutil.run_to_source_breakpoint( 122238dcc3SJonas Devlieghere self, "// break here", lldb.SBFileSpec("main.cpp") 132238dcc3SJonas Devlieghere ) 149010cef2SRaphael Isemann 152238dcc3SJonas Devlieghere self.expect( 162238dcc3SJonas Devlieghere "thread select 0x1ffffffff", 172238dcc3SJonas Devlieghere error=True, 182238dcc3SJonas Devlieghere startstr="error: Invalid thread index '0x1ffffffff'", 192238dcc3SJonas Devlieghere ) 20*40519425SMichael Christensen self.expect( 21*40519425SMichael Christensen "thread select -t 0x1ffffffff", 22*40519425SMichael Christensen error=True, 23*40519425SMichael Christensen startstr="error: Invalid thread ID", 24*40519425SMichael Christensen ) 25*40519425SMichael Christensen self.expect( 26*40519425SMichael Christensen "thread select 1 2 3", 27*40519425SMichael Christensen error=True, 28*40519425SMichael Christensen startstr="error: 'thread select' takes exactly one thread index argument, or a thread ID option:", 29*40519425SMichael Christensen ) 30*40519425SMichael Christensen self.expect( 31*40519425SMichael Christensen "thread select -t 1234 1", 32*40519425SMichael Christensen error=True, 33*40519425SMichael Christensen startstr="error: 'thread select' cannot take both a thread ID option and a thread index argument:", 34*40519425SMichael Christensen ) 359010cef2SRaphael Isemann # Parses but not a valid thread id. 362238dcc3SJonas Devlieghere self.expect( 372238dcc3SJonas Devlieghere "thread select 0xffffffff", 382238dcc3SJonas Devlieghere error=True, 39*40519425SMichael Christensen startstr="error: Invalid thread index #0xffffffff.", 40*40519425SMichael Christensen ) 41*40519425SMichael Christensen self.expect( 42*40519425SMichael Christensen "thread select -t 0xffffffff", 43*40519425SMichael Christensen error=True, 44*40519425SMichael Christensen startstr="error: Invalid thread ID", 45*40519425SMichael Christensen ) 46*40519425SMichael Christensen 47*40519425SMichael Christensen def test_thread_select_tid(self): 48*40519425SMichael Christensen self.build() 49*40519425SMichael Christensen 50*40519425SMichael Christensen lldbutil.run_to_source_breakpoint( 51*40519425SMichael Christensen self, "// break here", lldb.SBFileSpec("main.cpp") 52*40519425SMichael Christensen ) 53*40519425SMichael Christensen self.runCmd( 54*40519425SMichael Christensen "thread select -t %d" % self.thread().GetThreadID(), 552238dcc3SJonas Devlieghere ) 56