aboutsummaryrefslogtreecommitdiff
path: root/crosperf/benchmark.py
diff options
context:
space:
mode:
Diffstat (limited to 'crosperf/benchmark.py')
-rw-r--r--crosperf/benchmark.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/crosperf/benchmark.py b/crosperf/benchmark.py
new file mode 100644
index 00000000..a2a34bca
--- /dev/null
+++ b/crosperf/benchmark.py
@@ -0,0 +1,45 @@
+
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Define a type that wraps a Benchmark instance."""
+
+class Benchmark(object):
+ """Class representing a benchmark to be run.
+
+ Contains details of the benchmark suite, arguments to pass to the suite,
+ iterations to run the benchmark suite and so on. Note that the benchmark name
+ can be different to the test suite name. For example, you may want to have
+ two different benchmarks which run the same test_name with different
+ arguments.
+ """
+
+ def __init__(self,
+ name,
+ test_name,
+ test_args,
+ iterations,
+ rm_chroot_tmp,
+ perf_args,
+ suite='',
+ show_all_results=False,
+ retries=0,
+ run_local=False):
+ self.name = name
+ #For telemetry, this is the benchmark name.
+ self.test_name = test_name
+ #For telemetry, this is the data.
+ self.test_args = test_args
+ self.iterations = iterations
+ self.perf_args = perf_args
+ self.rm_chroot_tmp = rm_chroot_tmp
+ self.iteration_adjusted = False
+ self.suite = suite
+ self.show_all_results = show_all_results
+ self.retries = retries
+ if self.suite == 'telemetry':
+ self.show_all_results = True
+ if run_local and self.suite != 'telemetry_Crosperf':
+ raise RuntimeError('run_local is only supported by telemetry_Crosperf.')
+ self.run_local = run_local