blob: 93462fa4f332c87e3f980d94eb1c0f511b59b2d6 [file] [log] [blame]
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -08001#!/usr/bin/python
2
Yunlian Jiang04dc5dc2013-04-23 15:05:05 -07003# 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.
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -08006
7
8class Benchmark(object):
9 """Class representing a benchmark to be run.
10
Yunlian Jiang04dc5dc2013-04-23 15:05:05 -070011 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
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -080015 arguments.
16 """
17
Yunlian Jiang04dc5dc2013-04-23 15:05:05 -070018 def __init__(self, name, test_name, test_args, iterations,
cmtice98a53692014-04-16 14:48:47 -070019 rm_chroot_tmp, perf_args, suite="",
20 show_all_results=False):
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -080021 self.name = name
Yunlian Jiang04dc5dc2013-04-23 15:05:05 -070022 #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
Ahmad Sharif0dcbc4b2012-02-02 16:37:18 -080026 self.iterations = iterations
Ahmad Shariff395c262012-10-09 17:48:09 -070027 self.perf_args = perf_args
Luis Lozanof81680c2013-03-15 14:44:13 -070028 self.rm_chroot_tmp = rm_chroot_tmp
Ahmad Sharif4467f002012-12-20 12:09:49 -080029 self.iteration_adjusted = False
Yunlian Jiang04dc5dc2013-04-23 15:05:05 -070030 self.suite = suite
cmtice9847df92013-12-06 15:46:49 -080031 self.show_all_results = show_all_results
cmtice226e3e02014-04-27 22:28:42 -070032 if self.suite == "telemetry":
33 self.show_all_results = True