63 lines
2.2 KiB
Python
Executable file
63 lines
2.2 KiB
Python
Executable file
#!/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()
|