D68678 added a test that ensures an Apple accelerator lookup is done efficiently. Since these tables are not used for DWARF 5, we should decorate the test appropriately. Differential Revision: https://reviews.llvm.org/D154268
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
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))
|