File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -554,3 +554,30 @@ def runner(loop):
554554
555555 finally :
556556 asyncio .set_event_loop_policy (None )
557+
558+ @unittest .skipUnless (hasattr (asyncio , '_get_running_loop' ),
559+ 'No asyncio._get_running_loop' )
560+ def test_get_event_loop_returns_running_loop (self ):
561+ class Policy (asyncio .DefaultEventLoopPolicy ):
562+ def get_event_loop (self ):
563+ raise NotImplementedError
564+
565+ loop = None
566+
567+ old_policy = asyncio .get_event_loop_policy ()
568+ try :
569+ asyncio .set_event_loop_policy (Policy ())
570+ loop = uvloop .new_event_loop ()
571+ self .assertIs (asyncio ._get_running_loop (), None )
572+
573+ async def func ():
574+ self .assertIs (asyncio .get_event_loop (), loop )
575+ self .assertIs (asyncio ._get_running_loop (), loop )
576+
577+ loop .run_until_complete (func ())
578+ finally :
579+ asyncio .set_event_loop_policy (old_policy )
580+ if loop is not None :
581+ loop .close ()
582+
583+ self .assertIs (asyncio ._get_running_loop (), None )
You can’t perform that action at this time.
0 commit comments