diff options
Diffstat (limited to 'gnu/llvm/lldb/packages/Python/lldbsuite/test/api/log')
-rw-r--r-- | gnu/llvm/lldb/packages/Python/lldbsuite/test/api/log/TestAPILog.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/api/log/TestAPILog.py b/gnu/llvm/lldb/packages/Python/lldbsuite/test/api/log/TestAPILog.py new file mode 100644 index 00000000000..c0ffa2c6f50 --- /dev/null +++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/api/log/TestAPILog.py @@ -0,0 +1,51 @@ +""" +Test API logging. +""" + +import re + +import lldb +import lldbsuite.test.lldbutil as lldbutil +from lldbsuite.test.lldbtest import * + + +class APILogTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + NO_DEBUG_INFO_TESTCASE = True + + def test_api_log(self): + """Test API logging""" + logfile = os.path.join(self.getBuildDir(), "api-log.txt") + + def cleanup(): + if os.path.exists(logfile): + os.unlink(logfile) + + self.addTearDownHook(cleanup) + self.expect("log enable lldb api -f {}".format(logfile)) + + self.dbg.SetDefaultArchitecture(None) + self.dbg.GetScriptingLanguage(None) + target = self.dbg.CreateTarget(None) + + print(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) |