benchmark.py revision 9847df92a2b5f76ccddc4bf10288819712a8ca47
1#!/usr/bin/python
2
3# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7
8class Benchmark(object):
9  """Class representing a benchmark to be run.
10
11  Contains details of the benchmark suite, arguments to pass to the suite,
12  iterations to run the benchmark suite and so on. Note that the benchmark name
13  can be different to the test suite name. For example, you may want to have
14  two different benchmarks which run the same test_name with different
15  arguments.
16  """
17
18  def __init__(self, name, test_name, test_args, iterations,
19               outlier_range, key_results_only, rm_chroot_tmp, perf_args,
20               suite="pyauto", use_test_that=False, show_all_results=False):
21    self.name = name
22    #For telemetry, this is the benchmark name.
23    self.test_name = test_name
24    #For telemetry, this is the data.
25    self.test_args = test_args
26    self.iterations = iterations
27    self.outlier_range = outlier_range
28    self.perf_args = perf_args
29    self.key_results_only = key_results_only
30    self.rm_chroot_tmp = rm_chroot_tmp
31    self.iteration_adjusted = False
32    self.suite = suite
33    self.use_test_that = use_test_that
34    self.show_all_results = show_all_results
35