K is.RddlZddlZddlZddlZddlZddlZddlmZddlZ ddl m Z ddl m Z ddlm Z mZmZddlmZmZmZmZddlmZddlmZmZGd d eZGd d ej6ZGd dej6ZGddej6ZGddeZy)N)ThreadPoolExecutor)gen)IOLoop) AsyncIOLoopto_asyncio_futureAddThreadSelectorEventLoop) AsyncTestCasegen_testsetup_with_context_managerAsyncHTTPTestCase)ignore_deprecation) ApplicationRequestHandlercNeZdZedZdZedZedZdZ dZ y)AsyncIOLoopTestc.|jjSN)io_loop asyncio_loopselfs _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/tornado/test/asyncio_test.pyrzAsyncIOLoopTest.asyncio_loop(s||(((cpfd}jj|jy)NchKtjjjywr)asyncioget_event_loop call_soonstoprsr add_callbackz;AsyncIOLoopTest.test_asyncio_callback..add_callback.s"  " " $ . .tyy 9s/2)rrun_until_completewait)rr s` rtest_asyncio_callbackz%AsyncIOLoopTest.test_asyncio_callback,s) : ,,\^< rc#Ktjtjjdd}|j |dyw)NcyN*r(rrz5AsyncIOLoopTest.test_asyncio_future..9rr')r ensure_futurerrun_in_executor assertEqual)rxs rtest_asyncio_futurez#AsyncIOLoopTest.test_asyncio_future4sH''  " " $ 4 4T: F   BsAAc#nKtjd}|}|j|dyw)Nc3pKtj}|jddEd{}|S7w)Ncyr&r(r(rrr)zDAsyncIOLoopTest.test_asyncio_yield_from..f..Br*r)rrr,) event_loopr.s rfz2AsyncIOLoopTest.test_asyncio_yield_from..f?s4 //1J%55dJGGAHHs +646r')r coroutiner-)rr4results rtest_asyncio_yield_fromz'AsyncIOLoopTest.test_asyncio_yield_from=s7     s $s35cttjdfdfd}fd}|j|jj d|j|jj |d|j|jj |d|j|j j d|j|j j |d|j|j j |dy)Nc3XKtjtjdwr&)rmomentReturnr(rrtornado_coroutinez?AsyncIOLoopTest.test_asyncio_adapter..tornado_coroutineMs** **R. s(*c.Kd{S7wrr(r<sr native_coroutine_without_adapterzNAsyncIOLoopTest.test_asyncio_adapter..native_coroutine_without_adapterRs*,, ,,s c@Ktd{S7wrrr>srnative_coroutine_with_adapterzKAsyncIOLoopTest.test_asyncio_adapter..native_coroutine_with_adapterUs*+<+>?? ?? c@Ktd{S7wrrA)r?srnative_coroutine_with_adapter2zLAsyncIOLoopTest.test_asyncio_adapter..native_coroutine_with_adapter2Ys*+K+MNN NNrCr')rr5r-rrun_syncrr!)rrBrEr?r<s @@rtest_asyncio_adapterz$AsyncIOLoopTest.test_asyncio_adapterHs  !  ! - @ O ../OPRTU ../LMrR ../MNPRS     0 01Q1S T       0 01N1P Q       0 01O1Q R  rc~ttj}|j|jyr)rrrcloserloops r test_add_thread_close_idempotentz0AsyncIOLoopTest.test_add_thread_close_idempotentps')'*@*@*BC  rN) __name__ __module__ __qualname__propertyrr#r r/r7rGrLr(rrrr'sL ))  %%& Prrc$eZdZdZdZdZdZy)LeakTestc8tdjy)NF make_current)rrIrs rsetUpzLeakTest.setUpws'--/rc tjj}|jy#t$rYywxYwr)rget_event_loop_policyrrI ExceptionrJs rtearDownzLeakTest.tearDown{s= 002AACD JJL    s"5 AAclttj}tdD]S}t j 5t j dtt}|jdddUttj|z }|j|dy#1swYxYw)N ignorer) lenr_ioloop_for_asynciorangewarningscatch_warnings simplefilterDeprecationWarningrrIr-r orig_countirK new_counts rtest_ioloop_close_leakzLeakTest.test_ioloop_close_leaks334 r A((* %%h0BC"}     223j@  A&   s 5B**B3 cttj}tdD]p}t j }|j tj|j |j|j|jrttj|z }|j|dy)Nr\) r^rr_r`rnew_event_looprcurrentr run_foreverrIr-res rtest_asyncio_close_leakz LeakTest.test_asyncio_close_leaks334 r A))+D NN6>> * NN499 %     JJL  223j@  A&rN)rMrNrOrVrZriror(rrrRrRvs0 ' 'rrRc0eZdZdZdZdZdZdZdZy)SelectorThreadLeakTestc|tj|jtj|_yr)rrundummy_tornado_coroutine threading active_countorig_thread_countrs rrVzSelectorThreadLeakTest.setUps*  D0023!*!7!7!9rcrtjdz}tj|krcttj}t ||j krn-tj dtj|krc|jt |j |y)Nrkg?)timelistru enumerater^rwsleepassertLessEqual)rdeadlinethreadss rassert_no_thread_leakz,SelectorThreadLeakTest.assert_no_thread_leaks 99;?iikH$9..01G7|t555 JJsO iikH$ S\4+A+A7Krc4Ktjywr)rrmrs rrtz.SelectorThreadLeakTest.dummy_tornado_coroutinessctdD]%}tj|j'|j yNr\)r`rrsrtr)rrgs rtest_asyncio_runz'SelectorThreadLeakTest.test_asyncio_runs8r 8A KK446 7 8 ""$rctdD]d}tj}|j|j |j|j |j f|jyr)r`rrlr!rtshutdown_asyncgensrIrrrgrKs rtest_asyncio_manualz*SelectorThreadLeakTest.test_asyncio_manualshr A))+D  # #D$@$@$B C  # #D$;$;$= > JJL   ""$rctdD]9}td}|j|j|j ;|j y)Nr\FrT)r`rrFrtrIrrs r test_tornadoz#SelectorThreadLeakTest.test_tornadosJr Au-D MM$66 7 JJL   ""$rN) rMrNrOrVrrtrrrr(rrrqrqs!: L% %%rrqc*eZdZdZdZdZdZdZy)AnyThreadEventLoopPolicyTestct|ttjjj |_t j |_td|_ y)Nrk) r r tornadoplatformrAnyThreadEventLoopPolicyrX orig_policyrexecutorrs rrVz"AnyThreadEventLoopPolicyTest.setUpsN"4);)=>    $ $ = = %#88:*1- rcvtj|j|jj yr)rset_event_loop_policyrrshutdownrs rrZz%AnyThreadEventLoopPolicyTest.tearDowns&%%d&6&67  rc^d}|jj|}|jS)NcNtj}|j|S)a#Get the event loop. Close it if one is returned. Returns the (closed) event loop. This is a silly thing to do and leaves the thread in a broken state, but it's enough for this test. Closing the loop avoids resource leak warnings. rrrI)rKs rget_and_close_event_loopzWAnyThreadEventLoopPolicyTest.get_event_loop_on_thread..get_and_close_event_loops ))+D JJLKr)rsubmitr6)rrfutures rget_event_loop_on_threadz5AnyThreadEventLoopPolicyTest.get_event_loop_on_threads* %%&>?}}rc\tj5tjdt|j t |j jtjjtj|j|j|j jtjjtj|j jdjdddy#1swYyxYw)Nr]cFtjjSrrr(rrr)zDAnyThreadEventLoopPolicyTest.test_asyncio_accessor..)?)?)A)G)G)Ir)rarbrcrd assertRaises RuntimeErrorrrrrr6rrassertIsInstanceAbstractEventLooprs rtest_asyncio_accessorz2AnyThreadEventLoopPolicyTest.test_asyncio_accessors  $ $ & T  ! !(,> ?   dmm2273I3IJQQ   ) )$*G*G*I J  ! ! $$W%;%;<CCE))  MM !I J Q Q S T T Ts DD""D+ctj5tjdt|j |j j tjjt|j j djtj|j|j |j j tjjt|j j djdddy#1swYyxYw)Nr]cFtjjSrrr(rrr)zDAnyThreadEventLoopPolicyTest.test_tornado_accessor.. rrcFtjjSrrr(rrr)zDAnyThreadEventLoopPolicyTest.test_tornado_accessor..rr) rarbrcrdrrrrrmr6rrrrs rtest_tornado_accessorz2AnyThreadEventLoopPolicyTest.test_tornado_accessors $ $ & T  ! !(,> ?  ! !$--"6"6v~~"F"M"M"OQW X MM !I J Q Q S  ) )$*G*G*I J  ! !$--"6"6v~~"F"M"M"OQW X MM !I J Q Q S T T Ts D(EEN)rMrNrOrVrZrrrr(rrrrs.! T$ TrrcpeZdZdZdZej ddZejede fdZ dZ y ) SelectorThreadContextvarsTestfoo/tornado_test_ctxdefault)rreturncn|jGfddt}t|j|fgS)NceZdZfdZy)6SelectorThreadContextvarsTest.get_app..HandlercLK|jjywr)writeget)rrs rrz:SelectorThreadContextvarsTest.get_app..Handler.gets +//12s!$N)rMrNrOr)rsrHandlerrs 3rr)rrr test_endpoint)rrrs @rget_appz%SelectorThreadContextvarsTest.get_apps600 3n 3T//9:;;rc|j|j|j|jjj yr)r- ctx_valuefetchrbodydecoders rtest_context_varsz/SelectorThreadContextvarsTest.test_context_vars)s4 D4F4F)G)L)L)S)S)UVrN) rMrNrOrr contextvars ContextVarrsetrrrr(rrrrsBIM-{--.@)T#<<$Wrr) rrruryunittestraconcurrent.futuresrtornado.platform.asynciorrtornado.iolooprrrrtornado.testingr r r r tornado.test.utilr tornado.webrrrTestCaserRrqrrr(rrrs 1!  13LmL^%'x  %'P0%X..0%f=T8#4#4=T@W$5Wr