diff options
author | Zac Medico <zmedico@gentoo.org> | 2018-05-09 07:19:11 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2018-05-09 07:19:11 -0700 |
commit | 3a55ecd1f79c31f477d7bdd0b9f0e97d8a15eb9e (patch) | |
tree | 81119bb3b9a0e4bef7fab1a98147e122476f9025 /pym | |
parent | SubprocessExecTestCase: fix unintended skipTest (diff) | |
download | portage-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.py | 29 |
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) |