aboutsummaryrefslogtreecommitdiff
path: root/catapult/devil/devil/utils/parallelizer_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/devil/devil/utils/parallelizer_test.py')
-rw-r--r--catapult/devil/devil/utils/parallelizer_test.py32
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)