diff options
Diffstat (limited to 'crosperf/crosperf_unittest.py')
-rwxr-xr-x | crosperf/crosperf_unittest.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/crosperf/crosperf_unittest.py b/crosperf/crosperf_unittest.py new file mode 100755 index 00000000..4a468967 --- /dev/null +++ b/crosperf/crosperf_unittest.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python2 +# +# Copyright 2014 Google Inc. All Rights Reserved. +"""Unittest for crosperf.""" + +from __future__ import print_function + +import argparse +import StringIO + +import unittest + +import crosperf +import settings_factory +import experiment_file + +EXPERIMENT_FILE_1 = """ + board: x86-alex + remote: chromeos-alex3 + perf_args: record -a -e cycles + benchmark: PageCycler { + iterations: 3 + } + + image1 { + chromeos_image: /usr/local/google/cros_image1.bin + } + + image2 { + remote: chromeos-lumpy1 + chromeos_image: /usr/local/google/cros_image2.bin + } + """ + + +class CrosperfTest(unittest.TestCase): + """Crosperf test class.""" + + def setUp(self): + input_file = StringIO.StringIO(EXPERIMENT_FILE_1) + self.exp_file = experiment_file.ExperimentFile(input_file) + + def test_convert_options_to_settings(self): + parser = argparse.ArgumentParser() + parser.add_argument('-l', + '--log_dir', + dest='log_dir', + default='', + help='The log_dir, default is under ' + '<crosperf_logs>/logs') + crosperf.SetupParserOptions(parser) + argv = ['crosperf/crosperf.py', 'temp.exp', '--rerun=True'] + options, _ = parser.parse_known_args(argv) + settings = crosperf.ConvertOptionsToSettings(options) + self.assertIsNotNone(settings) + self.assertIsInstance(settings, settings_factory.GlobalSettings) + self.assertEqual(len(settings.fields), 25) + self.assertTrue(settings.GetField('rerun')) + argv = ['crosperf/crosperf.py', 'temp.exp'] + options, _ = parser.parse_known_args(argv) + settings = crosperf.ConvertOptionsToSettings(options) + self.assertFalse(settings.GetField('rerun')) + + +if __name__ == '__main__': + unittest.main() |