• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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