summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.perf
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.perf')
-rw-r--r--gdb/testsuite/gdb.perf/backtrace.py15
-rw-r--r--gdb/testsuite/gdb.perf/disassemble.py20
-rw-r--r--gdb/testsuite/gdb.perf/gmonster-null-lookup.py4
-rw-r--r--gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py4
-rw-r--r--gdb/testsuite/gdb.perf/gmonster-print-cerr.py4
-rw-r--r--gdb/testsuite/gdb.perf/gmonster-ptype-string.py4
-rw-r--r--gdb/testsuite/gdb.perf/gmonster-runto-main.py4
-rw-r--r--gdb/testsuite/gdb.perf/gmonster-select-file.py4
-rw-r--r--gdb/testsuite/gdb.perf/lib/perftest/measure.py16
-rw-r--r--gdb/testsuite/gdb.perf/lib/perftest/perftest.py11
-rw-r--r--gdb/testsuite/gdb.perf/lib/perftest/reporter.py25
-rw-r--r--gdb/testsuite/gdb.perf/lib/perftest/testresult.py8
-rw-r--r--gdb/testsuite/gdb.perf/lib/perftest/utils.py3
-rw-r--r--gdb/testsuite/gdb.perf/single-step.py5
-rw-r--r--gdb/testsuite/gdb.perf/skip-command.py5
-rw-r--r--gdb/testsuite/gdb.perf/skip-prologue.py1
-rw-r--r--gdb/testsuite/gdb.perf/solib.py16
-rw-r--r--gdb/testsuite/gdb.perf/template-breakpoints.py5
18 files changed, 90 insertions, 64 deletions
diff --git a/gdb/testsuite/gdb.perf/backtrace.py b/gdb/testsuite/gdb.perf/backtrace.py
index fbeb431dc27..3f7aa69b67f 100644
--- a/gdb/testsuite/gdb.perf/backtrace.py
+++ b/gdb/testsuite/gdb.perf/backtrace.py
@@ -15,21 +15,22 @@
from perftest import perftest
-class BackTrace (perftest.TestCaseWithBasicMeasurements):
+
+class BackTrace(perftest.TestCaseWithBasicMeasurements):
def __init__(self, depth):
- super (BackTrace, self).__init__ ("backtrace")
+ super(BackTrace, self).__init__("backtrace")
self.depth = depth
def warm_up(self):
# Warm up.
- gdb.execute ("bt", False, True)
- gdb.execute ("bt", False, True)
+ gdb.execute("bt", False, True)
+ gdb.execute("bt", False, True)
def _do_test(self):
"""Do backtrace multiple times."""
do_test_command = "bt %d" % self.depth
for _ in range(1, 15):
- gdb.execute (do_test_command, False, True)
+ gdb.execute(do_test_command, False, True)
def execute_test(self):
@@ -40,8 +41,8 @@ class BackTrace (perftest.TestCaseWithBasicMeasurements):
line_size_command = "set dcache line-size %d" % (line_size)
size_command = "set dcache size %d" % (4096 * 64 / line_size)
# Cache is cleared by changing line-size or size.
- gdb.execute (line_size_command)
- gdb.execute (size_command)
+ gdb.execute(line_size_command)
+ gdb.execute(size_command)
func = lambda: self._do_test()
diff --git a/gdb/testsuite/gdb.perf/disassemble.py b/gdb/testsuite/gdb.perf/disassemble.py
index 83eb76422c6..89634912fba 100644
--- a/gdb/testsuite/gdb.perf/disassemble.py
+++ b/gdb/testsuite/gdb.perf/disassemble.py
@@ -15,24 +15,28 @@
from perftest import perftest
+
class Disassemble(perftest.TestCaseWithBasicMeasurements):
def __init__(self):
- super (Disassemble, self).__init__ ("disassemble")
+ super(Disassemble, self).__init__("disassemble")
def warm_up(self):
do_test_command = "disassemble ada_evaluate_subexp"
- gdb.execute (do_test_command, False, True)
+ gdb.execute(do_test_command, False, True)
def _do_test(self, c):
- for func in ["evaluate_subexp_standard", "handle_inferior_event", "c_parse_internal"]:
+ for func in [
+ "evaluate_subexp_standard",
+ "handle_inferior_event",
+ "c_parse_internal",
+ ]:
do_test_command = "disassemble %s" % func
- for _ in range(c+1):
- gdb.execute (do_test_command, False, True)
+ for _ in range(c + 1):
+ gdb.execute(do_test_command, False, True)
def execute_test(self):
for i in range(3):
# Flush code cache.
- gdb.execute("set code-cache off");
- gdb.execute("set code-cache on");
+ gdb.execute("set code-cache off")
+ gdb.execute("set code-cache on")
self.measure.measure(lambda: self._do_test(i), i)
-
diff --git a/gdb/testsuite/gdb.perf/gmonster-null-lookup.py b/gdb/testsuite/gdb.perf/gmonster-null-lookup.py
index b132308c131..35fefe28f2e 100644
--- a/gdb/testsuite/gdb.perf/gmonster-null-lookup.py
+++ b/gdb/testsuite/gdb.perf/gmonster-null-lookup.py
@@ -21,6 +21,7 @@ from perftest import perftest
from perftest import measure
from perftest import utils
+
class NullLookup(perftest.TestCaseWithBasicMeasurements):
def __init__(self, name, run_names, binfile):
# We want to measure time in this test.
@@ -33,8 +34,7 @@ class NullLookup(perftest.TestCaseWithBasicMeasurements):
def execute_test(self):
for run in self.run_names:
- this_run_binfile = "%s-%s" % (self.binfile,
- utils.convert_spaces(run))
+ this_run_binfile = "%s-%s" % (self.binfile, utils.convert_spaces(run))
utils.select_file(this_run_binfile)
utils.runto_main()
utils.safe_execute("mt expand-symtabs")
diff --git a/gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py b/gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py
index 4874cb3304b..6b869ec0445 100644
--- a/gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py
+++ b/gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py
@@ -21,6 +21,7 @@ from perftest import perftest
from perftest import measure
from perftest import utils
+
class PervasiveTypedef(perftest.TestCaseWithBasicMeasurements):
def __init__(self, name, run_names, binfile):
# We want to measure time in this test.
@@ -37,8 +38,7 @@ class PervasiveTypedef(perftest.TestCaseWithBasicMeasurements):
def execute_test(self):
for run in self.run_names:
- self.this_run_binfile = "%s-%s" % (self.binfile,
- utils.convert_spaces(run))
+ self.this_run_binfile = "%s-%s" % (self.binfile, utils.convert_spaces(run))
iteration = 5
while iteration > 0:
self.measure.measure(self.func, run)
diff --git a/gdb/testsuite/gdb.perf/gmonster-print-cerr.py b/gdb/testsuite/gdb.perf/gmonster-print-cerr.py
index 9df459f600e..4047b3908a5 100644
--- a/gdb/testsuite/gdb.perf/gmonster-print-cerr.py
+++ b/gdb/testsuite/gdb.perf/gmonster-print-cerr.py
@@ -29,6 +29,7 @@ from perftest import perftest
from perftest import measure
from perftest import utils
+
class PrintCerr(perftest.TestCaseWithBasicMeasurements):
def __init__(self, name, run_names, binfile):
super(PrintCerr, self).__init__(name)
@@ -40,8 +41,7 @@ class PrintCerr(perftest.TestCaseWithBasicMeasurements):
def execute_test(self):
for run in self.run_names:
- this_run_binfile = "%s-%s" % (self.binfile,
- utils.convert_spaces(run))
+ this_run_binfile = "%s-%s" % (self.binfile, utils.convert_spaces(run))
utils.select_file(this_run_binfile)
utils.runto_main()
iteration = 5
diff --git a/gdb/testsuite/gdb.perf/gmonster-ptype-string.py b/gdb/testsuite/gdb.perf/gmonster-ptype-string.py
index d4ee1b3fb6d..e92da44620a 100644
--- a/gdb/testsuite/gdb.perf/gmonster-ptype-string.py
+++ b/gdb/testsuite/gdb.perf/gmonster-ptype-string.py
@@ -23,6 +23,7 @@ from perftest import perftest
from perftest import measure
from perftest import utils
+
class GmonsterPtypeString(perftest.TestCaseWithBasicMeasurements):
def __init__(self, name, run_names, binfile):
super(GmonsterPtypeString, self).__init__(name)
@@ -34,8 +35,7 @@ class GmonsterPtypeString(perftest.TestCaseWithBasicMeasurements):
def execute_test(self):
for run in self.run_names:
- this_run_binfile = "%s-%s" % (self.binfile,
- utils.convert_spaces(run))
+ this_run_binfile = "%s-%s" % (self.binfile, utils.convert_spaces(run))
utils.select_file(this_run_binfile)
utils.runto_main()
utils.safe_execute("mt expand-symtabs")
diff --git a/gdb/testsuite/gdb.perf/gmonster-runto-main.py b/gdb/testsuite/gdb.perf/gmonster-runto-main.py
index a36db3a8bd4..d56482f0cb7 100644
--- a/gdb/testsuite/gdb.perf/gmonster-runto-main.py
+++ b/gdb/testsuite/gdb.perf/gmonster-runto-main.py
@@ -19,6 +19,7 @@ from perftest import perftest
from perftest import measure
from perftest import utils
+
class GmonsterRuntoMain(perftest.TestCaseWithBasicMeasurements):
def __init__(self, name, run_names, binfile):
super(GmonsterRuntoMain, self).__init__(name)
@@ -30,8 +31,7 @@ class GmonsterRuntoMain(perftest.TestCaseWithBasicMeasurements):
def execute_test(self):
for run in self.run_names:
- this_run_binfile = "%s-%s" % (self.binfile,
- utils.convert_spaces(run))
+ this_run_binfile = "%s-%s" % (self.binfile, utils.convert_spaces(run))
utils.select_file(this_run_binfile)
iteration = 5
while iteration > 0:
diff --git a/gdb/testsuite/gdb.perf/gmonster-select-file.py b/gdb/testsuite/gdb.perf/gmonster-select-file.py
index 2f71c9ec0f4..53f5ab710f6 100644
--- a/gdb/testsuite/gdb.perf/gmonster-select-file.py
+++ b/gdb/testsuite/gdb.perf/gmonster-select-file.py
@@ -19,6 +19,7 @@ from perftest import perftest
from perftest import measure
from perftest import utils
+
class GmonsterSelectFile(perftest.TestCaseWithBasicMeasurements):
def __init__(self, name, run_names, binfile):
super(GmonsterSelectFile, self).__init__(name)
@@ -34,8 +35,7 @@ class GmonsterSelectFile(perftest.TestCaseWithBasicMeasurements):
def execute_test(self):
for run in self.run_names:
- this_run_binfile = "%s-%s" % (self.binfile,
- utils.convert_spaces(run))
+ this_run_binfile = "%s-%s" % (self.binfile, utils.convert_spaces(run))
iteration = 5
while iteration > 0:
func = lambda: self._doit(this_run_binfile)
diff --git a/gdb/testsuite/gdb.perf/lib/perftest/measure.py b/gdb/testsuite/gdb.perf/lib/perftest/measure.py
index 7270e8e51f6..2a20c5eafb2 100644
--- a/gdb/testsuite/gdb.perf/lib/perftest/measure.py
+++ b/gdb/testsuite/gdb.perf/lib/perftest/measure.py
@@ -17,6 +17,7 @@ import time
import os
import gc
+
class Measure(object):
"""A class that measure and collect the interesting data for a given testcase.
@@ -55,6 +56,7 @@ class Measure(object):
for m in self.measurements:
m.report(reporter, name)
+
class Measurement(object):
"""A measurement for a certain aspect."""
@@ -63,7 +65,7 @@ class Measurement(object):
Attribute result is the TestResult associated with measurement.
"""
- self.name = name;
+ self.name = name
self.result = result
def start(self, id):
@@ -82,8 +84,10 @@ class Measurement(object):
"""Report the measured data by argument reporter."""
self.result.report(reporter, name + " " + self.name)
+
class MeasurementCpuTime(Measurement):
"""Measurement on CPU time."""
+
# On UNIX, time.clock() measures the amount of CPU time that has
# been used by the current process. On Windows it will measure
# wall-clock seconds elapsed since the first call to the function.
@@ -98,11 +102,12 @@ class MeasurementCpuTime(Measurement):
self.start_time = time.clock()
def stop(self, id):
- if os.name == 'nt':
+ if os.name == "nt":
cpu_time = 0
else:
cpu_time = time.clock() - self.start_time
- self.result.record (id, cpu_time)
+ self.result.record(id, cpu_time)
+
class MeasurementWallTime(Measurement):
"""Measurement on Wall time."""
@@ -116,7 +121,8 @@ class MeasurementWallTime(Measurement):
def stop(self, id):
wall_time = time.time() - self.start_time
- self.result.record (id, wall_time)
+ self.result.record(id, wall_time)
+
class MeasurementVmSize(Measurement):
"""Measurement on memory usage represented by VmSize."""
@@ -143,4 +149,4 @@ class MeasurementVmSize(Measurement):
def stop(self, id):
memory_used = self._compute_process_memory_usage("VmSize:")
- self.result.record (id, memory_used)
+ self.result.record(id, memory_used)
diff --git a/gdb/testsuite/gdb.perf/lib/perftest/perftest.py b/gdb/testsuite/gdb.perf/lib/perftest/perftest.py
index 055d045c4ec..07266413fb0 100644
--- a/gdb/testsuite/gdb.perf/lib/perftest/perftest.py
+++ b/gdb/testsuite/gdb.perf/lib/perftest/perftest.py
@@ -65,12 +65,15 @@ class TestCase(object):
self.execute_test()
self.measure.report(reporter.TextReporter(append), self.name)
+
class TestCaseWithBasicMeasurements(TestCase):
"""Test case measuring CPU time, wall time and memory usage."""
def __init__(self, name):
result_factory = testresult.SingleStatisticResultFactory()
- measurements = [MeasurementCpuTime(result_factory.create_result()),
- MeasurementWallTime(result_factory.create_result()),
- MeasurementVmSize(result_factory.create_result())]
- super (TestCaseWithBasicMeasurements, self).__init__ (name, Measure(measurements))
+ measurements = [
+ MeasurementCpuTime(result_factory.create_result()),
+ MeasurementWallTime(result_factory.create_result()),
+ MeasurementVmSize(result_factory.create_result()),
+ ]
+ super(TestCaseWithBasicMeasurements, self).__init__(name, Measure(measurements))
diff --git a/gdb/testsuite/gdb.perf/lib/perftest/reporter.py b/gdb/testsuite/gdb.perf/lib/perftest/reporter.py
index 8617413a5a4..5569ece6c13 100644
--- a/gdb/testsuite/gdb.perf/lib/perftest/reporter.py
+++ b/gdb/testsuite/gdb.perf/lib/perftest/reporter.py
@@ -57,29 +57,30 @@ class TextReporter(Reporter):
"""Report results in a plain text file 'perftest.log'."""
def __init__(self, append):
- super (TextReporter, self).__init__(Reporter(append))
+ super(TextReporter, self).__init__(Reporter(append))
self.txt_sum = None
self.txt_log = None
def report(self, test_name, measurement_name, data_points):
if len(data_points) == 0:
- self.txt_sum.write("%s %s *no data recorded*\n" % (
- test_name, measurement_name))
+ self.txt_sum.write(
+ "%s %s *no data recorded*\n" % (test_name, measurement_name)
+ )
return
average = sum(data_points) / len(data_points)
data_min = min(data_points)
data_max = max(data_points)
- self.txt_sum.write("%s %s %s\n" % (
- test_name, measurement_name, average))
- self.txt_log.write("%s %s %s, min %s, max %s, data %s\n" % (
- test_name, measurement_name, average, data_min, data_max,
- data_points))
+ self.txt_sum.write("%s %s %s\n" % (test_name, measurement_name, average))
+ self.txt_log.write(
+ "%s %s %s, min %s, max %s, data %s\n"
+ % (test_name, measurement_name, average, data_min, data_max, data_points)
+ )
def start(self):
mode = "a+" if self.append else "w"
- self.txt_sum = open (SUM_FILE_NAME, mode);
- self.txt_log = open (LOG_FILE_NAME, mode);
+ self.txt_sum = open(SUM_FILE_NAME, mode)
+ self.txt_log = open(LOG_FILE_NAME, mode)
def end(self):
- self.txt_sum.close ()
- self.txt_log.close ()
+ self.txt_sum.close()
+ self.txt_log.close()
diff --git a/gdb/testsuite/gdb.perf/lib/perftest/testresult.py b/gdb/testsuite/gdb.perf/lib/perftest/testresult.py
index db41d5cdf69..fab9b68bfda 100644
--- a/gdb/testsuite/gdb.perf/lib/perftest/testresult.py
+++ b/gdb/testsuite/gdb.perf/lib/perftest/testresult.py
@@ -13,6 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
class TestResult(object):
"""Base class to record and report test results.
@@ -27,12 +28,13 @@ class TestResult(object):
"""Report the test results by reporter."""
raise NotImplementedError("Abstract Method:report.")
+
class SingleStatisticTestResult(TestResult):
"""Test results for the test case with a single statistic."""
def __init__(self):
- super (SingleStatisticTestResult, self).__init__ ()
- self.results = dict ()
+ super(SingleStatisticTestResult, self).__init__()
+ self.results = dict()
def record(self, parameter, result):
if parameter in self.results:
@@ -46,6 +48,7 @@ class SingleStatisticTestResult(TestResult):
reporter.report(name, key, self.results[key])
reporter.end()
+
class ResultFactory(object):
"""A factory to create an instance of TestResult."""
@@ -53,6 +56,7 @@ class ResultFactory(object):
"""Create an instance of TestResult."""
raise NotImplementedError("Abstract Method:create_result.")
+
class SingleStatisticResultFactory(ResultFactory):
"""A factory to create an instance of SingleStatisticTestResult."""
diff --git a/gdb/testsuite/gdb.perf/lib/perftest/utils.py b/gdb/testsuite/gdb.perf/lib/perftest/utils.py
index 6030a81b4fc..fe5ae93895e 100644
--- a/gdb/testsuite/gdb.perf/lib/perftest/utils.py
+++ b/gdb/testsuite/gdb.perf/lib/perftest/utils.py
@@ -15,6 +15,7 @@
import gdb
+
def safe_execute(command):
"""Execute command, ignoring any gdb errors."""
result = None
@@ -37,7 +38,7 @@ def select_file(file_name):
"""
safe_execute("set confirm off")
safe_execute("kill")
- print ("Selecting file %s" % (file_name))
+ print("Selecting file %s" % (file_name))
if file_name is None:
gdb.execute("file")
else:
diff --git a/gdb/testsuite/gdb.perf/single-step.py b/gdb/testsuite/gdb.perf/single-step.py
index 22d82e51536..08d6ae19bb0 100644
--- a/gdb/testsuite/gdb.perf/single-step.py
+++ b/gdb/testsuite/gdb.perf/single-step.py
@@ -15,9 +15,10 @@
from perftest import perftest
-class SingleStep (perftest.TestCaseWithBasicMeasurements):
+
+class SingleStep(perftest.TestCaseWithBasicMeasurements):
def __init__(self, step):
- super (SingleStep, self).__init__ ("single-step")
+ super(SingleStep, self).__init__("single-step")
self.step = step
def warm_up(self):
diff --git a/gdb/testsuite/gdb.perf/skip-command.py b/gdb/testsuite/gdb.perf/skip-command.py
index a6161cd08dc..9586042cbaf 100644
--- a/gdb/testsuite/gdb.perf/skip-command.py
+++ b/gdb/testsuite/gdb.perf/skip-command.py
@@ -15,9 +15,10 @@
from perftest import perftest
-class SkipCommand (perftest.TestCaseWithBasicMeasurements):
+
+class SkipCommand(perftest.TestCaseWithBasicMeasurements):
def __init__(self, name, step):
- super (SkipCommand, self).__init__ (name)
+ super(SkipCommand, self).__init__(name)
self.step = step
def warm_up(self):
diff --git a/gdb/testsuite/gdb.perf/skip-prologue.py b/gdb/testsuite/gdb.perf/skip-prologue.py
index 16d207b17b2..ee1b57952ad 100644
--- a/gdb/testsuite/gdb.perf/skip-prologue.py
+++ b/gdb/testsuite/gdb.perf/skip-prologue.py
@@ -18,6 +18,7 @@
from perftest import perftest
+
class SkipPrologue(perftest.TestCaseWithBasicMeasurements):
def __init__(self, count):
super(SkipPrologue, self).__init__("skip-prologue")
diff --git a/gdb/testsuite/gdb.perf/solib.py b/gdb/testsuite/gdb.perf/solib.py
index d23bb3f0555..f3ce5fa751d 100644
--- a/gdb/testsuite/gdb.perf/solib.py
+++ b/gdb/testsuite/gdb.perf/solib.py
@@ -19,6 +19,7 @@
from perftest import perftest
from perftest import measure
+
class SolibLoadUnload1(perftest.TestCaseWithBasicMeasurements):
def __init__(self, solib_count, measure_load):
if measure_load:
@@ -26,7 +27,7 @@ class SolibLoadUnload1(perftest.TestCaseWithBasicMeasurements):
else:
name = "solib_unload"
# We want to measure time in this test.
- super (SolibLoadUnload1, self).__init__ (name)
+ super(SolibLoadUnload1, self).__init__(name)
self.solib_count = solib_count
self.measure_load = measure_load
@@ -38,35 +39,36 @@ class SolibLoadUnload1(perftest.TestCaseWithBasicMeasurements):
def execute_test(self):
num = self.solib_count
- iteration = 5;
+ iteration = 5
while num > 0 and iteration > 0:
# Do inferior calls to do_test_load and do_test_unload in pairs,
# but measure differently.
if self.measure_load:
do_test_load = "call do_test_load (%d)" % num
- func = lambda: gdb.execute (do_test_load)
+ func = lambda: gdb.execute(do_test_load)
self.measure.measure(func, num)
do_test_unload = "call do_test_unload (%d)" % num
- gdb.execute (do_test_unload)
+ gdb.execute(do_test_unload)
else:
do_test_load = "call do_test_load (%d)" % num
- gdb.execute (do_test_load)
+ gdb.execute(do_test_load)
do_test_unload = "call do_test_unload (%d)" % num
- func = lambda: gdb.execute (do_test_unload)
+ func = lambda: gdb.execute(do_test_unload)
self.measure.measure(func, num)
num = num / 2
iteration -= 1
+
class SolibLoadUnload(object):
def __init__(self, solib_count):
- self.solib_count = solib_count;
+ self.solib_count = solib_count
def run(self):
SolibLoadUnload1(self.solib_count, True).run()
diff --git a/gdb/testsuite/gdb.perf/template-breakpoints.py b/gdb/testsuite/gdb.perf/template-breakpoints.py
index c6901759636..05a874840bc 100644
--- a/gdb/testsuite/gdb.perf/template-breakpoints.py
+++ b/gdb/testsuite/gdb.perf/template-breakpoints.py
@@ -15,9 +15,10 @@
from perftest import perftest
-class TemplateBreakpoints (perftest.TestCaseWithBasicMeasurements):
+
+class TemplateBreakpoints(perftest.TestCaseWithBasicMeasurements):
def __init__(self):
- super (TemplateBreakpoints, self).__init__ ("template-breakpoints")
+ super(TemplateBreakpoints, self).__init__("template-breakpoints")
def warm_up(self):
for _ in range(0, 2):