58 lines · python
1"""2Test API logging.3"""4 5import re6 7import lldb8import lldbsuite.test.lldbutil as lldbutil9from lldbsuite.test.lldbtest import *10 11 12class APILogTestCase(TestBase):13 NO_DEBUG_INFO_TESTCASE = True14 15 def test_api_log(self):16 """Test API logging"""17 logfile = self.getBuildArtifact("api-log.txt")18 19 self.expect("log enable lldb api -f {}".format(logfile))20 21 self.dbg.SetDefaultArchitecture(None)22 self.dbg.GetScriptingLanguage(None)23 target = self.dbg.CreateTarget(None)24 25 self.assertTrue(os.path.isfile(logfile))26 with open(logfile, "r") as f:27 log = f.read()28 29 # Find the SBDebugger's address.30 debugger_addr = re.findall(31 r"lldb::SBDebugger::GetScriptingLanguage\([^)]*\) \(0x([0-9a-fA-F]+),", log32 )33 34 # Make sure we've found a match.35 self.assertTrue(debugger_addr, log)36 37 # Make sure the GetScriptingLanguage matches.38 self.assertTrue(39 re.search(40 r'lldb::SBDebugger::GetScriptingLanguage\([^)]*\) \(0x{}, ""\)'.format(41 debugger_addr[0]42 ),43 log,44 ),45 log,46 )47 48 # Make sure the address matches.49 self.assertTrue(50 re.search(51 r'lldb::SBDebugger::CreateTarget\([^)]*\) \(0x{}, ""\)'.format(52 debugger_addr[0]53 ),54 log,55 ),56 log,57 )58