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

Unified Diff: third_party/grpc/src/python/grpcio/tests/unit/framework/foundation/_logging_pool_test.py

Issue 1932353002: Initial checkin of gRPC to third_party/ Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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: third_party/grpc/src/python/grpcio/tests/unit/framework/foundation/_logging_pool_test.py
diff --git a/third_party/protobuf/src/google/protobuf/arena_nc_test.py b/third_party/grpc/src/python/grpcio/tests/unit/framework/foundation/_logging_pool_test.py
similarity index 51%
copy from third_party/protobuf/src/google/protobuf/arena_nc_test.py
copy to third_party/grpc/src/python/grpcio/tests/unit/framework/foundation/_logging_pool_test.py
index 87a69b2afd76e6a81adb30e44d7703280535f600..0521e1c102ace797f2f841a4ea2e3bd72e248bfe 100644
--- a/third_party/protobuf/src/google/protobuf/arena_nc_test.py
+++ b/third_party/grpc/src/python/grpcio/tests/unit/framework/foundation/_logging_pool_test.py
@@ -1,8 +1,5 @@
-#! /usr/bin/env python
-#
-# Protocol Buffers - Google's data interchange format
-# Copyright 2008 Google Inc. All rights reserved.
-# https://developers.google.com/protocol-buffers/
+# Copyright 2015-2016, Google Inc.
+# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -30,32 +27,62 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-"""Negative compilation unit tests for arena API."""
+"""Tests for grpc.framework.foundation.logging_pool."""
+import threading
import unittest
-from google3.testing.pybase import fake_target_util
-import unittest
+from grpc.framework.foundation import logging_pool
+
+_POOL_SIZE = 16
+
+
+class _CallableObject(object):
+
+ def __init__(self):
+ self._lock = threading.Lock()
+ self._passed_values = []
+
+ def __call__(self, value):
+ with self._lock:
+ self._passed_values.append(value)
+
+ def passed_values(self):
+ with self._lock:
+ return tuple(self._passed_values)
+
+
+class LoggingPoolTest(unittest.TestCase):
+
+ def testUpAndDown(self):
+ pool = logging_pool.pool(_POOL_SIZE)
+ pool.shutdown(wait=True)
+
+ with logging_pool.pool(_POOL_SIZE) as pool:
+ self.assertIsNotNone(pool)
+
+ def testTaskExecuted(self):
+ test_list = []
+
+ with logging_pool.pool(_POOL_SIZE) as pool:
+ pool.submit(lambda: test_list.append(object())).result()
+ self.assertTrue(test_list)
-class ArenaNcTest(unittest.TestCase):
+ def testException(self):
+ with logging_pool.pool(_POOL_SIZE) as pool:
+ raised_exception = pool.submit(lambda: 1/0).exception()
- def testCompilerErrors(self):
- """Runs a list of tests to verify compiler error messages."""
+ self.assertIsNotNone(raised_exception)
- # Defines a list of test specs, where each element is a tuple
- # (test name, list of regexes for matching the compiler errors).
- test_specs = [
- ('ARENA_PRIVATE_CONSTRUCTOR',
- [r'calling a protected constructor']),
- ('SANITY', None)]
+ def testCallableObjectExecuted(self):
+ callable_object = _CallableObject()
+ passed_object = object()
+ with logging_pool.pool(_POOL_SIZE) as pool:
+ future = pool.submit(callable_object, passed_object)
+ self.assertIsNone(future.result())
+ self.assertSequenceEqual((passed_object,), callable_object.passed_values())
- fake_target_util.AssertCcCompilerErrors(
- self, # The current test case.
- 'google3/google/protobuf/arena_nc', # The fake target file.
- 'arena_nc.o', # The sub-target to build.
- test_specs # List of test specifications.
- )
if __name__ == '__main__':
- unittest.main()
+ unittest.main(verbosity=2)

Powered by Google App Engine
This is Rietveld 408576698