commit: 3a55ecd1f79c31f477d7bdd0b9f0e97d8a15eb9e
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed May 9 14:19:11 2018 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed May 9 14:19:11 2018 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=3a55ecd1
DefaultEventLoopPolicy: test NotImplementedError due to recursion
.../asyncio/test_policy_wrapper_recursion.py | 29 ++++++++++++++++++++++
1 file changed, 29 insertions(+)
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)