1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class CPPAcceleratorTableTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@skipIf(debug_info=no_match(["dwarf"]))
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')
log = open(logfile, 'r')
n = 0
for line in log:
if re.findall(r'[abcdefg]\.o: FindByNameAndTag\(\)', line):
self.assertTrue("d.o" in line)
n += 1
self.assertEqual(n, 1, log)
|