blob: b7d10df4c33125cf20bd6705c1c49ff6f7bb0a3e [file] [log] [blame]
mblighbe630eb2008-08-01 16:41:48 +00001#!/usr/bin/python
2#
3# Copyright 2008 Google Inc. All Rights Reserved.
4
5"""Tests for test."""
6
7import unittest, sys, os
8
9import common
10from autotest_lib.cli import cli_mock, topic_common, test
11
12
13class test_list_unittest(cli_mock.cli_unittest):
14 values = [{u'description': u'unknown',
15 u'test_type': u'Client',
16 u'test_class': u'Canned Test Sets',
17 u'path': u'client/tests/test0/control',
18 u'synch_type': u'Asynchronous',
19 u'id': 138,
mbligh140a23c2008-10-29 16:55:21 +000020 u'name': u'test0',
21 u'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +000022 {u'description': u'unknown',
23 u'test_type': u'Server',
24 u'test_class': u'Kernel',
25 u'path': u'server/tests/test1/control',
26 u'synch_type': u'Asynchronous',
27 u'id': 139,
mbligh140a23c2008-10-29 16:55:21 +000028 u'name': u'test1',
29 u'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +000030 {u'description': u'unknown',
31 u'test_type': u'Client',
32 u'test_class': u'Canned Test Sets',
33 u'path': u'client/tests/test2/control.readprofile',
34 u'synch_type': u'Asynchronous',
35 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',
39 u'test_type': u'Server',
40 u'test_class': u'Canned Test Sets',
41 u'path': u'server/tests/test3/control',
42 u'synch_type': u'Asynchronous',
43 u'id': 142,
mbligh140a23c2008-10-29 16:55:21 +000044 u'name': u'test3',
45 u'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +000046 {u'description': u'Random stuff to check that things are ok',
47 u'test_type': u'Client',
48 u'test_class': u'Hardware',
49 u'path': u'client/tests/test4/control.export',
50 u'synch_type': u'Asynchronous',
51 u'id': 143,
mbligh140a23c2008-10-29 16:55:21 +000052 u'name': u'test4',
53 u'experimental': True}]
54
55
56 def test_test_list_tests_default(self):
57 self.run_cmd(argv=['atest', 'test', 'list'],
58 rpcs=[('get_tests', {'experimental': False},
59 True, self.values)],
60 out_words_ok=['test0', 'test1', 'test2',
61 'test3', 'test4'],
62 out_words_no=['Random', 'control.export'])
mblighbe630eb2008-08-01 16:41:48 +000063
64
65 def test_test_list_tests_all(self):
mbligh140a23c2008-10-29 16:55:21 +000066 self.run_cmd(argv=['atest', 'test', 'list', '--all'],
67 rpcs=[('get_tests', {},
68 True, self.values)],
mblighbe630eb2008-08-01 16:41:48 +000069 out_words_ok=['test0', 'test1', 'test2',
70 'test3', 'test4'],
71 out_words_no=['Random', 'control.export'])
72
73
mbligh140a23c2008-10-29 16:55:21 +000074 def test_test_list_tests_exp(self):
75 self.run_cmd(argv=['atest', 'test', 'list', '--experimental'],
76 rpcs=[('get_tests', {'experimental': True},
77 True,
78 [{u'description': u'Random stuff',
79 u'test_type': u'Client',
80 u'test_class': u'Hardware',
81 u'path': u'client/tests/test4/control.export',
82 u'synch_type': u'Asynchronous',
83 u'id': 143,
84 u'name': u'test4',
85 u'experimental': True}])],
86 out_words_ok=['test4'],
87 out_words_no=['Random', 'control.export'])
88
89
mblighbe630eb2008-08-01 16:41:48 +000090 def test_test_list_tests_select_one(self):
91 filtered = [val for val in self.values if val['name'] in ['test3']]
92 self.run_cmd(argv=['atest', 'test', 'list', 'test3'],
mbligh140a23c2008-10-29 16:55:21 +000093 rpcs=[('get_tests', {'name__in': ['test3'],
94 'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +000095 True, filtered)],
96 out_words_ok=['test3'],
97 out_words_no=['test0', 'test1', 'test2', 'test4',
98 'unknown'])
99
100
101 def test_test_list_tests_select_two(self):
102 filtered = [val for val in self.values
103 if val['name'] in ['test3', 'test1']]
104 self.run_cmd(argv=['atest', 'test', 'list', 'test3,test1'],
mbligh140a23c2008-10-29 16:55:21 +0000105 rpcs=[('get_tests', {'name__in': ['test1', 'test3'],
106 'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +0000107 True, filtered)],
108 out_words_ok=['test3', 'test1', 'Server'],
109 out_words_no=['test0', 'test2', 'test4',
110 'unknown', 'Client'])
111
112
113 def test_test_list_tests_select_two_space(self):
114 filtered = [val for val in self.values
115 if val['name'] in ['test3', 'test1']]
116 self.run_cmd(argv=['atest', 'test', 'list', 'test3', 'test1'],
mbligh140a23c2008-10-29 16:55:21 +0000117 rpcs=[('get_tests', {'name__in': ['test1', 'test3'],
118 'experimental': False},
mblighbe630eb2008-08-01 16:41:48 +0000119 True, filtered)],
120 out_words_ok=['test3', 'test1', 'Server'],
121 out_words_no=['test0', 'test2', 'test4',
122 'unknown', 'Client'])
123
124
125 def test_test_list_tests_all_verbose(self):
126 self.run_cmd(argv=['atest', 'test', 'list', '-v'],
mbligh140a23c2008-10-29 16:55:21 +0000127 rpcs=[('get_tests', {'experimental': False},
128 True, self.values)],
mblighbe630eb2008-08-01 16:41:48 +0000129 out_words_ok=['test0', 'test1', 'test2',
130 'test3', 'test4', 'client/tests',
131 'server/tests'],
132 out_words_no=['Random'])
133
134
135 def test_test_list_tests_all_desc(self):
136 self.run_cmd(argv=['atest', 'test', 'list', '-d'],
mbligh140a23c2008-10-29 16:55:21 +0000137 rpcs=[('get_tests', {'experimental': False},
138 True, self.values)],
mblighbe630eb2008-08-01 16:41:48 +0000139 out_words_ok=['test0', 'test1', 'test2',
140 'test3', 'test4', 'unknown', 'Random'],
141 out_words_no=['client/tests', 'server/tests'])
142
143
144 def test_test_list_tests_all_desc_verbose(self):
145 self.run_cmd(argv=['atest', 'test', 'list', '-d', '-v'],
mbligh140a23c2008-10-29 16:55:21 +0000146 rpcs=[('get_tests', {'experimental': False},
147 True, self.values)],
mblighbe630eb2008-08-01 16:41:48 +0000148 out_words_ok=['test0', 'test1', 'test2',
149 'test3', 'test4', 'client/tests',
150 'server/tests', 'unknown', 'Random' ])
151
152
153if __name__ == '__main__':
154 unittest.main()