blob: 93d3bd6d586492a9775f980318271374212da412 [file] [log] [blame]
#!/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()