OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Unittests for test_dispatcher.py.""" | 5 """Unittests for test_dispatcher.py.""" |
6 | 6 |
7 import os | 7 import os |
8 import sys | 8 import sys |
9 import unittest | 9 import unittest |
10 | 10 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 runners = test_dispatcher._CreateRunners(MockRunnerException, ['0', '1']) | 160 runners = test_dispatcher._CreateRunners(MockRunnerException, ['0', '1']) |
161 with self.assertRaises(TestException): | 161 with self.assertRaises(TestException): |
162 test_dispatcher._RunAllTests(runners, self.test_collection_factory, 0) | 162 test_dispatcher._RunAllTests(runners, self.test_collection_factory, 0) |
163 | 163 |
164 | 164 |
165 class TestShard(unittest.TestCase): | 165 class TestShard(unittest.TestCase): |
166 """Tests test_dispatcher.RunTests with sharding.""" | 166 """Tests test_dispatcher.RunTests with sharding.""" |
167 @staticmethod | 167 @staticmethod |
168 def _RunShard(runner_factory): | 168 def _RunShard(runner_factory): |
169 return test_dispatcher.RunTests( | 169 return test_dispatcher.RunTests( |
170 ['a', 'b', 'c'], runner_factory, False, None, shard=True) | 170 ['a', 'b', 'c'], runner_factory, ['0', '1'], shard=True) |
171 | 171 |
172 def testShard(self): | 172 def testShard(self): |
173 results, exit_code = TestShard._RunShard(MockRunner) | 173 results, exit_code = TestShard._RunShard(MockRunner) |
174 self.assertEqual(len(results.GetPass()), 3) | 174 self.assertEqual(len(results.GetPass()), 3) |
175 self.assertEqual(exit_code, 0) | 175 self.assertEqual(exit_code, 0) |
176 | 176 |
177 def testFailing(self): | 177 def testFailing(self): |
178 results, exit_code = TestShard._RunShard(MockRunnerFail) | 178 results, exit_code = TestShard._RunShard(MockRunnerFail) |
179 self.assertEqual(len(results.GetPass()), 0) | 179 self.assertEqual(len(results.GetPass()), 0) |
180 self.assertEqual(len(results.GetFail()), 3) | 180 self.assertEqual(len(results.GetFail()), 3) |
181 self.assertEqual(exit_code, constants.ERROR_EXIT_CODE) | 181 self.assertEqual(exit_code, constants.ERROR_EXIT_CODE) |
182 | 182 |
183 def testNoTests(self): | 183 def testNoTests(self): |
184 results, exit_code = test_dispatcher.RunTests( | 184 results, exit_code = test_dispatcher.RunTests( |
185 [], MockRunner, False, None, shard=True) | 185 [], MockRunner, ['0', '1'], shard=True) |
186 self.assertEqual(len(results.GetAll()), 0) | 186 self.assertEqual(len(results.GetAll()), 0) |
187 self.assertEqual(exit_code, constants.ERROR_EXIT_CODE) | 187 self.assertEqual(exit_code, constants.ERROR_EXIT_CODE) |
188 | 188 |
189 | 189 |
190 class TestReplicate(unittest.TestCase): | 190 class TestReplicate(unittest.TestCase): |
191 """Tests test_dispatcher.RunTests with replication.""" | 191 """Tests test_dispatcher.RunTests with replication.""" |
192 @staticmethod | 192 @staticmethod |
193 def _RunReplicate(runner_factory): | 193 def _RunReplicate(runner_factory): |
194 return test_dispatcher.RunTests( | 194 return test_dispatcher.RunTests( |
195 ['a', 'b', 'c'], runner_factory, False, None, shard=False) | 195 ['a', 'b', 'c'], runner_factory, ['0', '1'], shard=False) |
196 | 196 |
197 def testReplicate(self): | 197 def testReplicate(self): |
198 results, exit_code = TestReplicate._RunReplicate(MockRunner) | 198 results, exit_code = TestReplicate._RunReplicate(MockRunner) |
199 # We expect 6 results since each test should have been run on every device | 199 # We expect 6 results since each test should have been run on every device |
200 self.assertEqual(len(results.GetPass()), 6) | 200 self.assertEqual(len(results.GetPass()), 6) |
201 self.assertEqual(exit_code, 0) | 201 self.assertEqual(exit_code, 0) |
202 | 202 |
203 def testFailing(self): | 203 def testFailing(self): |
204 results, exit_code = TestReplicate._RunReplicate(MockRunnerFail) | 204 results, exit_code = TestReplicate._RunReplicate(MockRunnerFail) |
205 self.assertEqual(len(results.GetPass()), 0) | 205 self.assertEqual(len(results.GetPass()), 0) |
206 self.assertEqual(len(results.GetFail()), 6) | 206 self.assertEqual(len(results.GetFail()), 6) |
207 self.assertEqual(exit_code, constants.ERROR_EXIT_CODE) | 207 self.assertEqual(exit_code, constants.ERROR_EXIT_CODE) |
208 | 208 |
209 def testNoTests(self): | 209 def testNoTests(self): |
210 results, exit_code = test_dispatcher.RunTests( | 210 results, exit_code = test_dispatcher.RunTests( |
211 [], MockRunner, False, None, shard=False) | 211 [], MockRunner, ['0', '1'], shard=False) |
212 self.assertEqual(len(results.GetAll()), 0) | 212 self.assertEqual(len(results.GetAll()), 0) |
213 self.assertEqual(exit_code, constants.ERROR_EXIT_CODE) | 213 self.assertEqual(exit_code, constants.ERROR_EXIT_CODE) |
214 | 214 |
215 | 215 |
216 if __name__ == '__main__': | 216 if __name__ == '__main__': |
217 unittest.main() | 217 unittest.main() |
OLD | NEW |