1#!/usr/bin/env python3 2# -*- coding: utf-8 -*- 3# 4# Copyright 2017 The ChromiumOS Authors 5# Use of this source code is governed by a BSD-style license that can be 6# found in the LICENSE file. 7 8"""Unittest for crosperf.""" 9 10 11import unittest 12 13import settings_factory 14 15 16class BenchmarkSettingsTest(unittest.TestCase): 17 """Class to test benchmark settings.""" 18 19 def test_init(self): 20 res = settings_factory.BenchmarkSettings("b_settings") 21 self.assertIsNotNone(res) 22 self.assertEqual(len(res.fields), 7) 23 self.assertEqual(res.GetField("test_name"), "") 24 self.assertEqual(res.GetField("test_args"), "") 25 self.assertEqual(res.GetField("iterations"), 0) 26 self.assertEqual(res.GetField("suite"), "test_that") 27 28 29class LabelSettingsTest(unittest.TestCase): 30 """Class to test label settings.""" 31 32 def test_init(self): 33 res = settings_factory.LabelSettings("l_settings") 34 self.assertIsNotNone(res) 35 self.assertEqual(len(res.fields), 10) 36 self.assertEqual(res.GetField("chromeos_image"), "") 37 self.assertEqual(res.GetField("autotest_path"), "") 38 self.assertEqual(res.GetField("chromeos_root"), "") 39 self.assertEqual(res.GetField("remote"), None) 40 self.assertEqual(res.GetField("image_args"), "") 41 self.assertEqual(res.GetField("cache_dir"), "") 42 self.assertEqual(res.GetField("chrome_src"), "") 43 self.assertEqual(res.GetField("build"), "") 44 45 46class GlobalSettingsTest(unittest.TestCase): 47 """Class to test global settings.""" 48 49 def test_init(self): 50 res = settings_factory.GlobalSettings("g_settings") 51 self.assertIsNotNone(res) 52 self.assertEqual(len(res.fields), 42) 53 self.assertEqual(res.GetField("name"), "") 54 self.assertEqual(res.GetField("board"), "") 55 self.assertEqual(res.GetField("crosfleet"), False) 56 self.assertEqual(res.GetField("remote"), None) 57 self.assertEqual(res.GetField("rerun_if_failed"), False) 58 self.assertEqual(res.GetField("rm_chroot_tmp"), False) 59 self.assertEqual(res.GetField("email"), None) 60 self.assertEqual(res.GetField("rerun"), False) 61 self.assertEqual(res.GetField("ignore_cache"), False) 62 self.assertEqual(res.GetField("same_specs"), True) 63 self.assertEqual(res.GetField("same_machine"), False) 64 self.assertEqual(res.GetField("iterations"), 0) 65 self.assertEqual(res.GetField("chromeos_root"), "") 66 self.assertEqual(res.GetField("logging_level"), "average") 67 self.assertEqual(res.GetField("acquire_timeout"), 0) 68 self.assertEqual(res.GetField("perf_args"), "") 69 self.assertEqual(res.GetField("download_debug"), True) 70 self.assertEqual(res.GetField("cache_dir"), "") 71 self.assertEqual(res.GetField("cache_only"), False) 72 self.assertEqual(res.GetField("no_email"), False) 73 self.assertEqual(res.GetField("show_all_results"), False) 74 self.assertEqual(res.GetField("share_cache"), "") 75 self.assertEqual(res.GetField("results_dir"), "") 76 self.assertEqual(res.GetField("compress_results"), True) 77 self.assertEqual(res.GetField("chrome_src"), "") 78 self.assertEqual(res.GetField("cwp_dso"), "") 79 self.assertEqual(res.GetField("enable_aslr"), False) 80 self.assertEqual(res.GetField("ignore_min_max"), False) 81 self.assertEqual(res.GetField("intel_pstate"), "no_hwp") 82 self.assertEqual(res.GetField("turbostat"), True) 83 self.assertEqual(res.GetField("top_interval"), 1) 84 self.assertEqual(res.GetField("cooldown_time"), 10) 85 self.assertEqual(res.GetField("cooldown_temp"), 40) 86 self.assertEqual(res.GetField("governor"), "performance") 87 self.assertEqual(res.GetField("cpu_usage"), "all") 88 self.assertEqual(res.GetField("cpu_freq_pct"), 95) 89 90 91class SettingsFactoryTest(unittest.TestCase): 92 """Class to test SettingsFactory.""" 93 94 def test_get_settings(self): 95 self.assertRaises( 96 Exception, 97 settings_factory.SettingsFactory.GetSettings, 98 "global", 99 "bad_type", 100 ) 101 102 l_settings = settings_factory.SettingsFactory().GetSettings( 103 "label", "label" 104 ) 105 self.assertIsInstance(l_settings, settings_factory.LabelSettings) 106 self.assertEqual(len(l_settings.fields), 10) 107 108 b_settings = settings_factory.SettingsFactory().GetSettings( 109 "benchmark", "benchmark" 110 ) 111 self.assertIsInstance(b_settings, settings_factory.BenchmarkSettings) 112 self.assertEqual(len(b_settings.fields), 7) 113 114 g_settings = settings_factory.SettingsFactory().GetSettings( 115 "global", "global" 116 ) 117 self.assertIsInstance(g_settings, settings_factory.GlobalSettings) 118 self.assertEqual(len(g_settings.fields), 42) 119 120 121if __name__ == "__main__": 122 unittest.main() 123