diff options
Diffstat (limited to 'gdb/testsuite/gdb.perf')
-rw-r--r-- | gdb/testsuite/gdb.perf/backtrace.py | 15 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/disassemble.py | 20 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/gmonster-null-lookup.py | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/gmonster-pervasive-typedef.py | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/gmonster-print-cerr.py | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/gmonster-ptype-string.py | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/gmonster-runto-main.py | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/gmonster-select-file.py | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/lib/perftest/measure.py | 16 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/lib/perftest/perftest.py | 11 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/lib/perftest/reporter.py | 25 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/lib/perftest/testresult.py | 8 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/lib/perftest/utils.py | 3 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/single-step.py | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/skip-command.py | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/skip-prologue.py | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/solib.py | 16 | ||||
-rw-r--r-- | gdb/testsuite/gdb.perf/template-breakpoints.py | 5 |
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): |