================ @@ -0,0 +1,119 @@ +""" +Test module locate dwo callback functionality +""" + +import ctypes +import shutil +from lldbsuite.test.decorators import * +import lldb +from lldbsuite.test import lldbtest, lldbutil + + +class LocateDwoCallbackTestCase(lldbtest.TestBase): + NO_DEBUG_INFO_TESTCASE = True + + def setUp(self): + lldbtest.TestBase.setUp(self) + + self.build() + self.exe = self.getBuildArtifact("a.out") + self.dwos = [ + self.getBuildArtifact("main.dwo"), + self.getBuildArtifact("foo.dwo") + ] + + def run_program(self): + # Set a breakpoint at main + target = self.dbg.CreateTarget(self.exe) + self.assertTrue(target, lldbtest.VALID_TARGET) + lldbutil.run_break_set_by_symbol(self, "main") + + # Now launch the process, and do not stop at entry point. + self.process = target.LaunchSimple(None, None, self.get_process_working_directory()) + self.assertTrue(self.process, lldbtest.PROCESS_IS_VALID) + + def check_symbolicated(self): + thread = self.process.GetSelectedThread() + frame = thread.GetSelectedFrame() + self.assertEquals(len(frame.get_arguments()), 2) + + def check_not_symbolicated(self): + thread = self.process.GetSelectedThread() + frame = thread.GetSelectedFrame() + self.assertNotEquals(len(frame.get_arguments()), 2) + + def moveDwos(self): + """Move the dwos to a subdir in the build dir""" + dwo_folder = os.path.join(self.getBuildDir(), "dwos") + lldbutil.mkdir_p(dwo_folder) + for dwo in self.dwos: + shutil.move(dwo, dwo_folder) + + @skipIfWindows + @skipIfDarwin ---------------- bulbazord wrote:
This test should work on Windows and Darwin. https://github.com/llvm/llvm-project/pull/69517 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits