Files
clang-p2996/lldb/test/API/lang/cpp/accelerator-table/TestCPPAccelerator.py
Felipe de Azevedo Piovezan 379b59d1b0 [lldb] Skip apple accelerator table test in DWARF 5 mode
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
2023-07-03 08:35:55 -04:00

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))