blob: d02c39a2be364956204f296994c02a8877868bbd [file] [log] [blame]
Mike Frysingerd03e6b52019-08-03 12:49:01 -04001#!/usr/bin/python2
mblighbe630eb2008-08-01 16:41:48 +00002#
3# Copyright 2008 Google Inc. All Rights Reserved.
4
5"""Tests for test."""
6
Allen Lib4572db2017-02-01 14:46:38 -08007import unittest
mblighbe630eb2008-08-01 16:41:48 +00008
9import common
Allen Lib4572db2017-02-01 14:46:38 -080010from autotest_lib.cli import cli_mock
Aviv Keshet3dd8beb2013-05-13 17:36:04 -070011from autotest_lib.client.common_lib import control_data
mblighbe630eb2008-08-01 16:41:48 +000012
Aviv Keshet3dd8beb2013-05-13 17:36:04 -070013CLIENT = control_data.CONTROL_TYPE_NAMES.CLIENT
14SERVER = control_data.CONTROL_TYPE_NAMES.SERVER
mblighbe630eb2008-08-01 16:41:48 +000015
16class test_list_unittest(cli_mock.cli_unittest):
17 values = [{u'description': u'unknown',
Aviv Keshet3dd8beb2013-05-13 17:36:04 -070018 u'test_type': CLIENT,
mblighbe630eb2008-08-01 16:41:48 +000019 u'test_class': u'Canned Test Sets',
20 u'path': u'client/tests/test0/control',
mblighbe630eb2008-08-01 16:41:48 +000021 u'id': 138,
mbligh140a23c2008-10-29 16:55:21 +000022 u'name': u'test0',
23 u'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +000024 {u'description': u'unknown',
Aviv Keshet3dd8beb2013-05-13 17:36:04 -070025 u'test_type': SERVER,
mblighbe630eb2008-08-01 16:41:48 +000026 u'test_class': u'Kernel',
27 u'path': u'server/tests/test1/control',
mblighbe630eb2008-08-01 16:41:48 +000028 u'id': 139,
mbligh140a23c2008-10-29 16:55:21 +000029 u'name': u'test1',
30 u'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +000031 {u'description': u'unknown',
Aviv Keshet3dd8beb2013-05-13 17:36:04 -070032 u'test_type': CLIENT,
mblighbe630eb2008-08-01 16:41:48 +000033 u'test_class': u'Canned Test Sets',
34 u'path': u'client/tests/test2/control.readprofile',
mblighbe630eb2008-08-01 16:41:48 +000035 u'id': 140,
mbligh140a23c2008-10-29 16:55:21 +000036 u'name': u'test2',
37 u'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +000038 {u'description': u'unknown',
Aviv Keshet3dd8beb2013-05-13 17:36:04 -070039 u'test_type': SERVER,
mblighbe630eb2008-08-01 16:41:48 +000040 u'test_class': u'Canned Test Sets',
41 u'path': u'server/tests/test3/control',
mblighbe630eb2008-08-01 16:41:48 +000042 u'id': 142,
mbligh140a23c2008-10-29 16:55:21 +000043 u'name': u'test3',
44 u'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +000045 {u'description': u'Random stuff to check that things are ok',
Aviv Keshet3dd8beb2013-05-13 17:36:04 -070046 u'test_type': CLIENT,
mblighbe630eb2008-08-01 16:41:48 +000047 u'test_class': u'Hardware',
48 u'path': u'client/tests/test4/control.export',
mblighbe630eb2008-08-01 16:41:48 +000049 u'id': 143,
mbligh140a23c2008-10-29 16:55:21 +000050 u'name': u'test4',
51 u'experimental': True}]
52
53
54 def test_test_list_tests_default(self):
55 self.run_cmd(argv=['atest', 'test', 'list'],
56 rpcs=[('get_tests', {'experimental': False},
57 True, self.values)],
58 out_words_ok=['test0', 'test1', 'test2',
59 'test3', 'test4'],
60 out_words_no=['Random', 'control.export'])
mblighbe630eb2008-08-01 16:41:48 +000061
62
63 def test_test_list_tests_all(self):
mbligh140a23c2008-10-29 16:55:21 +000064 self.run_cmd(argv=['atest', 'test', 'list', '--all'],
65 rpcs=[('get_tests', {},
66 True, self.values)],
mblighbe630eb2008-08-01 16:41:48 +000067 out_words_ok=['test0', 'test1', 'test2',
68 'test3', 'test4'],
69 out_words_no=['Random', 'control.export'])
70
71
mbligh140a23c2008-10-29 16:55:21 +000072 def test_test_list_tests_exp(self):
73 self.run_cmd(argv=['atest', 'test', 'list', '--experimental'],
74 rpcs=[('get_tests', {'experimental': True},
75 True,
76 [{u'description': u'Random stuff',
Aviv Keshet3dd8beb2013-05-13 17:36:04 -070077 u'test_type': CLIENT,
mbligh140a23c2008-10-29 16:55:21 +000078 u'test_class': u'Hardware',
79 u'path': u'client/tests/test4/control.export',
mbligh140a23c2008-10-29 16:55:21 +000080 u'id': 143,
81 u'name': u'test4',
82 u'experimental': True}])],
83 out_words_ok=['test4'],
84 out_words_no=['Random', 'control.export'])
85
86
mblighbe630eb2008-08-01 16:41:48 +000087 def test_test_list_tests_select_one(self):
88 filtered = [val for val in self.values if val['name'] in ['test3']]
89 self.run_cmd(argv=['atest', 'test', 'list', 'test3'],
mbligh140a23c2008-10-29 16:55:21 +000090 rpcs=[('get_tests', {'name__in': ['test3'],
91 'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +000092 True, filtered)],
93 out_words_ok=['test3'],
94 out_words_no=['test0', 'test1', 'test2', 'test4',
95 'unknown'])
96
97
98 def test_test_list_tests_select_two(self):
99 filtered = [val for val in self.values
100 if val['name'] in ['test3', 'test1']]
101 self.run_cmd(argv=['atest', 'test', 'list', 'test3,test1'],
mbligh140a23c2008-10-29 16:55:21 +0000102 rpcs=[('get_tests', {'name__in': ['test1', 'test3'],
103 'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +0000104 True, filtered)],
Aviv Keshet3dd8beb2013-05-13 17:36:04 -0700105 out_words_ok=['test3', 'test1', SERVER],
mblighbe630eb2008-08-01 16:41:48 +0000106 out_words_no=['test0', 'test2', 'test4',
Aviv Keshet3dd8beb2013-05-13 17:36:04 -0700107 'unknown', CLIENT])
mblighbe630eb2008-08-01 16:41:48 +0000108
109
110 def test_test_list_tests_select_two_space(self):
111 filtered = [val for val in self.values
112 if val['name'] in ['test3', 'test1']]
113 self.run_cmd(argv=['atest', 'test', 'list', 'test3', 'test1'],
mbligh140a23c2008-10-29 16:55:21 +0000114 rpcs=[('get_tests', {'name__in': ['test1', 'test3'],
115 'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +0000116 True, filtered)],
Aviv Keshet3dd8beb2013-05-13 17:36:04 -0700117 out_words_ok=['test3', 'test1', SERVER],
mblighbe630eb2008-08-01 16:41:48 +0000118 out_words_no=['test0', 'test2', 'test4',
Aviv Keshet3dd8beb2013-05-13 17:36:04 -0700119 'unknown', CLIENT])
mblighbe630eb2008-08-01 16:41:48 +0000120
121
122 def test_test_list_tests_all_verbose(self):
123 self.run_cmd(argv=['atest', 'test', 'list', '-v'],
mbligh140a23c2008-10-29 16:55:21 +0000124 rpcs=[('get_tests', {'experimental': False},
125 True, self.values)],
mblighbe630eb2008-08-01 16:41:48 +0000126 out_words_ok=['test0', 'test1', 'test2',
127 'test3', 'test4', 'client/tests',
128 'server/tests'],
129 out_words_no=['Random'])
130
131
132 def test_test_list_tests_all_desc(self):
133 self.run_cmd(argv=['atest', 'test', 'list', '-d'],
mbligh140a23c2008-10-29 16:55:21 +0000134 rpcs=[('get_tests', {'experimental': False},
135 True, self.values)],
mblighbe630eb2008-08-01 16:41:48 +0000136 out_words_ok=['test0', 'test1', 'test2',
137 'test3', 'test4', 'unknown', 'Random'],
138 out_words_no=['client/tests', 'server/tests'])
139
140
141 def test_test_list_tests_all_desc_verbose(self):
142 self.run_cmd(argv=['atest', 'test', 'list', '-d', '-v'],
mbligh140a23c2008-10-29 16:55:21 +0000143 rpcs=[('get_tests', {'experimental': False},
144 True, self.values)],
mblighbe630eb2008-08-01 16:41:48 +0000145 out_words_ok=['test0', 'test1', 'test2',
146 'test3', 'test4', 'client/tests',
147 'server/tests', 'unknown', 'Random' ])
148
149
150if __name__ == '__main__':
151 unittest.main()