diff options
Diffstat (limited to 'catapult/devil/devil/utils/parallelizer_test.py')
-rw-r--r-- | catapult/devil/devil/utils/parallelizer_test.py | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/catapult/devil/devil/utils/parallelizer_test.py b/catapult/devil/devil/utils/parallelizer_test.py index 32ff7ec5..acbb986e 100644 --- a/catapult/devil/devil/utils/parallelizer_test.py +++ b/catapult/devil/devil/utils/parallelizer_test.py @@ -1,17 +1,24 @@ +#! /usr/bin/env python # Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Unit tests for the contents of parallelizer.py.""" -# pylint: disable=W0212 -# pylint: disable=W0613 +# pylint: disable=protected-access +# pylint: disable=unused-argument +import contextlib import os import tempfile import time +import sys import unittest +if __name__ == '__main__': + sys.path.append(os.path.abspath( + os.path.join(os.path.dirname(__file__), '..', '..'))) + from devil.utils import parallelizer @@ -157,6 +164,27 @@ class ParallelizerTest(unittest.TestCase): self.assertEquals(range(9, 19), results) +class SyncParallelizerTest(unittest.TestCase): + + def testContextManager(self): + in_context = [False for i in xrange(10)] + + @contextlib.contextmanager + def enter_into_context(i): + in_context[i] = True + try: + yield + finally: + in_context[i] = False + + parallelized_context = parallelizer.SyncParallelizer( + [enter_into_context(i) for i in xrange(10)]) + + with parallelized_context: + self.assertTrue(all(in_context)) + self.assertFalse(any(in_context)) + + if __name__ == '__main__': unittest.main(verbosity=2) |