From 9c1bf25304bfb583992bb3e132d24097b9931380 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Thu, 3 Mar 2022 19:11:57 +0100 Subject: [PATCH] tests.generate: stop using asyncio.get_event_loop (#349) The use of `asyncio.get_event_loop()` has been deprecated in python 3.10+. We replace this usage with `asyncio.run()` for python 3.7+. --- tests/generate.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/generate.py b/tests/generate.py index 8599804..12f79e2 100755 --- a/tests/generate.py +++ b/tests/generate.py @@ -159,9 +159,19 @@ def main(): whitelist = set(sys.argv[1:]) if platform.system() == "Windows": - asyncio.set_event_loop(asyncio.ProactorEventLoop()) + # for python version prior to 3.8, loop policy needs to be set explicitly + # https://docs.python.org/3/library/asyncio-policy.html#asyncio.DefaultEventLoopPolicy + try: + asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy()) + except AttributeError: + # python < 3.7 does not have asyncio.WindowsProactorEventLoopPolicy + asyncio.get_event_loop_policy().set_event_loop(asyncio.ProactorEventLoop()) - asyncio.get_event_loop().run_until_complete(generate(whitelist, verbose)) + try: + asyncio.run(generate(whitelist, verbose)) + except AttributeError: + # compatibility code for python < 3.7 + asyncio.get_event_loop().run_until_complete(generate(whitelist, verbose)) if __name__ == "__main__":