| """ |
| Test SBFunction::GetBaseName() and SBSymbol::GetBaseName() APIs. |
| """ |
| |
| import lldb |
| from lldbsuite.test.decorators import * |
| from lldbsuite.test.lldbtest import * |
| from lldbsuite.test import lldbutil |
| |
| |
| class GetBaseNameTestCase(TestBase): |
| NO_DEBUG_INFO_TESTCASE = True |
| |
| def setUp(self): |
| TestBase.setUp(self) |
| self.main_source_file = lldb.SBFileSpec("main.cpp") |
| |
| @expectedFailureAll( |
| oslist=["windows"], |
| bugnumber="https://github.com/llvm/llvm-project/issues/156861", |
| ) |
| def test(self): |
| """Test SBFunction.GetBaseName() and SBSymbol.GetBaseName()""" |
| self.build() |
| _, _, thread, _ = lldbutil.run_to_source_breakpoint( |
| self, "Set a breakpoint here", self.main_source_file |
| ) |
| |
| frame0 = thread.GetFrameAtIndex(0) |
| |
| # Get both function and symbol |
| function = frame0.GetFunction() |
| symbol = frame0.GetSymbol() |
| |
| # Test consistency between function and symbol basename |
| function_basename = function.GetBaseName() |
| symbol_basename = symbol.GetBaseName() |
| |
| self.assertEqual(function_basename, "templateFunc") |
| self.assertEqual(symbol_basename, "templateFunc") |