#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # Copyright 2017 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Unittest for crosperf.""" import unittest import settings_factory class BenchmarkSettingsTest(unittest.TestCase): """Class to test benchmark settings.""" def test_init(self): res = settings_factory.BenchmarkSettings("b_settings") self.assertIsNotNone(res) self.assertEqual(len(res.fields), 7) self.assertEqual(res.GetField("test_name"), "") self.assertEqual(res.GetField("test_args"), "") self.assertEqual(res.GetField("iterations"), 0) self.assertEqual(res.GetField("suite"), "test_that") class LabelSettingsTest(unittest.TestCase): """Class to test label settings.""" def test_init(self): res = settings_factory.LabelSettings("l_settings") self.assertIsNotNone(res) self.assertEqual(len(res.fields), 10) self.assertEqual(res.GetField("chromeos_image"), "") self.assertEqual(res.GetField("autotest_path"), "") self.assertEqual(res.GetField("chromeos_root"), "") self.assertEqual(res.GetField("remote"), None) self.assertEqual(res.GetField("image_args"), "") self.assertEqual(res.GetField("cache_dir"), "") self.assertEqual(res.GetField("chrome_src"), "") self.assertEqual(res.GetField("build"), "") class GlobalSettingsTest(unittest.TestCase): """Class to test global settings.""" def test_init(self): res = settings_factory.GlobalSettings("g_settings") self.assertIsNotNone(res) self.assertEqual(len(res.fields), 40) self.assertEqual(res.GetField("name"), "") self.assertEqual(res.GetField("board"), "") self.assertEqual(res.GetField("crosfleet"), False) self.assertEqual(res.GetField("remote"), None) self.assertEqual(res.GetField("rerun_if_failed"), False) self.assertEqual(res.GetField("rm_chroot_tmp"), False) self.assertEqual(res.GetField("email"), None) self.assertEqual(res.GetField("rerun"), False) self.assertEqual(res.GetField("same_specs"), True) self.assertEqual(res.GetField("same_machine"), False) self.assertEqual(res.GetField("iterations"), 0) self.assertEqual(res.GetField("chromeos_root"), "") self.assertEqual(res.GetField("logging_level"), "average") self.assertEqual(res.GetField("acquire_timeout"), 0) self.assertEqual(res.GetField("perf_args"), "") self.assertEqual(res.GetField("download_debug"), True) self.assertEqual(res.GetField("cache_dir"), "") self.assertEqual(res.GetField("cache_only"), False) self.assertEqual(res.GetField("no_email"), False) self.assertEqual(res.GetField("show_all_results"), False) self.assertEqual(res.GetField("share_cache"), "") self.assertEqual(res.GetField("results_dir"), "") self.assertEqual(res.GetField("compress_results"), True) self.assertEqual(res.GetField("chrome_src"), "") self.assertEqual(res.GetField("cwp_dso"), "") self.assertEqual(res.GetField("enable_aslr"), False) self.assertEqual(res.GetField("ignore_min_max"), False) self.assertEqual(res.GetField("intel_pstate"), "no_hwp") self.assertEqual(res.GetField("turbostat"), True) self.assertEqual(res.GetField("top_interval"), 1) self.assertEqual(res.GetField("cooldown_time"), 10) self.assertEqual(res.GetField("cooldown_temp"), 40) self.assertEqual(res.GetField("governor"), "performance") self.assertEqual(res.GetField("cpu_usage"), "all") self.assertEqual(res.GetField("cpu_freq_pct"), 95) class SettingsFactoryTest(unittest.TestCase): """Class to test SettingsFactory.""" def test_get_settings(self): self.assertRaises( Exception, settings_factory.SettingsFactory.GetSettings, "global", "bad_type", ) l_settings = settings_factory.SettingsFactory().GetSettings( "label", "label" ) self.assertIsInstance(l_settings, settings_factory.LabelSettings) self.assertEqual(len(l_settings.fields), 10) b_settings = settings_factory.SettingsFactory().GetSettings( "benchmark", "benchmark" ) self.assertIsInstance(b_settings, settings_factory.BenchmarkSettings) self.assertEqual(len(b_settings.fields), 7) g_settings = settings_factory.SettingsFactory().GetSettings( "global", "global" ) self.assertIsInstance(g_settings, settings_factory.GlobalSettings) self.assertEqual(len(g_settings.fields), 40) if __name__ == "__main__": unittest.main()