You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.4 KiB
85 lines
2.4 KiB
#!/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()
|