diff options
Diffstat (limited to 'crosperf/benchmark_unittest.py')
-rwxr-xr-x | crosperf/benchmark_unittest.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/crosperf/benchmark_unittest.py b/crosperf/benchmark_unittest.py new file mode 100755 index 00000000..320ede65 --- /dev/null +++ b/crosperf/benchmark_unittest.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python2 +# +# Copyright 2014 Google Inc. All Rights Reserved +"""Unit tests for the Crosperf Benchmark class.""" + +from __future__ import print_function + +import inspect +from benchmark import Benchmark + +import unittest + + +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'] + arg_spec = inspect.getargspec(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() |