settings_factory_unittest.py revision 6367e17c2a01a67fe015f4a94a1cbb30d7958dfc
1#!/usr/bin/python
2#
3# Copyright 2014 Google Inc. All Rights Reserved.
4
5"""Unittest for crosperf."""
6import os
7
8import mock
9import unittest
10
11import settings_factory
12import settings
13
14from utils import command_executer
15from utils import logger
16
17class BenchmarkSettingsTest(unittest.TestCase):
18
19  def test_init(self):
20    res = settings_factory.BenchmarkSettings("b_settings")
21    self.assertIsNotNone(res)
22    self.assertEqual(len(res.fields), 4)
23    self.assertEqual(res.GetField('test_name'), '')
24    self.assertEqual(res.GetField('test_args'), '')
25    self.assertEqual(res.GetField('iterations'), 1)
26    self.assertEqual(res.GetField('suite'), '')
27
28class LabelSettingsTest(unittest.TestCase):
29
30  def test_init(self):
31    res = settings_factory.LabelSettings("l_settings")
32    self.assertIsNotNone(res)
33    self.assertEqual(len(res.fields), 7)
34    self.assertEqual(res.GetField('chromeos_image'), '')
35    self.assertEqual(res.GetField('chromeos_root'), '')
36    self.assertEqual(res.GetField('remote'), [])
37    self.assertEqual(res.GetField('image_args'), '')
38    self.assertEqual(res.GetField('cache_dir'), '')
39    self.assertEqual(res.GetField('chrome_src'), '')
40    self.assertEqual(res.GetField('build'), '')
41
42
43class GlobalSettingsTest(unittest.TestCase):
44
45  def test_init(self):
46    res = settings_factory.GlobalSettings("g_settings")
47    self.assertIsNotNone(res)
48    self.assertEqual(len(res.fields), 21)
49    self.assertEqual(res.GetField('name'), '')
50    self.assertEqual(res.GetField('board'), '')
51    self.assertEqual(res.GetField('remote'), [])
52    self.assertEqual(res.GetField('rerun_if_failed'), False)
53    self.assertEqual(res.GetField('rm_chroot_tmp'), False)
54    self.assertEqual(res.GetField('email'), [])
55    self.assertEqual(res.GetField('rerun'), False)
56    self.assertEqual(res.GetField('same_specs'), True)
57    self.assertEqual(res.GetField('same_machine'), False)
58    self.assertEqual(res.GetField('iterations'), 1)
59    self.assertEqual(res.GetField('chromeos_root'), '')
60    self.assertEqual(res.GetField('logging_level'), 'average')
61    self.assertEqual(res.GetField('acquire_timeout'), 0)
62    self.assertEqual(res.GetField('perf_args'), '')
63    self.assertEqual(res.GetField('cache_dir'), '')
64    self.assertEqual(res.GetField('cache_only'), False)
65    self.assertEqual(res.GetField('no_email'), False)
66    self.assertEqual(res.GetField('show_all_results'), False)
67    self.assertEqual(res.GetField('share_users'), '')
68    self.assertEqual(res.GetField('results_dir'), '')
69    self.assertEqual(res.GetField('chrome_src'), '')
70
71
72class SettingsFactoryTest(unittest.TestCase):
73
74  def test_get_settings(self):
75    self.assertRaises (Exception, settings_factory.SettingsFactory.GetSettings,
76                       'global', 'bad_type')
77
78
79    l_settings = settings_factory.SettingsFactory().GetSettings ('label', 'label')
80    self.assertIsInstance(l_settings, settings_factory.LabelSettings)
81    self.assertEqual(len(l_settings.fields), 7)
82
83    b_settings = settings_factory.SettingsFactory().GetSettings ('benchmark',
84                                                                 'benchmark')
85    self.assertIsInstance(b_settings, settings_factory.BenchmarkSettings)
86    self.assertEqual(len(b_settings.fields), 4)
87
88    g_settings = settings_factory.SettingsFactory().GetSettings ('global',
89                                                                 'global')
90    self.assertIsInstance(g_settings, settings_factory.GlobalSettings)
91    self.assertEqual(len(g_settings.fields), 21)
92
93
94if __name__ == "__main__":
95  unittest.main()
96