199451b44SJordan Rupprecht""" 299451b44SJordan RupprechtTest API logging. 399451b44SJordan Rupprecht""" 499451b44SJordan Rupprecht 599451b44SJordan Rupprechtimport re 699451b44SJordan Rupprecht 799451b44SJordan Rupprechtimport lldb 899451b44SJordan Rupprechtimport lldbsuite.test.lldbutil as lldbutil 999451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 1099451b44SJordan Rupprecht 1199451b44SJordan Rupprecht 1299451b44SJordan Rupprechtclass APILogTestCase(TestBase): 1399451b44SJordan Rupprecht NO_DEBUG_INFO_TESTCASE = True 1499451b44SJordan Rupprecht 1599451b44SJordan Rupprecht def test_api_log(self): 1699451b44SJordan Rupprecht """Test API logging""" 1764c87a94SJonas Devlieghere logfile = self.getBuildArtifact("api-log.txt") 1899451b44SJordan Rupprecht 1999451b44SJordan Rupprecht self.expect("log enable lldb api -f {}".format(logfile)) 2099451b44SJordan Rupprecht 2199451b44SJordan Rupprecht self.dbg.SetDefaultArchitecture(None) 2299451b44SJordan Rupprecht self.dbg.GetScriptingLanguage(None) 2399451b44SJordan Rupprecht target = self.dbg.CreateTarget(None) 2499451b44SJordan Rupprecht 2564c87a94SJonas Devlieghere self.assertTrue(os.path.isfile(logfile)) 26*2238dcc3SJonas Devlieghere with open(logfile, "r") as f: 2799451b44SJordan Rupprecht log = f.read() 2899451b44SJordan Rupprecht 2999451b44SJordan Rupprecht # Find the SBDebugger's address. 3099451b44SJordan Rupprecht debugger_addr = re.findall( 31*2238dcc3SJonas Devlieghere r"lldb::SBDebugger::GetScriptingLanguage\([^)]*\) \(0x([0-9a-fA-F]+),", log 32*2238dcc3SJonas Devlieghere ) 3399451b44SJordan Rupprecht 3499451b44SJordan Rupprecht # Make sure we've found a match. 3599451b44SJordan Rupprecht self.assertTrue(debugger_addr, log) 3699451b44SJordan Rupprecht 3799451b44SJordan Rupprecht # Make sure the GetScriptingLanguage matches. 38*2238dcc3SJonas Devlieghere self.assertTrue( 39*2238dcc3SJonas Devlieghere re.search( 40*2238dcc3SJonas Devlieghere r'lldb::SBDebugger::GetScriptingLanguage\([^)]*\) \(0x{}, ""\)'.format( 41*2238dcc3SJonas Devlieghere debugger_addr[0] 42*2238dcc3SJonas Devlieghere ), 43*2238dcc3SJonas Devlieghere log, 44*2238dcc3SJonas Devlieghere ), 45*2238dcc3SJonas Devlieghere log, 46*2238dcc3SJonas Devlieghere ) 4799451b44SJordan Rupprecht 4899451b44SJordan Rupprecht # Make sure the address matches. 49*2238dcc3SJonas Devlieghere self.assertTrue( 50*2238dcc3SJonas Devlieghere re.search( 51*2238dcc3SJonas Devlieghere r'lldb::SBDebugger::CreateTarget\([^)]*\) \(0x{}, ""\)'.format( 52*2238dcc3SJonas Devlieghere debugger_addr[0] 53*2238dcc3SJonas Devlieghere ), 54*2238dcc3SJonas Devlieghere log, 55*2238dcc3SJonas Devlieghere ), 56*2238dcc3SJonas Devlieghere log, 57*2238dcc3SJonas Devlieghere ) 58