import lldb from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil class CPPAcceleratorTableTestCase(TestBase): @skipUnlessDarwin @skipIf(debug_info=no_match(["dwarf"])) @skipIf(dwarf_version=[">=", "5"]) def test(self): """Test that type lookups fail early (performance)""" self.build() logfile = self.getBuildArtifact("dwarf.log") self.expect("log enable dwarf lookups -f" + logfile) target, process, thread, bkpt = lldbutil.run_to_source_breakpoint( self, "break here", lldb.SBFileSpec("main.cpp") ) # Pick one from the middle of the list to have a high chance # of it not being in the first file looked at. self.expect("frame variable inner_d") with open(logfile) as f: log = f.readlines() n = 0 for line in log: if re.findall(r"[abcdefg]\.o: FindByNameAndTag\(\)", line): self.assertIn("d.o", line) n += 1 self.assertEqual(n, 1, "".join(log))