Index: build/android/pylib/base/shard_unittest.py |
diff --git a/build/android/pylib/base/shard_unittest.py b/build/android/pylib/base/shard_unittest.py |
index 0448d8316cf966bcba80aefdc1dc9b4b7abfc599..2dd85b00f24da3de1cfb406ea73a1f36c7875b15 100644 |
--- a/build/android/pylib/base/shard_unittest.py |
+++ b/build/android/pylib/base/shard_unittest.py |
@@ -24,63 +24,81 @@ class MockRunner(object): |
"""A mock TestRunner.""" |
def __init__(self, device='0'): |
self.device = device |
+ self.setups = 0 |
+ self.teardowns = 0 |
- def Run(self, test): |
+ def RunTest(self, test): |
return (test_result.TestResults.FromRun( |
ok=[test_result.BaseTestResult(test, '')]), |
None) |
+ def SetUp(self): |
+ self.setups += 1 |
+ |
+ def TearDown(self): |
+ self.teardowns += 1 |
+ |
class MockRunnerRetry(MockRunner): |
- def Run(self, test): |
+ def RunTest(self, test): |
return (test_result.TestResults.FromRun( |
failed=[test_result.BaseTestResult(test, '')]), |
test) |
class MockRunnerException(MockRunner): |
- def Run(self, test): |
+ def RunTest(self, test): |
raise TestException |
-class TestWorker(unittest.TestCase): |
- """Tests for shard._Worker.""" |
+class TestFunctions(unittest.TestCase): |
+ """Tests for shard._RunTestsFromQueue.""" |
@staticmethod |
- def _RunRunner(mock_runner, tests): |
+ def _RunTests(mock_runner, tests): |
results = [] |
retry = [] |
- worker = shard._Worker(mock_runner, tests, results, retry) |
- worker.start() |
- worker.join() |
- worker.ReraiseIfException() |
+ shard._RunTestsFromQueue(mock_runner, tests, results, retry) |
return (results, retry) |
- def testRun(self): |
- results, retry = TestWorker._RunRunner(MockRunner(), ['a', 'b']) |
+ def testRunTestsFromQueue(self): |
+ results, retry = TestFunctions._RunTests(MockRunner(), ['a', 'b']) |
self.assertEqual(len(results), 2) |
self.assertEqual(len(retry), 0) |
- def testRetry(self): |
- results, retry = TestWorker._RunRunner(MockRunnerRetry(), ['a', 'b']) |
+ def testRunTestsFromQueueRetry(self): |
+ results, retry = TestFunctions._RunTests(MockRunnerRetry(), ['a', 'b']) |
self.assertEqual(len(results), 2) |
self.assertEqual(len(retry), 2) |
- def testReraise(self): |
- with self.assertRaises(TestException): |
- TestWorker._RunRunner(MockRunnerException(), ['a', 'b']) |
+ def testSetUp(self): |
+ runners = [] |
+ shard._SetUp(MockRunner, '0', runners) |
+ self.assertEqual(len(runners), 1) |
+ self.assertEqual(runners[0].setups, 1) |
-class TestRunAllTests(unittest.TestCase): |
+class TestThreadGroupFunctions(unittest.TestCase): |
"""Tests for shard._RunAllTests and shard._CreateRunners.""" |
def setUp(self): |
self.tests = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] |
- def testRun(self): |
+ def testCreate(self): |
runners = shard._CreateRunners(MockRunner, ['0', '1']) |
+ for runner in runners: |
+ self.assertEqual(runner.setups, 1) |
+ |
+ def testRun(self): |
+ runners = [MockRunner('0'), MockRunner('1')] |
results, retry = shard._RunAllTests(runners, self.tests) |
self.assertEqual(len(results), len(self.tests)) |
self.assertEqual(len(retry), 0) |
+ def testTearDown(self): |
+ runners = [MockRunner('0'), MockRunner('1')] |
+ shard._TearDownRunners(runners) |
+ for runner in runners: |
+ self.assertEqual(runner.teardowns, 1) |
+ |
def testRetry(self): |
runners = shard._CreateRunners(MockRunnerRetry, ['0', '1']) |
results, retry = shard._RunAllTests(runners, self.tests) |