gh-130322: drop deprecation of `asyncio.set_event_loop` by kumaraditya303 · Pull Request #132349 · python/cpython
with contextlib.closing(asyncio.new_event_loop()) as loop: asyncio._set_event_loop(loop) asyncio.set_event_loop(loop) return loop.run_until_complete(doit())
class PolicyTests(unittest.TestCase):
def test_asyncio_set_event_loop_deprecation(self): with self.assertWarnsRegex( DeprecationWarning, "'asyncio.set_event_loop' is deprecated"): loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) self.assertIs(loop, asyncio.get_event_loop()) loop.close()
def test_abstract_event_loop_policy_deprecation(self): with self.assertWarnsRegex( DeprecationWarning, "'asyncio.AbstractEventLoopPolicy' is deprecated"):
self.loop = asyncio.new_event_loop() asyncio._set_event_loop(self.loop) asyncio.set_event_loop(self.loop)
def tearDown(self): try: super().tearDown() finally: self.loop.close() asyncio._set_event_loop(None) asyncio.set_event_loop(None)
events._get_running_loop = self._get_running_loop_saved events._set_running_loop = self._set_running_loop_saved
with self.assertRaises(TestError): asyncio.get_event_loop() asyncio._set_event_loop(None) asyncio.set_event_loop(None) with self.assertRaises(TestError): asyncio.get_event_loop()
loop.run_until_complete(func())
asyncio._set_event_loop(loop) asyncio.set_event_loop(loop) with self.assertRaises(TestError): asyncio.get_event_loop() asyncio._set_event_loop(None) asyncio.set_event_loop(None) with self.assertRaises(TestError): asyncio.get_event_loop()
asyncio._set_event_loop(None) asyncio.set_event_loop(None) with self.assertRaisesRegex(RuntimeError, 'no current'): asyncio.get_event_loop()
loop.run_until_complete(func())
asyncio._set_event_loop(loop) asyncio.set_event_loop(loop) self.assertIs(asyncio.get_event_loop(), loop)
asyncio._set_event_loop(None) asyncio.set_event_loop(None) with self.assertRaisesRegex(RuntimeError, 'no current'): asyncio.get_event_loop()