| |
| # 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 Exception('run_local is only supported by telemetry_Crosperf.') |
| self.run_local = run_local |