Issue #28613: Expose asyncio._get_running_loop() and _set_running_loop()
diff --git a/Lib/asyncio/events.py b/Lib/asyncio/events.py
index 8575e2c..28a45fc 100644
--- a/Lib/asyncio/events.py
+++ b/Lib/asyncio/events.py
@@ -6,6 +6,7 @@
'get_event_loop_policy', 'set_event_loop_policy',
'get_event_loop', 'set_event_loop', 'new_event_loop',
'get_child_watcher', 'set_child_watcher',
+ '_set_running_loop', '_get_running_loop',
]
import functools
diff --git a/Lib/test/test_asyncio/test_events.py b/Lib/test/test_asyncio/test_events.py
index 4c18300..d6489d5 100644
--- a/Lib/test/test_asyncio/test_events.py
+++ b/Lib/test/test_asyncio/test_events.py
@@ -2732,9 +2732,11 @@
try:
asyncio.set_event_loop_policy(Policy())
loop = asyncio.new_event_loop()
+ self.assertIs(asyncio._get_running_loop(), None)
async def func():
self.assertIs(asyncio.get_event_loop(), loop)
+ self.assertIs(asyncio._get_running_loop(), loop)
loop.run_until_complete(func())
finally:
@@ -2742,6 +2744,8 @@
if loop is not None:
loop.close()
+ self.assertIs(asyncio._get_running_loop(), None)
+
if __name__ == '__main__':
unittest.main()