""" Test source text regex breakpoint hydrates module debug info in symbol on-demand mode. """ import lldb from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil class TestSourceTextRegexBreakpoint(TestBase): @skipIfWindows def test_with_run_command(self): self.build() # Load symbols on-demand self.runCmd("settings set symbols.load-on-demand true") self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) lldbutil.run_break_set_by_source_regexp(self, "Set break point at this line.") self.runCmd("run", RUN_SUCCEEDED) # The stop reason of the thread should be breakpoint. self.expect( "thread list", STOPPED_DUE_TO_BREAKPOINT, substrs=["stopped", "stop reason = breakpoint"], ) frame = self.frame() self.assertTrue(frame.IsValid()) self.assertEqual(frame.GetLineEntry().GetFileSpec().GetFilename(), "main.cpp") self.assertEqual(frame.GetLineEntry().GetLine(), 4)