| #!/usr/bin/env python3 |
| # -*- coding: utf-8 -*- |
| # |
| # Copyright 2014 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Unit tests for the Crosperf Benchmark class.""" |
| |
| |
| import inspect |
| import unittest |
| |
| from benchmark import Benchmark |
| |
| |
| class BenchmarkTestCase(unittest.TestCase): |
| """Individual tests for the Benchmark class.""" |
| |
| def test_benchmark(self): |
| # Test creating a benchmark with all the fields filled out. |
| b1 = Benchmark( |
| "b1_test", # name |
| "octane", # test_name |
| "", # test_args |
| 3, # iterations |
| False, # rm_chroot_tmp |
| "record -e cycles", # perf_args |
| "telemetry_Crosperf", # suite |
| True, |
| ) # show_all_results |
| self.assertTrue(b1.suite, "telemetry_Crosperf") |
| |
| # Test creating a benchmark field with default fields left out. |
| b2 = Benchmark( |
| "b2_test", # name |
| "octane", # test_name |
| "", # test_args |
| 3, # iterations |
| False, # rm_chroot_tmp |
| "record -e cycles", |
| ) # perf_args |
| self.assertEqual(b2.suite, "") |
| self.assertFalse(b2.show_all_results) |
| |
| # Test explicitly creating 'suite=Telemetry' and 'show_all_results=False" |
| # and see what happens. |
| b3 = Benchmark( |
| "b3_test", # name |
| "octane", # test_name |
| "", # test_args |
| 3, # iterations |
| False, # rm_chroot_tmp |
| "record -e cycles", # perf_args |
| "telemetry", # suite |
| False, |
| ) # show_all_results |
| self.assertTrue(b3.show_all_results) |
| |
| # Check to see if the args to Benchmark have changed since the last time |
| # this test was updated. |
| args_list = [ |
| "self", |
| "name", |
| "test_name", |
| "test_args", |
| "iterations", |
| "rm_chroot_tmp", |
| "perf_args", |
| "suite", |
| "show_all_results", |
| "retries", |
| "run_local", |
| "cwp_dso", |
| "weight", |
| ] |
| arg_spec = inspect.getfullargspec(Benchmark.__init__) |
| self.assertEqual(len(arg_spec.args), len(args_list)) |
| for arg in args_list: |
| self.assertIn(arg, arg_spec.args) |
| |
| |
| if __name__ == "__main__": |
| unittest.main() |