aboutsummaryrefslogtreecommitdiff
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2018-05-09 07:19:11 -0700
committerZac Medico <zmedico@gentoo.org>2018-05-09 07:19:11 -0700
commit3a55ecd1f79c31f477d7bdd0b9f0e97d8a15eb9e (patch)
tree81119bb3b9a0e4bef7fab1a98147e122476f9025 /pym
parentSubprocessExecTestCase: fix unintended skipTest (diff)
downloadportage-3a55ecd1f79c31f477d7bdd0b9f0e97d8a15eb9e.tar.gz
portage-3a55ecd1f79c31f477d7bdd0b9f0e97d8a15eb9e.tar.bz2
portage-3a55ecd1f79c31f477d7bdd0b9f0e97d8a15eb9e.zip
DefaultEventLoopPolicy: test NotImplementedError due to recursion
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/tests/util/futures/asyncio/test_policy_wrapper_recursion.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/pym/portage/tests/util/futures/asyncio/test_policy_wrapper_recursion.py b/pym/portage/tests/util/futures/asyncio/test_policy_wrapper_recursion.py
new file mode 100644
index 000000000..d3cd94b35
--- /dev/null
+++ b/pym/portage/tests/util/futures/asyncio/test_policy_wrapper_recursion.py
@@ -0,0 +1,29 @@
+# Copyright 2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+try:
+ import asyncio
+except ImportError:
+ asyncio = None
+
+from portage.tests import TestCase
+from portage.util.futures.unix_events import DefaultEventLoopPolicy
+
+
+class PolicyWrapperRecursionTestCase(TestCase):
+ def testPolicyWrapperRecursion(self):
+ if asyncio is None:
+ self.skipTest('asyncio is not available')
+
+ initial_policy = asyncio.get_event_loop_policy()
+ if not isinstance(initial_policy, DefaultEventLoopPolicy):
+ asyncio.set_event_loop_policy(DefaultEventLoopPolicy())
+
+ try:
+ with self.assertRaises(NotImplementedError):
+ asyncio.get_event_loop()
+
+ with self.assertRaises(NotImplementedError):
+ asyncio.get_child_watcher()
+ finally:
+ asyncio.set_event_loop_policy(initial_policy)