Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(502)

Unified Diff: build/android/pylib/base/shard_unittest.py

Issue 12317059: [Andoid] Threaded TestRunner creation and SetUp and TearDown calls. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698