1#!/usr/bin/env python3 2# -*- coding: utf-8 -*- 3# 4# Copyright 2017 The Chromium OS Authors. All rights reserved. 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 10from __future__ import print_function 11 12import unittest 13 14import settings_factory 15 16 17class BenchmarkSettingsTest(unittest.TestCase): 18 """Class to test benchmark settings.""" 19 20 def test_init(self): 21 res = settings_factory.BenchmarkSettings('b_settings') 22 self.assertIsNotNone(res) 23 self.assertEqual(len(res.fields), 7) 24 self.assertEqual(res.GetField('test_name'), '') 25 self.assertEqual(res.GetField('test_args'), '') 26 self.assertEqual(res.GetField('iterations'), 0) 27 self.assertEqual(res.GetField('suite'), 'test_that') 28 29 30class LabelSettingsTest(unittest.TestCase): 31 """Class to test label settings.""" 32 33 def test_init(self): 34 res = settings_factory.LabelSettings('l_settings') 35 self.assertIsNotNone(res) 36 self.assertEqual(len(res.fields), 10) 37 self.assertEqual(res.GetField('chromeos_image'), '') 38 self.assertEqual(res.GetField('autotest_path'), '') 39 self.assertEqual(res.GetField('chromeos_root'), '') 40 self.assertEqual(res.GetField('remote'), None) 41 self.assertEqual(res.GetField('image_args'), '') 42 self.assertEqual(res.GetField('cache_dir'), '') 43 self.assertEqual(res.GetField('chrome_src'), '') 44 self.assertEqual(res.GetField('build'), '') 45 46 47class GlobalSettingsTest(unittest.TestCase): 48 """Class to test global settings.""" 49 50 def test_init(self): 51 res = settings_factory.GlobalSettings('g_settings') 52 self.assertIsNotNone(res) 53 self.assertEqual(len(res.fields), 40) 54 self.assertEqual(res.GetField('name'), '') 55 self.assertEqual(res.GetField('board'), '') 56 self.assertEqual(res.GetField('crosfleet'), False) 57 self.assertEqual(res.GetField('remote'), None) 58 self.assertEqual(res.GetField('rerun_if_failed'), False) 59 self.assertEqual(res.GetField('rm_chroot_tmp'), False) 60 self.assertEqual(res.GetField('email'), None) 61 self.assertEqual(res.GetField('rerun'), 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(Exception, settings_factory.SettingsFactory.GetSettings, 96 'global', 'bad_type') 97 98 l_settings = settings_factory.SettingsFactory().GetSettings( 99 'label', 'label') 100 self.assertIsInstance(l_settings, settings_factory.LabelSettings) 101 self.assertEqual(len(l_settings.fields), 10) 102 103 b_settings = settings_factory.SettingsFactory().GetSettings( 104 'benchmark', 'benchmark') 105 self.assertIsInstance(b_settings, settings_factory.BenchmarkSettings) 106 self.assertEqual(len(b_settings.fields), 7) 107 108 g_settings = settings_factory.SettingsFactory().GetSettings( 109 'global', 'global') 110 self.assertIsInstance(g_settings, settings_factory.GlobalSettings) 111 self.assertEqual(len(g_settings.fields), 40) 112 113 114if __name__ == '__main__': 115 unittest.main() 116