a 4dg}@sddlZddlZddlZddlmZedZGdddeZejdddd Z d d Z d d Z Gdddej Z Gdddej ZGdddej ZedkredS)N) import_moduleasyncioc@s eZdZdS)AwaitExceptionN__name__ __module__ __qualname__r r ./usr/local/lib/python3.9/test/test_asyncgen.pyr srFthrowccs|r dVndVdS)Nr resultr r r r r awaitable src Cshd}z"|rd}|t}n |d}Wn.tyT}z|jdWYd}~Sd}~00|dkrd}qdS)NFrr T)r rsend StopIterationargs)coroexcfutexr r r run_until_completes  rcsfdd}t|S)Ncs&g}2z3dHW}||q6|SNappend)resigenr r iterate&szto_list..iterate)r)rrr rr to_list%s r c@s4eZdZddZddZddZddZd d Zd S) AsyncGenSyntaxTestcCs@d}|tdt|iiWdn1s20YdS)NzJasync def foo(): await abc yield from 123 yield from.*inside asyncassertRaisesRegex SyntaxErrorexecselfcoder r r test_async_gen_syntax_011sz+AsyncGenSyntaxTest.test_async_gen_syntax_01cCs@d}|tdt|iiWdn1s20YdS)Nz4async def foo(): yield from 123 r"r#r'r r r test_async_gen_syntax_02:sz+AsyncGenSyntaxTest.test_async_gen_syntax_02cCs@d}|tdt|iiWdn1s20YdS)NzXasync def foo(): await abc yield return 123 return.*value.*async genr#r'r r r test_async_gen_syntax_03Bsz+AsyncGenSyntaxTest.test_async_gen_syntax_03cCs@d}|tdt|iiWdn1s20YdS)NzBasync def foo(): yield return 123 r,r#r'r r r test_async_gen_syntax_04Lsz+AsyncGenSyntaxTest.test_async_gen_syntax_04cCs@d}|tdt|iiWdn1s20YdS)NzWasync def foo(): if 0: yield return 12 r,r#r'r r r test_async_gen_syntax_05Usz+AsyncGenSyntaxTest.test_async_gen_syntax_05N)rrrr*r+r-r.r/r r r r r!/s    r!c@steZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZdS) AsyncGenTestcCs0dd}dd}||}||}||||S)Nc Ssrg}z||Wqty6|dYqnYqtyj}z|tt|WYd}~qd}~00q|S)NSTOP)r__next__r Exceptionstrtype)grrr r r sync_iteratecs  *z5AsyncGenTest.compare_generators..sync_iteratec Ssg}|}zz |Wqtyx}zF|jrN||jdWYd}~qn|dWYd}~qWYd}~qd}~0tyYqty}z*|tt|WYd}~qWYd}~qd}~00qWqty|dYqYq0q|S)NrzEMPTY StopIterationr1) __anext__r2rrrStopAsyncIterationr3r4r5)r6ranrr r r async_iterateos(    (   z6AsyncGenTest.compare_generators..async_iterate) assertEqual)r(sync_gen async_genr7r;Zsync_gen_resultZasync_gen_resultr r r compare_generatorsbs   zAsyncGenTest.compare_generatorscs&fdd}t|gddS)NcsFtIdHdV}|dtIdHdVtIdHdVdS)N{)rZassertIs)ar(r r rs    z5AsyncGenTest.test_async_gen_iteration_01..gen)r@rArB)r<r r(rr rDr test_async_gen_iteration_01s z(AsyncGenTest.test_async_gen_iteration_01c Csdd}|}|}|}||dz |Wn6typ}z||jddWYd}~nd}~00|d|}||dz |Wn0ty}z||jWYd}~nd}~00|ddS)NcSs"tIdHdVtIdHdSNr@rr r r r rs z5AsyncGenTest.test_async_gen_iteration_02..genr rr@StopIteration was not raisedz!StopAsyncIteration was not raised) __aiter__r8r<r2rrfailr9 assertFalser(rr6Zair:rr r r test_async_gen_iteration_02s" (  "z(AsyncGenTest.test_async_gen_iteration_02cCs@dd}|tt|Wdn1s20YdS)NcSs,tIdHdVtddIdHdVdS)Nr@Tr rArHr r r r rs z5AsyncGenTest.test_async_gen_exception_03..gen) assertRaisesrr rEr r r test_async_gen_exception_03s z(AsyncGenTest.test_async_gen_exception_03c Csdd}|}|}|}||dz |Wn6typ}z||jddWYd}~nd}~00|d|t|Wdn1s0YdS)NcSstIdHdVdddS)Nr@rrHr r r r rs z5AsyncGenTest.test_async_gen_exception_04..genr rr@rI) rJr8r<r2rrrKrOZeroDivisionErrorrMr r r test_async_gen_exception_04s (  z(AsyncGenTest.test_async_gen_exception_04cCsBdd}|tdt|Wdn1s40YdS)NcSsdVtdSrG)r9r r r r rsz5AsyncGenTest.test_async_gen_exception_05..genz#async generator.*StopAsyncIterationr$ RuntimeErrorr rEr r r test_async_gen_exception_05s z(AsyncGenTest.test_async_gen_exception_05cCsBdd}|tdt|Wdn1s40YdS)NcSsdVtdSrG)rr r r r rsz5AsyncGenTest.test_async_gen_exception_06..genzasync generator.*StopIterationrTrEr r r test_async_gen_exception_06s z(AsyncGenTest.test_async_gen_exception_06cCs$dd}dd}|||dS)Ncss8zdVddWdVdVndVdV0dVdSNrQrdr r r r r r=s z:AsyncGenTest.test_async_gen_exception_07..sync_gencSs8zdVddWdVdVndVdV0dVdSrXr r r r r r>s z;AsyncGenTest.test_async_gen_exception_07..async_genr?r(r=r>r r r test_async_gen_exception_07s  z(AsyncGenTest.test_async_gen_exception_07cCs$dd}dd}|||dS)Ncss@zdVWdVdddVndVdddV0dVdSNrQrYrrZr[r r r r r r=sz:AsyncGenTest.test_async_gen_exception_08..sync_gencSsdz6dVtIdHWtIdHdVdddVn"tIdHdVdddV0dVdSr_rHr r r r r> s  z;AsyncGenTest.test_async_gen_exception_08..async_genr\r]r r r test_async_gen_exception_08s  z(AsyncGenTest.test_async_gen_exception_08cCs$dd}dd}|||dS)Ncss8zdVddWdVdVndVdV0dVdSrXr r r r r r=s z:AsyncGenTest.test_async_gen_exception_09..sync_gencSs\z6tIdHdVddWdVtIdHdVndVtIdHdV0dVdSrXrHr r r r r>"s    z;AsyncGenTest.test_async_gen_exception_09..async_genr\r]r r r test_async_gen_exception_09s  z(AsyncGenTest.test_async_gen_exception_09cCsHdd}|td |dWdn1s:0YdS)NcSs dVdSrGr r r r r r1sz5AsyncGenTest.test_async_gen_exception_10..genz!non-None value .* async generatorr[)r$ TypeErrorr8rrEr r r test_async_gen_exception_100s z(AsyncGenTest.test_async_gen_exception_10cs<ddfdd}ddfdd}|||dS) NcssdVdVdSN r r r r r r=8sz:AsyncGenTest.test_async_gen_exception_11..sync_genc3sJdV}|dz|tWnty>dVYn0dVdSNrQrYrZ)rr GeneratorExit)sg)r=r r sync_gen_wrapper<s   zBAsyncGenTest.test_async_gen_exception_11..sync_gen_wrappercSsdVdVdSrdr r r r r r>Fsz;AsyncGenTest.test_async_gen_exception_11..async_gencsVdV}|dIdHz|tIdHWntyJdVYn0dVdSrg)asendathrowrh)Zasg)r>r r async_gen_wrapperJs  zCAsyncGenTest.test_async_gen_exception_11..async_gen_wrapperr\)r(rjrmr )r>r=r test_async_gen_exception_117s   z(AsyncGenTest.test_async_gen_exception_11cCsdd}|}||jdd|_||jd|d|jd|_||jd||j||jtj | |j ||j tj |t|dS)NcSs dVdSrGr r r r r rWsz/AsyncGenTest.test_async_gen_api_01..genrZ123z.gen)r<rZassertInrZ assertIsNoneag_awaitassertIsInstanceag_frametypes FrameTyperL ag_runningag_codeCodeTypeZ assertTrueinspectZ isawaitableaclose)r(rr6r r r test_async_gen_api_01Vs  z"AsyncGenTest.test_async_gen_api_01N)rrrr?rFrNrPrSrVrWr^r`rarcrnryr r r r r0`s+    r0c@s$eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGS)HAsyncGenAsyncioTestcCst|_tddSr)rZnew_event_looploopZset_event_looprDr r r setUpns zAsyncGenAsyncioTest.setUpcCs|jd|_tddSr)r{closerZset_event_loop_policyrDr r r tearDownrs zAsyncGenAsyncioTest.tearDowncs&g}|2z3dHW}||q6|Srr)r(rrrr r r r wszAsyncGenAsyncioTest.to_listcCs0dd}|j||}||ddgdS)NcSs0dVtdIdHdVtdIdHdS)NrQ{Gz?rYrZrsleepr r r r r~s z:AsyncGenAsyncioTest.test_async_gen_asyncio_01..genrQrYr{rr r<)r(rrr r r test_async_gen_asyncio_01}sz-AsyncGenAsyncioTest.test_async_gen_asyncio_01cCsJdd}|t$|j||Wdn1s<0YdS)NcSs.dVtdIdHdVdddVdS)NrQrrYrrZrr r r r rs z:AsyncGenAsyncioTest.test_async_gen_asyncio_02..gen)rOrRr{rr rEr r r test_async_gen_asyncio_02s z-AsyncGenAsyncioTest.test_async_gen_asyncio_02cCs:|j}Gddd}|||}||ddgdS)Nc@seZdZddZdS)z:AsyncGenAsyncioTest.test_async_gen_asyncio_03..GencSs dVtdIdHdVdS)NrQrrYrrDr r r rJszDAsyncGenAsyncioTest.test_async_gen_asyncio_03..Gen.__aiter__N)rrrrJr r r r GensrrQrYr)r(r{rrr r r test_async_gen_asyncio_03sz-AsyncGenAsyncioTest.test_async_gen_asyncio_03csDddfdd}fdd}j|j|dS)NcSsZdVtdIdHzdVdVWnty>dVYn0tdIdHdVdS)NrQrrYrZ)rrrRr r r r foos   z@AsyncGenAsyncioTest.test_async_gen_asyncio_anext_04..foocs}|IdHd|IdHd|IdHd|IdHdt|IdHWdn1s0Yt|IdHWdn1s0YdS)NrQrYrZr)rJr<r8rOr9itrr(r r run1s  , zAAsyncGenAsyncioTest.test_async_gen_asyncio_anext_04..run1c s}|IdHd|IdHdz|tWn6ty~}z|jddWYd}~nd}~00d|IdHdt |IdHWdn1s0YdS)NrQrYrrrIr) rJr<r8r rRrrrKrOr9rrrr r run2s (  zAAsyncGenAsyncioTest.test_async_gen_asyncio_anext_04..run2r{r)r(rrr rr test_async_gen_asyncio_anext_04s   z3AsyncGenAsyncioTest.test_async_gen_asyncio_anext_04cs(ddfdd}j|dS)NcSsdV}|V}|dVdSNrQr[r vr r r rsz@AsyncGenAsyncioTest.test_async_gen_asyncio_anext_05..fooc sD}z|dWn6tyR}z|jddWYd}~nd}~00dz|dWn6ty}z|jddWYd}~nd}~00dz|dWn6ty}z|jddWYd}~nd}~00dt|IdHWdn1s60YdS)NrrQrIre i) rJr8rrr<rrKrOr9rrr r runs$ ( ( (  z@AsyncGenAsyncioTest.test_async_gen_asyncio_anext_05..runrr(rr rr test_async_gen_asyncio_anext_05sz3AsyncGenAsyncioTest.test_async_gen_asyncio_anext_05csddd}|}|dt|dWdn1sF0Yfddfdd}j|ddS) Nrcssz dVWn Yn0dSrr r r r r rs z@AsyncGenAsyncioTest.test_async_gen_asyncio_anext_06..foocs z dVWn Yn0ddSNrQr r DONEr r rs  z@AsyncGenAsyncioTest.test_async_gen_asyncio_anext_06..gencs\}|dIdHt |dIdHWdn1sF0Yd7dSNre)rkrOr9r6rrr(r r rs  .z@AsyncGenAsyncioTest.test_async_gen_asyncio_anext_06..run )rrOrr{rr<r(rr6rr rr test_async_gen_asyncio_anext_06s  ( z3AsyncGenAsyncioTest.test_async_gen_asyncio_anext_06cs(ddfdd}j|dS)NcSs(z dVWnty"dVYn0dS)NrQrYrRr r r r rs  zCAsyncGenAsyncioTest.test_async_gen_asyncio_anext_tuple..foocs}|IdHdt}|tWdn1sN0Y|jjddt |IdHWdn1s0YdS)Nrrr) rJr<r8rOrr rR exceptionrr9)rcmrr r rs  , zCAsyncGenAsyncioTest.test_async_gen_asyncio_anext_tuple..runrrr rr "test_async_gen_asyncio_anext_tuples z6AsyncGenAsyncioTest.test_async_gen_asyncio_anext_tuplecs(ddfdd}j|dS)NcSs0ztdVWnty*tdVYn0dS)NrQrZ)rrRr r r r r$s zKAsyncGenAsyncioTest.test_async_gen_asyncio_anext_stopiteration..foocs}|IdH}|t|jdt}|tWdn1s`0Y|j j d}|t|jdt |IdHWdn1s0YdS)NrQrrZ) rJr8rprr<valuerOr rRrrr9)rrrrr r r*s   ,   zKAsyncGenAsyncioTest.test_async_gen_asyncio_anext_stopiteration..runrrr rr *test_async_gen_asyncio_anext_stopiteration#sz>AsyncGenAsyncioTest.test_async_gen_asyncio_anext_stopiterationcsRddfdd}|td|j|Wdn1sD0YdS)Nc SsFz(dVddWtdIdHdVntdIdHdV0dS)NrQrrrrr r r r r;s zAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_06..foocs.}|}|IdH|IdHdSrrJr8rxrrrr r rCszAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_06..runz%async generator ignored GeneratorExit)r$rUr{rrr rr test_async_gen_asyncio_aclose_06:s z4AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_06cs:dfddfdd}|j||ddS)Nrc srz:dVddWtdIdHtdIdHd7n*tdIdHtdIdHd70d7dS)NrQrrrrr rr r rQs   zAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_07..foocs.}|}|IdH|IdHdSrrrrr r r\szAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_07..runrQr{rr<rr )rrr test_async_gen_asyncio_aclose_07Ns  z4AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_07csfdtjjdfddfdd}j|djtddS) Nrr{c szJdVIdHd7dVWtdIdHtdIdHd7n*tdIdHtdIdHd70d7dS)NrQrrYrrr )rrr r rjs   zAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_08..foocs6}|}|IdHd|IdHdSr)rJr<r8rxrrr r rwszAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_08..runrQr)rFuturer{rr<cancelrrr )rrrr(r test_async_gen_asyncio_aclose_08es  z4AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_08cs:dfddfdd}|j||ddS)Nrc s\z0dVqWtdIdHtdIdHdn&tdIdHtdIdHd0dS)NrQrrr rr r rs zDAsyncGenAsyncioTest.test_async_gen_asyncio_gc_aclose_09..gencs8}|IdH|IdH~tdIdHdS)N皙?)r8rrrrr r rs zDAsyncGenAsyncioTest.test_async_gen_asyncio_gc_aclose_09..runrQrrr rrr #test_async_gen_asyncio_gc_aclose_09s  z7AsyncGenAsyncioTest.test_async_gen_asyncio_gc_aclose_09cs\ddd}|}|d|fddfdd}|j||ddS) Nrcssz dVWn Yn0dSrr r r r r rs zAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_10..foocs z dVWn Yn0ddSrr r rr r rs  zAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_10..gencs0}|dIdH|IdHd7dSr)rkrxrrr r rszAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_10..runr)rr}r{rr<rr rr test_async_gen_asyncio_aclose_10s  z4AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_10csddd}|}|dtd|Wdn1sF0Yfddfdd}j|d dS) Nrcss"z dVWn Yn0dVdSrr r r r r rs  zAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_11..fooignored GeneratorExitcs*z dVWn Yn0dVd7dSrr r rr r rs  zAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_11..gencs\}|dIdHtd|IdHWdn1sF0Yd7dS)Nrre)rkr$rUrxrrr r rs ,zAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_11..runre)rr$rUr}r{rr<rr rr test_async_gen_asyncio_aclose_11s & z4AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_11csDdddfddfdd}|j||ddS) NrcstdIdHdddS)NrrQrrr r r r targetszDAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_12..targetcsjt}z0dVWz|IdHWqfty:dYqf0n(z|IdHWntybdYn00dSr)r create_taskrR)task)rrr r rs    zAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_12..foocs.}|}|IdH|IdHdSrrrrr r rszAAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_12..runrQrrr )rrrr test_async_gen_asyncio_aclose_12s  z4AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_12csvddd}|}|d}|d|d}|dfddfd d }j|ddS) NrcssdV}|dVdSNrQrYr rr r r sgenszAAsyncGenAsyncioTest.test_async_gen_asyncio_asend_01..sgenrQr[c szjtdIdHdV}tdIdH|dVtdIdHWtdIdHtdIdHddStdIdHtdIdHd0dSNrrQrYrrrr r r s" z@AsyncGenAsyncioTest.test_async_gen_asyncio_asend_01..gencs|}|dIdH}|d|dIdH}|dt |dIdHWdn1sn0YdS)NrQr[r)rkr<rOr9r6rrr(r r rs   z@AsyncGenAsyncioTest.test_async_gen_asyncio_asend_01..run)rr<r{rr(rrirrr rr test_async_gen_asyncio_asend_01s      z3AsyncGenAsyncioTest.test_async_gen_asyncio_asend_01cspdddfddfdd}tj|Wdn1sV0YddS) Nrcst|IdHdddSNrQrrdelayr r r sleep_n_crash*szJAsyncGenAsyncioTest.test_async_gen_asyncio_asend_02..sleep_n_crashc sz^tdIdHdV}dIdHd7|dVWtdIdHtdIdHdn&tdIdHtdIdHd0dSNrrQrrYrrrrr r r.s z@AsyncGenAsyncioTest.test_async_gen_asyncio_asend_02..gencs6}|dIdH}|d|dIdHdSrrkr<rrr r r;s z@AsyncGenAsyncioTest.test_async_gen_asyncio_asend_02..runrQ)rOrRr{rr<rr rrr(rr test_async_gen_asyncio_asend_02's  ,z3AsyncGenAsyncioTest.test_async_gen_asyncio_asend_02csvdfddfddfdd}tjj|Wdn1s\0YddS) Nrcs:tjt|jdj|dfddIdHS)NrrYcsSrrr rr r Mz\AsyncGenAsyncioTest.test_async_gen_asyncio_asend_03..sleep_n_crash..rZ ensure_futurerr{Z call_laterrrDrr rJs  zJAsyncGenAsyncioTest.test_async_gen_asyncio_asend_03..sleep_n_crashc sz^tdIdHdV}dIdHd7|dVWtdIdHtdIdHdn&tdIdHtdIdHd0dSrrrrr r rPs z@AsyncGenAsyncioTest.test_async_gen_asyncio_asend_03..gencs6}|dIdH}|d|dIdHdSrrrrr r r]s z@AsyncGenAsyncioTest.test_async_gen_asyncio_asend_03..runrQ)rOrCancelledErrorr{rr<rr rr test_async_gen_asyncio_asend_03Gs  ,z3AsyncGenAsyncioTest.test_async_gen_asyncio_asend_03csdGdddtfdd}|}|d}|d|}|dt|dWdn1s|0Yfdd fd d }j|ddS) Nrc@s eZdZdS)zCAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01..FooErNrr r r r FooErlsrc3s0z dV}Wny d}Yn0|dVdS)NrQrrYr r)rr r rps    zBAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01..sgenrQc sztdIdHz dV}Wn&yBd}tdIdHYn0|dVtdIdHWtdIdHtdIdHdn&tdIdHtdIdHd0dSrrr)rrr r r~s   zAAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01..gencs|}|dIdH}|d|IdH}|dt |dIdHWdn1sn0YdS)NrQr)rkr<rlrOr9r)rrr(r r rs   zAAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01..run)r3rr<r rOrr{rrr rrrr(r test_async_gen_asyncio_athrow_01is      ( z4AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01csdGdddtfddfddfdd }tjj|Wdn1sr0Yd dS) Nrc@s eZdZdS)zCAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02..FooErNrr r r r rsrcs:tjt|jdj|dfddIdHS)NrrYcsSrrr rr r rrz]AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02..sleep_n_crash..rrrDrr rs  zKAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02..sleep_n_crashc sz~tdIdHz dV}Wn y<dIdHYn0|dVtdIdHWtdIdHtdIdHdn&tdIdHtdIdHd0dSrrr)rrrr r rs   zAAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02..gencsh}|dIdH}|dz|IdHWn"tjyXdYn 0ddS)NrQzCancelledError was not raised)rkr<rlrrrKrrr r rs  zAAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02..runrQ)r3rOrrr{rr<rr )rrrr(rr test_async_gen_asyncio_athrow_02s ,z4AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02csddd}|}|dt|tWdn1sF0Yfddfdd}j|ddS) Nrcssz dVWn Yn0dSrr r r r r rs zAAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_03..foocs z dVWn Yn0ddSrr r rr r rs  zAAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_03..gencs\}|dIdHt |tIdHWdn1sF0Yd7dSr)rkrOr9rl ValueErrorrrr r rs  .zAAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_03..runr)rrOrr rr{rr<rr rr test_async_gen_asyncio_athrow_03s  ( z4AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_03cs(ddfdd}j|dS)NcSs(z dVWnty"dVYn0dSNrQrrr r r r rs  zDAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_tuple..gencs|}|dIdH}|d|tIdH}|dt |dIdHWdn1sn0YdSr)rkr<rlrRrOr9rrr r rs   zDAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_tuple..runrrr rr #test_async_gen_asyncio_athrow_tuples z7AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_tuplecs(ddfdd}j|dS)NcSs,z dVWnty&tdVYn0dSr)rRrr r r r rs  zLAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_stopiteration..gencs}|dIdH}|d|tIdH}|t|jdt |dIdHWdn1s|0YdSr) rkr<rlrRrprrrOr9rrr r rs   zLAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_stopiteration..runrrr rr +test_async_gen_asyncio_athrow_stopiterations z?AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_stopiterationcsdfddfdd}|j|}|j|}|jtd|||tj|j|Wdn1s0Y|tj|j|Wdn1s0Y|j|j| ddS)Nrc sRz2t|IdHdVWtdIdHd7ntdIdHd70dSrr)timeout) finalizedr r waiters zFAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_01..waitercsd2z 3dHW}q6dSrr )_)rr r wait szDAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_01..waitrrY) r{rrrrrrOrZshutdown_asyncgensr<)r(rt1t2r )rrr "test_async_gen_asyncio_shutdown_01s **z6AsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_01csLddfddfdd}|j|}||ddtd DdS) NcSs(t|D]}tdIdH|VqdSNr)rangerr)nrr r r arange7s z@AsyncGenAsyncioTest.test_async_gen_expression_01..arangecsdd|2S)NcSs |z3dHW}|dVq6dSNrYr .0rr r r >rzXAsyncGenAsyncioTest.test_async_gen_expression_01..make_arange..r r)rr r make_arange<szEAsyncGenAsyncioTest.test_async_gen_expression_01..make_arangecsddd2IdHS)Ncsg|z3dHW}|q6Srr rr r r ArzQAsyncGenAsyncioTest.test_async_gen_expression_01..run..rer r rr r r@sz=AsyncGenAsyncioTest.test_async_gen_expression_01..runcSsg|] }|dqSrr rr r r rDrzDAsyncGenAsyncioTest.test_async_gen_expression_01..rer{rr<rr(rrr )rrr test_async_gen_expression_016s   z0AsyncGenAsyncioTest.test_async_gen_expression_01csNddfddfdd}|j|}||ddtd d DdS) NcstdIdH|Srrrr r r wrapGsz>AsyncGenAsyncioTest.test_async_gen_expression_02..wrapcsfddt|DS)Ncs$|]}|IdHr|dVqdSrr rrr r rMrzXAsyncGenAsyncioTest.test_async_gen_expression_02..make_arange..)rrrr r rKszEAsyncGenAsyncioTest.test_async_gen_expression_02..make_arangecsddd2IdHS)Ncsg|z3dHW}|q6Srr rr r r rPrzQAsyncGenAsyncioTest.test_async_gen_expression_02..run..rer r rr r rOsz=AsyncGenAsyncioTest.test_async_gen_expression_02..runcSsg|] }|dqSrr rr r r rSrzDAsyncGenAsyncioTest.test_async_gen_expression_02..rQrerrr )rrr test_async_gen_expression_02Fs   z0AsyncGenAsyncioTest.test_async_gen_expression_02csBgfddddfdd}t||gdS)Ncs|dSrr)r{context)messagesr r exception_handlerYsz]AsyncGenAsyncioTest.test_asyncgen_nonstarted_hooks_are_cancellable..exception_handlercSsdVdVdSrr r r r r r;\szYAsyncGenAsyncioTest.test_asyncgen_nonstarted_hooks_are_cancellable..async_iteratecs0t}|2z3dHW}q,q6dSr)rZget_running_loopZset_exception_handler)r{r)r;rr r main`s zPAsyncGenAsyncioTest.test_asyncgen_nonstarted_hooks_are_cancellable..main)rrr<)r(rr )r;rrr .test_asyncgen_nonstarted_hooks_are_cancellableUs   zBAsyncGenAsyncioTest.test_asyncgen_nonstarted_hooks_are_cancellablecs(ddfdd}j|dS)NcSsdVdVdSrr r r r r r;lszUAsyncGenAsyncioTest.test_async_gen_await_same_anext_coro_twice..async_iteratecs`}|}|IdHtd|IdHWdn1sD0Y|IdHdS)Nz4cannot reuse already awaited __anext__\(\)/asend\(\))r8r$rUrxrZnxtr;r(r r rps (zKAsyncGenAsyncioTest.test_async_gen_await_same_anext_coro_twice..runrrr rr *test_async_gen_await_same_anext_coro_twiceks z>AsyncGenAsyncioTest.test_async_gen_await_same_anext_coro_twicecs(ddfdd}j|dS)NcSsdVdVdSrr r r r r r;szVAsyncGenAsyncioTest.test_async_gen_await_same_aclose_coro_twice..async_iteratecsR}|}|IdHtd|IdHWdn1sD0YdS)Nz2cannot reuse already awaited aclose\(\)/athrow\(\))rxr$rUrrr r rs zLAsyncGenAsyncioTest.test_async_gen_await_same_aclose_coro_twice..runrrr rr +test_async_gen_await_same_aclose_coro_twice~s z?AsyncGenAsyncioTest.test_async_gen_await_same_aclose_coro_twicecs&ddfdd}|j|dS)NcSsdVdVdSrr r r r r r;sz[AsyncGenAsyncioTest.test_async_gen_aclose_twice_with_different_coros..async_iteratecs&}|IdH|IdHdSrrxrr;r r rszQAsyncGenAsyncioTest.test_async_gen_aclose_twice_with_different_coros..runrrr rr 0test_async_gen_aclose_twice_with_different_coross zDAsyncGenAsyncioTest.test_async_gen_aclose_twice_with_different_coroscs&ddfdd}|j|dS)NcSsdVdVdSrr r r r r r;szQAsyncGenAsyncioTest.test_async_gen_aclose_after_exhaustion..async_iteratecs,}|2z 3dHW}q 6|IdHdSrr)rrrr r rszGAsyncGenAsyncioTest.test_async_gen_aclose_after_exhaustion..runrrr rr &test_async_gen_aclose_after_exhaustions z:AsyncGenAsyncioTest.test_async_gen_aclose_after_exhaustioncs&ddfdd}|j|dS)NcSs tVdSr)objectr r r r async_generatorsz\AsyncGenAsyncioTest.test_async_gen_aclose_compatible_with_get_stack..async_generatorcs2}t|t}|D] }|q dSr)rrrxZ all_tasksZ get_stack)ZagZtasksrrr r rs zPAsyncGenAsyncioTest.test_async_gen_aclose_compatible_with_get_stack..runrrr r r /test_async_gen_aclose_compatible_with_get_stacks zCAsyncGenAsyncioTest.test_async_gen_aclose_compatible_with_get_stackN)&rrrr|r~r rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rzlsF   *##!%* "5.#" rz__main__)rwrrZunittestZ test.supportrrr3r coroutinerrr ZTestCaser!r0rzrrr r r r s,  1S