diff options
Diffstat (limited to 'lldb/test/API/python_api/compile_unit/TestCompileUnitAPI.py')
| -rw-r--r-- | lldb/test/API/python_api/compile_unit/TestCompileUnitAPI.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lldb/test/API/python_api/compile_unit/TestCompileUnitAPI.py b/lldb/test/API/python_api/compile_unit/TestCompileUnitAPI.py new file mode 100644 index 000000000000..2c4ebf7982d9 --- /dev/null +++ b/lldb/test/API/python_api/compile_unit/TestCompileUnitAPI.py @@ -0,0 +1,44 @@ +""" +Test SBCompileUnit APIs. +""" + +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + + +class CompileUnitAPITestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + def setUp(self): + TestBase.setUp(self) + + def test(self): + """Exercise some SBCompileUnit APIs.""" + self.build() + + (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self, 'break here', lldb.SBFileSpec('main.c')) + self.assertTrue(target, VALID_TARGET) + self.assertTrue(process, PROCESS_IS_VALID) + self.assertTrue(bkpt and bkpt.GetNumLocations() == 1, + VALID_BREAKPOINT) + + self.assertTrue( + thread.IsValid(), + "There should be a thread stopped due to breakpoint condition") + frame0 = thread.GetFrameAtIndex(0) + line_entry = frame0.GetLineEntry() + + sc_list = target.FindCompileUnits(line_entry.GetFileSpec()) + self.assertGreater(sc_list.GetSize(), 0) + + main_cu = sc_list.compile_units[0] + self.assertTrue(main_cu.IsValid(), "Main executable CU is not valid") + + self.assertEqual(main_cu.GetIndexForLineEntry(line_entry, True), + main_cu.FindLineEntryIndex(0, line_entry.GetLine(), + line_entry.GetFileSpec(), True)) + + |
