Automatic Copyright Year update after running gdb/copyright.py
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.perf / gmonster-null-lookup.py
1 # Copyright (C) 2015-2022 Free Software Foundation, Inc.
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16 # Test handling of lookup of a symbol that doesn't exist.
17 # Efficient handling of this case is important, and not just for typos.
18 # Sometimes the debug info for the needed object isn't present.
19
20 from perftest import perftest
21 from perftest import measure
22 from perftest import utils
23
24
25 class NullLookup(perftest.TestCaseWithBasicMeasurements):
26 def __init__(self, name, run_names, binfile):
27 # We want to measure time in this test.
28 super(NullLookup, self).__init__(name)
29 self.run_names = run_names
30 self.binfile = binfile
31
32 def warm_up(self):
33 pass
34
35 def execute_test(self):
36 for run in self.run_names:
37 this_run_binfile = "%s-%s" % (self.binfile, utils.convert_spaces(run))
38 utils.select_file(this_run_binfile)
39 utils.runto_main()
40 utils.safe_execute("mt expand-symtabs")
41 iteration = 5
42 while iteration > 0:
43 utils.safe_execute("mt flush symbol-cache")
44 func = lambda: utils.safe_execute("p symbol_not_found")
45 self.measure.measure(func, run)
46 iteration -= 1
This page took 0.031342 seconds and 4 git commands to generate.