| """ | |
| Test API logging. | |
| """ | |
| import re | |
| import lldb | |
| import lldbsuite.test.lldbutil as lldbutil | |
| from lldbsuite.test.lldbtest import * | |
| class APILogTestCase(TestBase): | |
| NO_DEBUG_INFO_TESTCASE = True | |
| def test_api_log(self): | |
| """Test API logging""" | |
| logfile = self.getBuildArtifact("api-log.txt") | |
| self.expect("log enable lldb api -f {}".format(logfile)) | |
| self.dbg.SetDefaultArchitecture(None) | |
| self.dbg.GetScriptingLanguage(None) | |
| target = self.dbg.CreateTarget(None) | |
| self.assertTrue(os.path.isfile(logfile)) | |
| with open(logfile, "r") as f: | |
| log = f.read() | |
| # Find the SBDebugger's address. | |
| debugger_addr = re.findall( | |
| r"lldb::SBDebugger::GetScriptingLanguage\([^)]*\) \(0x([0-9a-fA-F]+),", log | |
| ) | |
| # Make sure we've found a match. | |
| self.assertTrue(debugger_addr, log) | |
| # Make sure the GetScriptingLanguage matches. | |
| self.assertTrue( | |
| re.search( | |
| r'lldb::SBDebugger::GetScriptingLanguage\([^)]*\) \(0x{}, ""\)'.format( | |
| debugger_addr[0] | |
| ), | |
| log, | |
| ), | |
| log, | |
| ) | |
| # Make sure the address matches. | |
| self.assertTrue( | |
| re.search( | |
| r'lldb::SBDebugger::CreateTarget\([^)]*\) \(0x{}, ""\)'.format( | |
| debugger_addr[0] | |
| ), | |
| log, | |
| ), | |
| log, | |
| ) |