a  ze:@s`ddlZddlZddlmZddlmZGdddejZGdddejZ Gd d d e Z dS) N)mock)utilsc@s,eZdZddZddZddZddZd S) TestPolicycCs||_d|_dSN) loop_factoryloop)selfrr R/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_asyncio/test_runners.py__init__ szTestPolicy.__init__cCstdSr) RuntimeErrorr r r r get_event_loopszTestPolicy.get_event_loopcCs|Sr)rrr r r new_event_loopszTestPolicy.new_event_loopcCs|dur||_dSrr)r rr r r set_event_loopszTestPolicy.set_event_loopN)__name__ __module__ __qualname__r rrrr r r r rsrcs0eZdZddZfddZfddZZS)BaseTestcsBtt_t_djj_d_fdd}|_ S)Nr Fcs d_dSNT)shutdown_ag_runr rr r shutdown_asyncgens%sz-BaseTest.new_loop..shutdown_asyncgens) asyncioZ BaseEventLooprMockZ_process_events _selectorselectZ return_valuerr)r rr rr new_loops    zBaseTest.new_loopcs"tt|j}t|dSr)supersetUprrrset_event_loop_policyr Zpolicy __class__r r r +s  zBaseTest.setUpcsHt}|jdur0||j||jjtdtdSr) rZget_event_loop_policyr assertTrueZ is_closedrr!rtearDownr"r#r r r&1s   zBaseTest.tearDown)rrrrr r& __classcell__r r r#r rs rc@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)RunTestscCs dd}|t|ddS)NcstdIdHdS)Nr*rsleepr r r r main>sz.RunTests.test_asyncio_run_return..mainr)) assertEqualrrunr r,r r r test_asyncio_run_return=sz RunTests.test_asyncio_run_returncCsDdd}|tdt|Wdn1s60YdS)NcstdIdHtddS)Nrspam)rr+ ValueErrorr r r r r,Esz.RunTests.test_asyncio_run_raises..mainr1)assertRaisesRegexr2rr.r/r r r test_asyncio_run_raisesDsz RunTests.test_asyncio_run_raisesc CsxdddhD]f}|j|dF|tdt|Wdn1sJ0YWdq 1sh0Yq dS)NrcSsdSrr r r r r Mz5RunTests.test_asyncio_run_only_coro..)objza coroutine was expected)ZsubTestr3r2rr.)r or r r test_asyncio_run_only_coroLsz#RunTests.test_asyncio_run_only_corocsfdd}t|dtj|dddtddd0t|dtj|dddWdn1sr0YdS) Ncst}||dSr)rrZassertIsZ get_debug)Zexpectedrrr r r,Tsz-RunTests.test_asyncio_run_debug..mainFT)debugz!asyncio.coroutines._is_debug_modecSsdSrr r r r r r5Zr6z1RunTests.test_asyncio_run_debug..)rr.rZpatchr/r rr test_asyncio_run_debugSs  zRunTests.test_asyncio_run_debugcsHfdd|tdtWdn1s:0YdS)Ncs,}zt|W|n |0dSr)rr.close)coror,r r r,_s z9RunTests.test_asyncio_run_from_running_loop..mainzcannot be called from a running)r3r rr.rr r>r "test_asyncio_run_from_running_loop^s  z+RunTests.test_asyncio_run_from_running_loopcs@dddfdd}|t|d|dS)NcstdIdHdS)N皙?r*r r r r leftovermszARunTests.test_asyncio_run_cancels_hanging_tasks..leftovercstdSN{)r create_taskr rAlo_taskr r r,ps z=RunTests.test_asyncio_run_cancels_hanging_tasks..mainrC)r-rr.r%doner/r rEr &test_asyncio_run_cancels_hanging_tasksjs z/RunTests.test_asyncio_run_cancels_hanging_taskscshdtddfdd}|t|d|t dt t ddS)Ncs6ztdIdHWntjy0ddYn0dS)Nr@rr)rr+CancelledErrorr r r r rA|szHRunTests.test_asyncio_run_reports_hanging_tasks_errors..leftovercst}|_tdSrB)rget_running_loopcall_exception_handlerrDrZcall_exc_handler_mockrArFr r r,s zDRunTests.test_asyncio_run_reports_hanging_tasks_errors..mainrCzasyncio.run.*shutdown)messageZtask exception) rrr-rr.r%rGZassert_called_with test_utilsZ MockPatternZMockInstanceOfZeroDivisionErrorr/r rLr -test_asyncio_run_reports_hanging_tasks_errorsxsz6RunTests.test_asyncio_run_reports_hanging_tasks_errorscsddGdddtddfddfdd}|t|Wdn1sj0Y||j|j dS) Nc@s eZdZdS)zSRunTests.test_asyncio_run_closes_gens_after_hanging_tasks_errors..FancyExitN)rrrr r r r FancyExitsrRcSsdVtdIdHqdS)Nrr*r r r r fidgetszPRunTests.test_asyncio_run_closes_gens_after_hanging_tasks_errors..fidgetcs@z2z 3dHW}q 6Wntjy:ddYn0dS)Nrr)rrI)Zthe_meaning_of_life)rSspinnerr r spins zNRunTests.test_asyncio_run_closes_gens_after_hanging_tasks_errors..spincs&t}t|_tdSr)rrJrrrKrDr)rRlazyboyrUr r r,s  zNRunTests.test_asyncio_run_closes_gens_after_hanging_tasks_errors..main) ExceptionZ assertRaisesrr.r%rGZ assertIsNoneag_frameZ assertFalse ag_runningr/r )rRrSrVrUrTr 7test_asyncio_run_closes_gens_after_hanging_tasks_errorss  * z@RunTests.test_asyncio_run_closes_gens_after_hanging_tasks_errorsN) rrrr0r4r9r;r?rHrQrZr r r r r(;s  r() rZunittestrrrOZAbstractEventLoopPolicyrZTestCaserr(r r r r s