
    /hh/                        S SK r S SKrS SKrS SKrS SKJr  S SKJrJr  \" S5      r	\" SS9  \
" 5       r " S S\5      r\R                  S	S
.S j5       rS rS r\4S jr " S S\R&                  5      r " S S\R&                  5      r " S S\R&                  5      r " S S\R&                  5      r\S:X  a  \R2                  " 5         gg)    N)import_module)
gc_collectrequires_working_socketasyncioT)modulec                       \ rS rSrSrg)AwaitException    N__name__
__module____qualname____firstlineno____static_attributes__r       ;/opt/python-3.13.8/usr/lib/python3.13/test/test_asyncgen.pyr	   r	      s    r   r	   Fthrowc              #   ,   #    U (       a  Sv   g Sv   g 7f)Nr   resultr   r   s    r   	awaitabler      s        c                     Sn  U(       a  SnU R                  [        5      nOU R                  S 5      n US:X  a  SnM<  ! [         a  nUR                  S   s S nA$ S nAff = f)NFTr   r   )r   r	   sendStopIterationargs)coroexcfutexs       r   run_until_completer#      sf    
C
	jj0iio *C   	771:	s"   A  A   
A#
AA#A#c                 0   ^  U 4S jn[        U" 5       5      $ )Nc                  V   >#    / n T  S h  vN nU R                  U5        M   N
 U $ 7fNappend)resigens     r   iterateto_list.<locals>.iterate-   s,      	!JJqM	s
s   )&$&)&))r#   )r+   r,   s   ` r   to_listr.   ,   s     gi((r   c                    ^ ^^  [        T 5      R                  mT[        L a  T" T 5      $ UUU 4S jnU" 5       $ ! [         a    [        T < S35      ef = f)a  Pure-Python implementation of anext() for testing purposes.

Closely matches the builtin anext() C implementation.
Can be used to compare the built-in implementation of the inner
coroutines machinery to C-implementation of __anext__() and send()
or throw() on the returned generator.
z is not an async iteratorc                  V   >#     T " T5      I S h  vN $  N! [          a    Ts $ f = f7fr&   StopAsyncIteration)	__anext__defaultiterators   r   
anext_implpy_anext.<locals>.anext_implG   s1     	 #8,,,,! 	N	s(   )  ) &)&))typer3   AttributeError	TypeError_no_default)r5   r4   r6   r3   s   `` @r   py_anextr<   6   sb    BN,,	 +""	 <#  B8,&?@AABs	   : Ac                   2    \ rS rSrS rS rS rS rS rSr	g)	AsyncGenSyntaxTestU   c                     SnU R                  [        S5         [        U0 0 5        S S S 5        g ! , (       d  f       g = f)NzJasync def foo():
            await abc
            yield from 123
        yield from.*inside asyncassertRaisesRegexSyntaxErrorexecselfcodes     r   test_async_gen_syntax_01+AsyncGenSyntaxTest.test_async_gen_syntax_01W   5    
 ##K1KLr2 MLL   0
>c                     SnU R                  [        S5         [        U0 0 5        S S S 5        g ! , (       d  f       g = f)Nz4async def foo():
            yield from 123
        rA   rB   rF   s     r   test_async_gen_syntax_02+AsyncGenSyntaxTest.test_async_gen_syntax_02`   s5     ##K1KLr2 MLLrL   c                     SnU R                  [        S5         [        U0 0 5        S S S 5        g ! , (       d  f       g = f)NzXasync def foo():
            await abc
            yield
            return 123
        return.*value.*async genrB   rF   s     r   test_async_gen_syntax_03+AsyncGenSyntaxTest.test_async_gen_syntax_03h   5     ##K1KLr2 MLLrL   c                     SnU R                  [        S5         [        U0 0 5        S S S 5        g ! , (       d  f       g = f)NzBasync def foo():
            yield
            return 123
        rQ   rB   rF   s     r   test_async_gen_syntax_04+AsyncGenSyntaxTest.test_async_gen_syntax_04r   rK   rL   c                     SnU R                  [        S5         [        U0 0 5        S S S 5        g ! , (       d  f       g = f)NzWasync def foo():
            if 0:
                yield
            return 12
        rQ   rB   rF   s     r   test_async_gen_syntax_05+AsyncGenSyntaxTest.test_async_gen_syntax_05{   rT   rL   r   N)
r   r   r   r   rI   rN   rR   rV   rY   r   r   r   r   r>   r>   U   s    r   r>   c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rSrg)AsyncGenTest   c                 T    S nS nU" U5      nU" U5      nU R                  XV5        U$ )Nc                     / n  UR                  U R                  5       5        M"  ! [         a    UR                  S5         U$ [         a-  nUR                  [	        [        U5      5      5         S nANQS nAff = f)NSTOP)r(   __next__r   	Exceptionstrr8   )gr)   r"   s      r   sync_iterate5AsyncGenTest.compare_generators.<locals>.sync_iterate   so    C.JJqzz|,  % JJv& J ! .JJs48}--.s   & A:	A:#A55A:c                    / n U R                  5       n   UR                  5         M  ! [         aO  nUR                  (       a#  UR	                  UR                  S   5         S nAOUR	                  S5         S nAOiS nAf[
         a    e [         a-  nUR	                  [        [        U5      5      5         S nAO*S nAff = f! [
         a    UR	                  S5         U$ f = fM  )Nr   zEMPTY StopIterationr`   )	r3   ra   r   r   r(   r2   rb   rc   r8   )rd   r)   anr"   s       r   async_iterate6AsyncGenTest.compare_generators.<locals>.async_iterate   s    C[[]"KKM   - &!ww #

2771: 6 % #

+@ A %1 "!( "JJs48}5!" * JJv&J% sT   C ) C 
C/A="C 'A=8C =C#B<7C <CC C#"C#)assertEqual)rG   sync_gen	async_genre   ri   sync_gen_resultasync_gen_results          r   compare_generatorsAsyncGenTest.compare_generators   s7    
		2 'x0(3;r   c                 V   ^  U 4S jnT R                  [        U" 5       5      / SQ5        g )Nc                    >#    [        5       I S h  vN   S7v n TR                  U S 5        [        5       I S h  vN   S7v   [        5       I S h  vN   S7v   g  NJ N# N7f)N{       )r   assertIs)arG   s    r   r+   5AsyncGenTest.test_async_gen_iteration_01.<locals>.gen   sS     +	AMM!T"+I+I  s1   A"A(A"AA"A A"A" A")rt   ru   rv   )rk   r.   rG   r+   s   ` r   test_async_gen_iteration_01(AsyncGenTest.test_async_gen_iteration_01   s     	 	9r   c                 P   S nU" 5       nUR                  5       nUR                  5       nU R                  UR                  5       S5         UR                  5         U R	                  S5        UR                  5       nU R                  UR                  5       S5         UR                  5         U R	                  S5        g ! [
         a)  nU R                  UR                  S   S5         S nANS nAff = f! [         a%  nU R                  UR                  5         S nAg S nAff = f)Nc                 f   #    [        5       I S h  vN   S7v   [        5       I S h  vN   g  N N7fNrt   r   r   r   r   r+   5AsyncGenTest.test_async_gen_iteration_02.<locals>.gen   s(     +I+ s   1-1/11r   StopIteration was not raisedr   rt   z!StopAsyncIteration was not raised)		__aiter__r3   rk   ra   failr   r   r2   assertFalserG   r+   rd   airh   r"   s         r   test_async_gen_iteration_02(AsyncGenTest.test_async_gen_iteration_02   s    	
 E[[]\\^4	6KKM II45\\^4	;KKM II9:  	.RWWQZ--	. " 	&RWW%%	&s0   C  C6  
C3
C..C36
D% D  D%c                     S nU R                  [        5         [        U" 5       5        S S S 5        g ! , (       d  f       g = f)Nc                 n   #    [        5       I S h  vN   S7v   [        SS9I S h  vN   S7v   g  N  N7f)Nrt   Tr   ru   r   r   r   r   r+   5AsyncGenTest.test_async_gen_exception_03.<locals>.gen   s0     +I$'''I 's   515355)assertRaisesr	   r.   rz   s     r   test_async_gen_exception_03(AsyncGenTest.test_async_gen_exception_03   s,    	 ~.CEN /..s	   3
Ac                    S nU" 5       nUR                  5       nUR                  5       nU R                  UR                  5       S5         UR                  5         U R	                  S5        U R                  [        5         UR                  5       R                  5         S S S 5        g ! [
         a)  nU R                  UR                  S   S5         S nANkS nAff = f! , (       d  f       g = f)Nc                 H   #    [        5       I S h  vN   S7v   SS-    g  N7f)Nrt      r   r   r   r   r   r+   5AsyncGenTest.test_async_gen_exception_04.<locals>.gen   s!     +IE s   " "r   r   r   rt   )	r   r3   rk   ra   r   r   r   r   ZeroDivisionErrorr   s         r   test_async_gen_exception_04(AsyncGenTest.test_async_gen_exception_04   s    	
 E[[]\\^4	6KKM II4501LLN##% 21  	.RWWQZ--	.
 21s$   B* C *
C4CC 
C.c                     S nU R                  [        S5         [        U" 5       5        S S S 5        g ! , (       d  f       g = f)Nc                     #    S7v   [         e7fr   r1   r   r   r   r+   5AsyncGenTest.test_async_gen_exception_05.<locals>.gen   s     I$$   z#async generator.*StopAsyncIterationrC   RuntimeErrorr.   rz   s     r   test_async_gen_exception_05(AsyncGenTest.test_async_gen_exception_05   s9    	% ##L$IKCENK K K	   4
Ac                     S nU R                  [        S5         [        U" 5       5        S S S 5        g ! , (       d  f       g = f)Nc                     #    S7v   [         e7fr   )r   r   r   r   r+   5AsyncGenTest.test_async_gen_exception_06.<locals>.gen  s     Ir   zasync generator.*StopIterationr   rz   s     r   test_async_gen_exception_06(AsyncGenTest.test_async_gen_exception_06  s9    	  ##L$DFCENF F Fr   c                 H    S nS nU R                  U" 5       U" 5       5        g )Nc               3   R   #     Sv   SS-    Sv   Sv   Sv   g ! Sv   Sv   f = f7fNr   r         d   r   r   r   r   rl   :AsyncGenTest.test_async_gen_exception_07.<locals>.sync_gen  2     AI    '	 '
$'c                 ^   #     S7v   SS-    S7v   S7v   S7v   g ! S7v   S7v   f = f7fr   r   r   r   r   rm   ;AsyncGenTest.test_async_gen_exception_07.<locals>.async_gen  s2     AI s   -
 -*-rp   rG   rl   rm   s      r   test_async_gen_exception_07(AsyncGenTest.test_async_gen_exception_07  s"    		 	
IK8r   c                 H    S nS nU R                  U" 5       U" 5       5        g )Nc               3   \   #     Sv   Sv   SS-    Sv   Sv   g ! Sv   SS-    Sv   f = f7fNr   r   r   r   r   r   r   r   r   rl   :AsyncGenTest.test_async_gen_exception_08.<locals>.sync_gen%  s9     AI	 As   , ,),c                    #     S7v   [        5       I S h  vN   [        5       I S h  vN   S7v   SS-    S7v   S7v   g  N+ N! [        5       I S h  vN    S7v   SS-    S7v   f = f7fr   r   r   r   r   rm   ;AsyncGenTest.test_async_gen_exception_08.<locals>.async_gen/  s_     k!!k!!AI "!ik!!AsG   A-A AA A-AA-A A-A*AA**A-r   r   s      r   test_async_gen_exception_08(AsyncGenTest.test_async_gen_exception_08$  "    	
	 	
IK8r   c                 H    S nS nU R                  U" 5       U" 5       5        g )Nc               3   R   #     Sv   SS-    Sv   Sv   Sv   g ! Sv   Sv   f = f7fr   r   r   r   r   rl   :AsyncGenTest.test_async_gen_exception_09.<locals>.sync_gen>  r   r   c                    #     [        5       I S h  vN   S7v   SS-    S7v   [        5       I S h  vN   S7v   S7v   g  N0 N! S7v   [        5       I S h  vN    S7v   f = f7fr   r   r   r   r   rm   ;AsyncGenTest.test_async_gen_exception_09.<locals>.async_genH  s]     k!!Ak!!I "
 " k!!sG   A(A AA A(AA(A A(A%AA%%A(r   r   s      r   test_async_gen_exception_09(AsyncGenTest.test_async_gen_exception_09=  r   r   c                     S nU R                  [        S5         U" 5       R                  5       R                  S5        S S S 5        g ! , (       d  f       g = f)Nc                    #    S7v   g 7fr   r   r   r   r   r+   5AsyncGenTest.test_async_gen_exception_10.<locals>.genW  
     I   	z!non-None value .* async generatorr   )rC   r:   r3   r   rz   s     r   test_async_gen_exception_10(AsyncGenTest.test_async_gen_exception_10V  sE    	##I$GIEOO""3'I I Is   %A
Ac                 d   ^^ S mU4S jnS mU4S jnU R                  U" 5       U" 5       5        g )Nc               3      #    Sv   Sv   g 7fN
      r   r   r   r   rl   :AsyncGenTest.test_async_gen_exception_11.<locals>.sync_gen^  s     HHs   
c               3      >#    Sv   T" 5       n U R                  S 5         U R                  [        5       5        Sv   g ! [         a    Sv    Nf = f7fNr   r   r   )r   r   GeneratorExit)sgrl   s    r   sync_gen_wrapperBAsyncGenTest.test_async_gen_exception_11.<locals>.sync_gen_wrapperb  sL     GBGGDM) G ! s%   A? AAAAAc                     #    S7v   S7v   g 7fr   r   r   r   r   rm   ;AsyncGenTest.test_async_gen_exception_11.<locals>.async_genl  s     HHr   c                    >#    S7v   T" 5       n U R                  S 5      I S h  vN    U R                  [        5       5      I S h  vN   S7v   g  N, N! [         a    S7v    Nf = f7fr   )asendathrowr   )asgrm   s    r   async_gen_wrapperCAsyncGenTest.test_async_gen_exception_11.<locals>.async_gen_wrapperp  s^     G+C))D/!!jj111 G "1  sD   !A*AA*A AA A*A A'$A*&A''A*r   )rG   r   r   rm   rl   s      @@r   test_async_gen_exception_11(AsyncGenTest.test_async_gen_exception_11]  s1    				 	 0 24E4GHr   c                 j  ^ ^^ UUU 4S jmT" 5       mTR                  5       nUR                  5       nT R                  [        S5         UR	                  5         S S S 5        T R                  [        S5         UR                  S 5        S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)Nc                    >#    TR                  [        ST R                   S35         [        T5      I S h  vN   S S S 5        S7v   g  N! , (       d  f       N= f7f)Ncoroutine method 'asend' of '' was never awaitedrt   )assertWarnsRegexRuntimeWarningr   anext)r+   merG   s   r   r+   5AsyncGenTest.test_async_gen_exception_12.<locals>.gen}  sW     &&~3C4D4D3E F( )* Bi* I  * *s+   %AAA
AA
A
AA4anext\(\): asynchronous generator is already running4cannot reuse already awaited __anext__\(\)/asend\(\))r   r3   rC   r   ra   r   )rG   r   rh   r+   r   s   `  @@r   test_async_gen_exception_12(AsyncGenTest.test_async_gen_exception_12|  s    	 U\\^\\^##LGIKKMI ##LGIGGDMI I	I II Is   	B8B$
B!$
B2c                   ^^ SS K nUR                  S 5       m " S S[        5      mUU4S jnU" 5       nUR                  S 5      nUR	                  S 5        UR                  S 5      nU R                  [        S5         UR                  T5        S S S 5        U R                  [        S5         UR	                  S 5        S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)Nr   c              3      #    U v $ 7fr&   r   vs    r   _async_yieldRAsyncGenTest.test_async_gen_asend_throw_concurrent_with_send.<locals>._async_yield       G   c                       \ rS rSrSrg)KAsyncGenTest.test_async_gen_asend_throw_concurrent_with_send.<locals>.MyExci  r   Nr   r   r   r   MyExcr         r   r   c                 P   >#      T" S 5      I S h  vN   M   N! T  a     Nf = f7fr&   r   r   r   s   r   agenfnLAsyncGenTest.test_async_gen_asend_throw_concurrent_with_send.<locals>.agenfn  5     &t,,, , (   &  & #&#&r   r   )types	coroutinerb   r   r   rC   r   r   rG   r   r   agenr+   gen2r   r   s         @@r   /test_async_gen_asend_throw_concurrent_with_send<AsyncGenTest.test_async_gen_asend_throw_concurrent_with_send  s    		 
		I 		 xjjzz$##LGIJJuI ##LGIIIdOI I	I II I   ?C
/C

C
C)c                   ^^ SS K nUR                  S 5       m " S S[        5      mUU4S jnU" 5       nUR                  S 5      nUR	                  S 5        UR                  T5      nU R                  [        S5         UR                  T5        S S S 5        U R                  [        S5         UR	                  S 5        S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)Nr   c              3      #    U v $ 7fr&   r   r   s    r   r   SAsyncGenTest.test_async_gen_athrow_throw_concurrent_with_send.<locals>._async_yield  r   r   c                       \ rS rSrSrg)LAsyncGenTest.test_async_gen_athrow_throw_concurrent_with_send.<locals>.MyExci  r   Nr   r   r   r   r   r    r   r   r   c                 P   >#      T" S 5      I S h  vN   M   N! T  a     Nf = f7fr&   r   r   s   r   r   MAsyncGenTest.test_async_gen_athrow_throw_concurrent_with_send.<locals>.agenfn  r   r   5athrow\(\): asynchronous generator is already running2cannot reuse already awaited aclose\(\)/athrow\(\))	r   r  rb   r   r   r   rC   r   r   r  s         @@r   0test_async_gen_athrow_throw_concurrent_with_send=AsyncGenTest.test_async_gen_athrow_throw_concurrent_with_send  s    		 
		I 		 xjj{{5!##LHJJJuJ ##LEGIIdOG G	J JG Gr  c                 v  ^^ SS K nUR                  S 5       m " S S[        5      mUU4S jnU" 5       nU R                  [        5         UR                  S 5      R                  S 5        S S S 5        UR                  T5      nUR                  T5        UR                  T5      nU R                  [        S5         UR                  T5        S S S 5        U R                  [        S5         UR                  S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       NP= f! , (       d  f       g = f)Nr   c              3      #    U v $ 7fr&   r   r   s    r   r   SAsyncGenTest.test_async_gen_asend_throw_concurrent_with_throw.<locals>._async_yield  r   r   c                       \ rS rSrSrg)LAsyncGenTest.test_async_gen_asend_throw_concurrent_with_throw.<locals>.MyExci  r   Nr   r   r   r   r   r    r   r   r   c                 t   >#     S 7v     T" S 5      I S h  vN   M  ! T  a     Nf = f N! T  a     Nf = f7fr&   r   r   s   r   r   MAsyncGenTest.test_async_gen_asend_throw_concurrent_with_throw.<locals>.agenfn  U      &t,,,    - @   8 8, *, 8'8'8, 5858r   r   r   r  rb   r   r   r   r   r   r   rC   r   r  s         @@r   0test_async_gen_asend_throw_concurrent_with_throw=AsyncGenTest.test_async_gen_asend_throw_concurrent_with_throw  s    		 
		I 			 x}-JJt!!$' . kk% 		%zz% ##LGIJJuI ##LGIIIdOI I .-I II I$   !D=D-D*
D
D'*
D8c                 v  ^^ SS K nUR                  S 5       m " S S[        5      mUU4S jnU" 5       nU R                  [        5         UR                  S 5      R                  S 5        S S S 5        UR                  T5      nUR                  T5        UR                  S 5      nU R                  [        S5         UR                  T5        S S S 5        U R                  [        S5         UR                  S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       NP= f! , (       d  f       g = f)Nr   c              3      #    U v $ 7fr&   r   r   s    r   r   TAsyncGenTest.test_async_gen_athrow_throw_concurrent_with_throw.<locals>._async_yield  r   r   c                       \ rS rSrSrg)MAsyncGenTest.test_async_gen_athrow_throw_concurrent_with_throw.<locals>.MyExci  r   Nr   r   r   r   r   r$    r   r   r   c                 t   >#     S 7v     T" S 5      I S h  vN   M  ! T  a     Nf = f N! T  a     Nf = f7fr&   r   r   s   r   r   NAsyncGenTest.test_async_gen_athrow_throw_concurrent_with_throw.<locals>.agenfn  r  r  r  r  r  r  s         @@r   1test_async_gen_athrow_throw_concurrent_with_throw>AsyncGenTest.test_async_gen_athrow_throw_concurrent_with_throw  s    		 
		I 			 x}-JJt!!$' . kk% 		%{{4 ##LHJJJuJ ##LEGIIdOG G .-J JG Gr  c                 F   S nU R                  [        5         U" 5       R                  [        [        5       S 5      nS S S 5        U R	                  [        5         WR                  S 5        A[        5         S S S 5        g ! , (       d  f       NI= f! , (       d  f       g = f)Nc                    #    S7v   g 7fr   r   r   r   r   r+   BAsyncGenTest.test_async_gen_3_arg_deprecation_warning.<locals>.gen  r   r   )assertWarnsDeprecationWarningr   r   r   r   r   )rG   r+   xs      r   (test_async_gen_3_arg_deprecation_warning5AsyncGenTest.test_async_gen_3_arg_deprecation_warning  sl    	 01]MOTBA 2}-FF4LL .- 21--s   %BB
B
B c                    S nU" 5       nU R                  UR                  S5        SUl        U R                  UR                  S5        U R                  SUR                  5        SUl        U R                  UR                  S5        U R	                  UR
                  5        U R                  UR                  [        R                  5        U R                  UR                  5        U R                  UR                  [        R                  5        UR                  5       nU R                  [         R"                  " U5      5        UR%                  5         g )Nc                    #    S7v   g 7fr   r   r   r   r   r+   /AsyncGenTest.test_async_gen_api_01.<locals>.gen)  r   r   r+   123z.gen)rk   r   assertInr   assertIsNoneag_awaitassertIsInstanceag_framer   	FrameTyper   
ag_runningag_codeCodeTypeaclose
assertTrueinspectisawaitableclose)rG   r+   rd   r>  s       r   test_async_gen_api_01"AsyncGenTest.test_async_gen_api_01(  s    	 EU+
U+fann-/!**%ajj%//:&aii8++F34r   c                   ^ SS K nUR                  S 5       mU4S jnU" 5       nUR                  S 5      nUR                  S 5        U R	                  [
        S5         UR                  5         S S S 5        g ! , (       d  f       g = f)Nr   c              3      #    U v $ 7fr&   r   r   s    r   r   KAsyncGenTest.test_async_gen_asend_close_runtime_error.<locals>._async_yieldA  r   r   c                 v   >#     T " S 5      I S h  vN   g  N! [          a    T " S 5      I S h  vN     g f = f7fr&   r   r   s   r   r   EAsyncGenTest.test_async_gen_asend_close_runtime_error.<locals>.agenfnE  sB     )"4(((  )  )"4((()s0   9  9 606969coroutine ignored GeneratorExit)r   r  r   r   rC   r   rB  )rG   r   r   r  r+   r   s        @r   (test_async_gen_asend_close_runtime_error5AsyncGenTest.test_async_gen_asend_close_runtime_error>  sj    		 
		 xjj##L2STIIK UTTs   A77
Bc                   ^^ SS K nUR                  S 5       m " S S[        5      mUU4S jnU" 5       nU R                  [        5         UR                  S 5      R                  S 5        S S S 5        UR                  T5      nUR                  S 5        U R                  [        S5         UR                  5         S S S 5        g ! , (       d  f       N`= f! , (       d  f       g = f)Nr   c              3      #    U v $ 7fr&   r   r   s    r   r   LAsyncGenTest.test_async_gen_athrow_close_runtime_error.<locals>._async_yieldV  r   r   c                       \ rS rSrSrg)EAsyncGenTest.test_async_gen_athrow_close_runtime_error.<locals>.MyExciZ  r   Nr   r   r   r   r   rS  Z  r   r   r   c                    >#     S 7v   g ! T  a7     T" S 5      I S h  vN     g ! [          a    T" S 5      I S h  vN      g f = ff = f7fr&   rI  r   s   r   r   FAsyncGenTest.test_async_gen_athrow_close_runtime_error.<locals>.agenfn]  sL     - --&t,,,$ -&t,,,--sP   A AA% %AA=A AAAAArL  )r   r  rb   r   r   r   r   r   rC   r   rB  )rG   r   r   r  r+   r   r   s        @@r   )test_async_gen_athrow_close_runtime_error6AsyncGenTest.test_async_gen_athrow_close_runtime_errorS  s    		 
		I 		- x}-JJt!!$' .kk% ##L2STIIK UT	 .- UTs   !C,C
C
C%r   N)r   r   r   r   rp   r{   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r'  r/  rC  rM  rV  r   r   r   r   r\   r\      sq    ) V
:;:&*9.9292(I>(BB$L#J	,*r   r\   c                   v   \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S- r/S. r0S/ r1S0 r2S1 r3S2 r4S3 r5S4 r6S5 r7S6 r8S7 r9S8 r:S9 r;S: r<S; r=S< r>S=r?g>)?AsyncGenAsyncioTestio  c                 `    [         R                  5       U l        [         R                  S 5        g r&   )r   new_event_looploopset_event_looprG   s    r   setUpAsyncGenAsyncioTest.setUpq  s     **,	t$r   c                 p    U R                   R                  5         S U l         [        R                  S 5        g r&   )r\  rB  r   set_event_loop_policyr^  s    r   tearDownAsyncGenAsyncioTest.tearDownu  s%    			%%d+r   c                     U R                  SS9   U R                  U[        5        S S S 5        U R                  SS9   U R                  U[        5        S S S 5        g ! , (       d  f       N== f! , (       d  f       g = f)Nzpure-Pythonr   builtin)subTest_check_async_iterator_anextr<   r   )rG   	ait_classs     r   check_async_iterator_anext.AsyncGenAsyncioTest.check_async_iterator_anextz  s[    \\\.,,YA /\\	\*,,Y> +* /.**s   AA/
A,/
A=c                 4  ^ ^^^	 T" 5       m	UU	4S jnT R                   R                  U" 5       5      nT R                  U/ SQ5        T R                  [        5         T R                   R                  U" 5       5        S S S 5        UUU 4S jnT R                   R                  U" 5       5      nT R                  US5        UUU 4S jnU" 5         UUU 4S jnT R                   R                  U" 5       5      nT R                  US5        g ! , (       d  f       N= f)Nc                     >#    / n U R                  T" T5      I S h  vN 5        U R                  T" T5      I S h  vN 5        U R                  T" TS5      I S h  vN 5        U $  NI N, N7f)Nbuckle my shoer'   )resultsr   rd   s    r   consume@AsyncGenAsyncioTest._check_async_iterator_anext.<locals>.consume  sV     GNNq>*NNq>*NNq*:!;;<N *);s1   A,A&A,A(A,A*A,(A,*A,)r   r   ro  c                    >#    T" 5       n TR                  T" U 5      I S h  vN S5        TR                  T" U 5      I S h  vN S5        TR                  [        5         T" U 5      I S h  vN   S S S 5        TR                  [        5         T" U 5      I S h  vN   S S S 5        T" 5       nTR                  T" US5      I S h  vN S5        TR                  T" US5      I S h  vN S5        TR                  T" US5      I S h  vN S5        TR                  T" US5      I S h  vN S5        g GN N N! , (       d  f       N= f N! , (       d  f       N= f N Ny NZ N;7f)Nr   r   r4   	completed)rk   r   r2   )g1g2rj  r   rG   s     r   test_2?AsyncGenAsyncioTest._check_async_iterator_anext.<locals>.test_2  s    B59_a059_a0""#56Bi 7""#56Bi 7 B5Y#77;5Y#77;5Y#77C5Y#77C -, 76   76 8777s   E&D3E&D6E& D:,D8-D:1E&EEE&E&E E&&E ' E&E" E&(E$)E&6E&8D::
EE&E
EE& E&"E&$E&rt  c                  "  > T" 5       n T" U S5      nTR                  [        5         [        R                  " UR	                  5       5       nUR                  S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = fNrt  )r   r   
contextlibclosing	__await__r   )pobjrd   rj  r   rG   s      r   	test_sendBAsyncGenAsyncioTest._check_async_iterator_anext.<locals>.test_send  sb    A;'C""=1''8AFF4L 9 2188 21s#   %B A/B /
A=	9B  
Bc                  x   >#    T" 5       n T" U S5      nTR                  [        UR                  [        5        g7frz  )r   rD   r   )r~  r  rj  r   rG   s     r   
test_throwCAsyncGenAsyncioTest._check_async_iterator_anext.<locals>.test_throw  s2     A;'Ck399kBs   7:)r\  r#   rk   r   r2   )
rG   rj  r   rq  r)   rw  r   r  r  rd   s
   ```      @r   ri  /AsyncGenAsyncioTest._check_async_iterator_anext  s    K	 ii**7956712II((3 3	" --fh7-	! 		 --jl;-O 32s   !D		
Dc                 ,    S nU R                  U5        g )Nc                     #    S7v   S7v   g 7fNr   r   r   r   r   r   r  <AsyncGenAsyncioTest.test_async_generator_anext.<locals>.agen       GGr   rk  )rG   r  s     r   test_async_generator_anext.AsyncGenAsyncioTest.test_async_generator_anext  s    	 	''-r   c                 :     " S S5      nU R                  U5        g )Nc                   *    \ rS rSrSrS rS rS rSrg)IAsyncGenAsyncioTest.test_python_async_iterator_anext.<locals>.MyAsyncIteri  Asynchronously yield 1, then 2.c                     SU l         g Nr   yieldedr^  s    r   __init__RAsyncGenAsyncioTest.test_python_async_iterator_anext.<locals>.MyAsyncIter.__init__  	     r   c                     U $ r&   r   r^  s    r   r   SAsyncGenAsyncioTest.test_python_async_iterator_anext.<locals>.MyAsyncIter.__aiter__      r   c                    #    U R                   S:  a
  [        5       eU =R                   S-  sl         U R                   $ 7fNr   r   r  r2   r^  s    r   r3   SAsyncGenAsyncioTest.test_python_async_iterator_anext.<locals>.MyAsyncIter.__anext__  s2     <<1$,..LLA%L<<'s   <>r  N)	r   r   r   r   __doc__r  r   r3   r   r   r   r   MyAsyncIterr    s    1!(r   r  r  )rG   r  s     r    test_python_async_iterator_anext4AsyncGenAsyncioTest.test_python_async_iterator_anext  s    	( 	( 	''4r   c                 J   ^ SS K m " U4S jS5      nU R                  U5        g )Nr   c                   L   > \ rS rSrSrS rS r Y R                  S 5       rSr	g)fAsyncGenAsyncioTest.test_python_async_iterator_types_coroutine_anext.<locals>.MyAsyncIterWithTypesCoroi  r  c                     SU l         g r  r  r^  s    r   r  oAsyncGenAsyncioTest.test_python_async_iterator_types_coroutine_anext.<locals>.MyAsyncIterWithTypesCoro.__init__  r  r   c                     U $ r&   r   r^  s    r   r   pAsyncGenAsyncioTest.test_python_async_iterator_types_coroutine_anext.<locals>.MyAsyncIterWithTypesCoro.__aiter__  r  r   c              3      #     U R                   S:  a
  [        5       eU =R                   S-  sl         U R                   $ 7fr  r  r^  s    r   r3   pAsyncGenAsyncioTest.test_python_async_iterator_types_coroutine_anext.<locals>.MyAsyncIterWithTypesCoro.__anext__  s5     <<1$,..LLA%L<<'s   =?r  N)
r   r   r   r   r  r  r   r  r3   r   )r   s   r   MyAsyncIterWithTypesCoror    s&    1!__( (r   r  )r   rk  )rG   r  r   s     @r   0test_python_async_iterator_types_coroutine_anextDAsyncGenAsyncioTest.test_python_async_iterator_types_coroutine_anext  s!    	( 	( 	''(@Ar   c                    ^ S nU" 5       mU4S jnU R                   R                  U" 5       5      nU R                  USS/5        g )Nc                     #    S7v   S7v   g 7fr  r   r   r   r   r+   5AsyncGenAsyncioTest.test_async_gen_aiter.<locals>.gen  r  r   c                  X   >#    [        T5       V s/ s S h  vN o PM   N
 sn $ s  sn f 7fr&   aiter)r*   rd   s    r   rq  9AsyncGenAsyncioTest.test_async_gen_aiter.<locals>.consume  s!     %*1X..A...s$   *%!
!%!%*r   r   r\  r#   rk   )rG   r+   rq  r)   rd   s       @r   test_async_gen_aiter(AsyncGenAsyncioTest.test_async_gen_aiter  s@    	 E	/ii**795q!f%r   c                    ^^ / m " S S5      nU" 5       mUU4S jnU R                   R                  U" 5       5        U R                  TSS/5        g )Nc                       \ rS rSrS rSrg);AsyncGenAsyncioTest.test_async_gen_aiter_class.<locals>.Geni  c                    #    S7v   S7v   g 7fr  r   r^  s    r   r   EAsyncGenAsyncioTest.test_async_gen_aiter_class.<locals>.Gen.__aiter__  s     r   r   Nr   r   r   r   r   r   r   r   r   Genr    s    r   r  c                     >#    [        T5      n   TR                  [        U 5      I S h  vN 5        M%   N
! [         a     g f = f7fr&   )r  r(   r   r2   )aitrd   rp  s    r   rq  ?AsyncGenAsyncioTest.test_async_gen_aiter_class.<locals>.consume  sC     (CNNs#34 #3) s1   A7 57 A7 
AAAAr   r   r  )rG   r  rq  rd   rp  s      @@r   test_async_gen_aiter_class.AsyncGenAsyncioTest.test_async_gen_aiter_class  sJ    	 	 E	 			$$WY/1a&)r   c                 b    S n[        U" 5       5      n[        U5      nU R                  X#5        g )Nc                    #    S7v   g 7fNr   r   r   r   r   r+   6AsyncGenAsyncioTest.test_aiter_idempotent.<locals>.gen  
     Gr   )r  rw   )rG   r+   applied_onceapplied_twices       r   test_aiter_idempotent)AsyncGenAsyncioTest.test_aiter_idempotent  s(    	SU|l+l2r   c                   ^ S mS nU4S jnU4S jnU4S jnU R                  [        5         U R                  R                  U" 5       5        S S S 5        U R                  [        5         U R                  R                  U" 5       5        S S S 5        U R                  [        5         U R                  R                  U" 5       5        S S S 5        U R                  [        5         U R                  R                  U" 5       5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       No= f! , (       d  f       g = f)Nc                    #    S7v   g 7fr  r   r   r   r   r+   4AsyncGenAsyncioTest.test_anext_bad_args.<locals>.gen  r  r   c                  4   #    [        5       I S h  vN   g  N7fr&   rf  r   r   r   call_with_too_few_argsGAsyncGenAsyncioTest.test_anext_bad_args.<locals>.call_with_too_few_args        'MM   c                  F   >#    [        T " 5       SS5      I S h  vN   g  N7fNr   r   rf  r+   s   r   call_with_too_many_argsHAsyncGenAsyncioTest.test_anext_bad_args.<locals>.call_with_too_many_args  s     q!$$$s   !!c                  D   >#    [        ST " 5       5      I S h  vN   g  N7fr  rf  r  s   r   call_with_wrong_type_argsJAsyncGenAsyncioTest.test_anext_bad_args.<locals>.call_with_wrong_type_args  s     35/!!     c                  >   >#    [        T " 5       S9I S h  vN   g  N7f)N)	aiteratorrf  r  s   r   call_with_kwarg@AsyncGenAsyncioTest.test_anext_bad_args.<locals>.call_with_kwarg  s     #%(((s   r   r:   r\  r#   )rG   r  r  r  r  r+   s        @r   test_anext_bad_args'AsyncGenAsyncioTest.test_anext_bad_args  s    			%	"	)y)II(()?)AB *y)II(()@)BC *y)II(()B)DE *y)II(():; *) *)))))))s/   !D-!D$+!D5)!E
D!$
D25
E
Ec                 v   ^  U 4S jnT R                   R                  U" 5       5      nT R                  US5        g )Nc                  t  >^#     " S S5      m " U4S jS5      n Sn[        U " 5       S5      nTR                  [        U5         UI S h  vN   S S S 5        [        U " 5       5      nTR                  [        U5         UI S h  vN   S S S 5        g NF! , (       d  f       NJ= f N ! , (       d  f       g= f7f)Nc                       \ rS rSrS rSrg)UAsyncGenAsyncioTest.test_anext_bad_await.<locals>.bad_awaitable.<locals>.BadAwaitablei  c                     g)N*   r   r^  s    r   r}  _AsyncGenAsyncioTest.test_anext_bad_await.<locals>.bad_awaitable.<locals>.BadAwaitable.__await__  s    r   r   Nr   r   r   r   r}  r   r   r   r   BadAwaitabler    s    r   r  c                   (   > \ rS rSrS rU 4S jrSrg)TAsyncGenAsyncioTest.test_anext_bad_await.<locals>.bad_awaitable.<locals>.MyAsyncIteri  c                     U $ r&   r   r^  s    r   r   ^AsyncGenAsyncioTest.test_anext_bad_await.<locals>.bad_awaitable.<locals>.MyAsyncIter.__aiter__  s    Kr   c                    > T" 5       $ r&   r   )rG   r  s    r   r3   ^AsyncGenAsyncioTest.test_anext_bad_await.<locals>.bad_awaitable.<locals>.MyAsyncIter.__anext__  s    '>)r   r   Nr   r   r   r   r   r3   r   )r  s   r   r  r    s     * *r   r  z__await__.*iteratorr4   rt  )r   rC   r:   )r  regexr   r  rG   s      @r   bad_awaitable?AsyncGenAsyncioTest.test_anext_bad_await.<locals>.bad_awaitable  s      * *
 +EkmY7I''	59 :km,I''	59 :	   :9   :9sZ   AB8BBB.B8>B'B%B'		B8B
B"B8%B''
B51B8rt  r  )rG   r  r   s   `  r   test_anext_bad_await(AsyncGenAsyncioTest.test_anext_bad_await  s0    	" --mo>-r   c                 :  #    [        U" 5       S5      nU R                  [        5         UI S h  vN   S S S 5        [        U" 5       5      nU R                  [        5         UI S h  vN   S S S 5        g NE! , (       d  f       NI= f N ! , (       d  f       g= f7fNr4   rt  )r   r   r:   )rG   aiter_classr   s      r   check_anext_returning_iterator2AsyncGenAsyncioTest.check_anext_returning_iterator&  st     +-3	y)OO *+-(	y)OO *	  *)  *)sU   'BA7A5A7-B!B
'B(B
,	B5A77
BBB


BBc                      " S S5      nU R                   R                  U R                  U5      5      nU R                  US5        g )Nc                        \ rS rSrS rS rSrg)EAsyncGenAsyncioTest.test_anext_return_iterator.<locals>.WithIterAnexti0  c                     U $ r&   r   r^  s    r   r   OAsyncGenAsyncioTest.test_anext_return_iterator.<locals>.WithIterAnext.__aiter__1  r  r   c                     [        S5      $ )Nabc)iterr^  s    r   r3   OAsyncGenAsyncioTest.test_anext_return_iterator.<locals>.WithIterAnext.__anext__3  s    E{"r   r   Nr  r   r   r   WithIterAnextr  0  s    #r   r
  rt  r\  r#   r  rk   )rG   r
  r   s      r   test_anext_return_iterator.AsyncGenAsyncioTest.test_anext_return_iterator/  s>    	# 	#
 --d.Q.QR_.`a-r   c                      " S S5      nU R                   R                  U R                  U5      5      nU R                  US5        g )Nc                        \ rS rSrS rS rSrg)EAsyncGenAsyncioTest.test_anext_return_generator.<locals>.WithGenAnexti9  c                     U $ r&   r   r^  s    r   r   OAsyncGenAsyncioTest.test_anext_return_generator.<locals>.WithGenAnext.__aiter__:  r  r   c              3      #    S v   g 7fr&   r   r^  s    r   r3   OAsyncGenAsyncioTest.test_anext_return_generator.<locals>.WithGenAnext.__anext__<  s     s   r   Nr  r   r   r   WithGenAnextr  9  s    r   r  rt  r  )rG   r  r   s      r   test_anext_return_generator/AsyncGenAsyncioTest.test_anext_return_generator8  s>    	 	
 --d.Q.QR^._`-r   c                    ^ ^^  " S S5      m " U4S jS5      mUU 4S jnT R                   R                  U" 5       5      nT R                  US5        g )Nc                       \ rS rSrS rSrg)EAsyncGenAsyncioTest.test_anext_await_raises.<locals>.RaisingAwaitableiB  c              3      #    [        5       e7fr&   r   r^  s    r   r}  OAsyncGenAsyncioTest.test_anext_await_raises.<locals>.RaisingAwaitable.__await__C  s     '))s   r   Nr  r   r   r   RaisingAwaitabler  B  s    r   r  c                   (   > \ rS rSrS rU 4S jrSrg)NAsyncGenAsyncioTest.test_anext_await_raises.<locals>.WithRaisingAwaitableAnextiF  c                     U $ r&   r   r^  s    r   r   XAsyncGenAsyncioTest.test_anext_await_raises.<locals>.WithRaisingAwaitableAnext.__aiter__G  r  r   c                    > T" 5       $ r&   r   )rG   r  s    r   r3   XAsyncGenAsyncioTest.test_anext_await_raises.<locals>.WithRaisingAwaitableAnext.__anext__I  s    '))r   r   Nr  )r  s   r   WithRaisingAwaitableAnextr   F  s    * *r   r%  c                  <  >#    [        T" 5       5      n TR                  [        5         U I S h  vN   S S S 5        [        T" 5       S5      n TR                  [        5         U I S h  vN   S S S 5        g NF! , (       d  f       NJ= f N ! , (       d  f       g= f7fr  )r   r   r   )r   r%  rG   s    r   do_test<AsyncGenAsyncioTest.test_anext_await_raises.<locals>.do_testK  s{     79:I""#45 6799EI""#45 6	   65   65sU   &BA8A6A8.B"B(B	)B-	B6A88
BB	B
BBrt  r  )rG   r'  r   r  r%  s   `  @@r   test_anext_await_raises+AsyncGenAsyncioTest.test_anext_await_raisesA  sD    	 		* 	*
	 --gi8-r   c                 (  ^ ^^	^
 [         R                  S 5       m	 " S S[        5      mUU	4S jm
UU
U 4S jnUU
U 4S jnU
U 4S jnUU 4S jnUU 4S	 jnUU 4S
 jnU 4S jnU" U5        U" U5        U" U5        U" U5        U" U5        U" U5        g )Nc              3      #    U v $ 7fr&   r   r   s    r   r   9AsyncGenAsyncioTest.test_anext_iter.<locals>._async_yieldW  r   r   c                       \ rS rSrSrg)4AsyncGenAsyncioTest.test_anext_iter.<locals>.MyErrori[  r   Nr   r   r   r   MyErrorr/  [  r   r   r0  c                 n   >#     T" S5      I S h  vN   g  N! T  a    T" S5      I S h  vN     g f = f7fr  r   r0  r   s   r   r   3AsyncGenAsyncioTest.test_anext_iter.<locals>.agenfn^  s@     &"1o%%  & &"1o%%&0   5  5 2,2525c                   > T" 5       n[         R                  " U " US5      R                  5       5       nTR                  UR	                  S 5      S5        TR                  UR                  T" 5       5      S5         UR	                  S 5        TR                  S5        TR                  WR                  S5        S S S 5        g ! [         a  nUn S nAN6S nAff = f! , (       d  f       g = f)Nr4   r   r   r   )	r{  r|  r}  rk   r   r   r   r   value)r   r  rd   eerrr0  r   rG   s        r   test12AsyncGenAsyncioTest.test_anext_iter.<locals>.test1f  s    8D##E$	$:$D$D$FG1  q1  !3Q7>FF4L II<=  I6 HG
 % C HGs6   AC=C-C
CCCCC
C+c                   > T" 5       n[         R                  " U " US5      R                  5       5       nTR                  UR	                  S 5      S5        TR                  UR                  T" 5       5      S5        TR                  T5         UR                  T" 5       5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr4   r   r   )r{  r|  r}  rk   r   r   r   )r   r  rd   r0  r   rG   s      r   test22AsyncGenAsyncioTest.test_anext_iter.<locals>.test2s  s    8D##E$	$:$D$D$FG1  q1  !3Q7&&w/GGGI& 0 HG 0/ HGs$   ACB5$C5
C	?C
Cc                   > T" 5       n[         R                  " U " US5      R                  5       5       nTR                  UR	                  S 5      S5        UR                  5         TR                  [        S5         TR                  UR	                  S 5      S5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr4   r   zcannot reuse)r{  r|  r}  rk   r   rB  rC   r   )r   r  rd   r   rG   s      r   test32AsyncGenAsyncioTest.test_anext_iter.<locals>.test3{  s    8D##E$	$:$D$D$FG1  q1	++L.I$$QVVD\15 J HG JI HGs$   AC <"B/C /
B=	9C  
Cc                   >^ [         R                  S 5       mUU4S jnU" 5       n[        R                  " U " US5      R	                  5       5       nTR                  UR                  S 5      S5        TR                  UR                  T" 5       5      S5        TR                  TS5         UR                  T" S5      5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nc              3   ,   #    U S-  v   U S-  S-   v $ 7fNr   r   r   r   s    r   r   HAsyncGenAsyncioTest.test_anext_iter.<locals>.test4.<locals>._async_yield       "f 2vz*+r   c                 n   >#     T" S5      I S h  vN   g  N! T  a    T" S5      I S h  vN     g f = f7fr  r   r2  s   r   r   BAsyncGenAsyncioTest.test_anext_iter.<locals>.test4.<locals>.agenfn  s@     *&q/))  * *&q/))*r4  r4   r   r   val)	r   r  r{  r|  r}  rk   r   r   rC   r   r   r  rd   r   r0  rG   s       @r   test42AsyncGenAsyncioTest.test_anext_iter.<locals>.test4  s    __, , 8D##E$	$:$D$D$FG1  r2  !3R8++GU;GGGEN+ < HG <; HGs%   AC&,CC&
C#	C&&
C4c                   >^ [         R                  S 5       mUU4S jnU" 5       n[        R                  " U " US5      R	                  5       5       nTR                  UR                  S 5      S5        TR                  [        S5         UR                  T" 5       5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nc              3   ,   #    U S-  v   U S-  S-   v $ 7frC  r   r   s    r   r   HAsyncGenAsyncioTest.test_anext_iter.<locals>.test5.<locals>._async_yield  rE  r   c                 V   >#     T" S5      I S h  vN   S7v   g  N
! T  a     g f = f7fNr   aaar   r2  s   r   r   BAsyncGenAsyncioTest.test_anext_iter.<locals>.test5.<locals>.agenfn  s5     &q/))  * s(   )  ) &)&)r4   r   )
r   r  r{  r|  r}  rk   r   rC   r   r   rI  s       @r   test52AsyncGenAsyncioTest.test_anext_iter.<locals>.test5  s    __, , 8D##E$	$:$D$D$FG1  r2++M9EGGGI& F HGEE HGs$   8C
B2!C2
C 	<C
Cc                 Z  >^ [         R                  S 5       mU4S jnU" 5       n[        R                  " U " US5      R	                  5       5       nTR                  T5         UR                  T" 5       5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nc              3   ,   #    U S-  v   U S-  S-   v $ 7frC  r   r   s    r   r   HAsyncGenAsyncioTest.test_anext_iter.<locals>.test6.<locals>._async_yield  rE  r   c                 <   >#    T " S5      I S h  vN   S7v   g  N
7frP  r   rJ  s   r   r   BAsyncGenAsyncioTest.test_anext_iter.<locals>.test6.<locals>.agenfn  s     "1o%% &s   r4   )r   r  r{  r|  r}  r   r   rI  s       @r   test62AsyncGenAsyncioTest.test_anext_iter.<locals>.test6  s    __, , 8D##E$	$:$D$D$FG1&&w/GGGI& 0 HG// HGs$   B#B:B
B	B
B*c                    > TR                  S5         U " [        5        S S S 5        TR                  S5         U " [        5        S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = f)Nzpure-Python anext()zbuiltin anext())rh  r<   r   )testrG   s    r   run_test5AsyncGenAsyncioTest.test_anext_iter.<locals>.run_test  sH    34X 5/0U 10 5400s   AA 
A 
A.)r   r  rb   )rG   r9  r<  r?  rJ  rS  rZ  r^  r0  r   r   s   `       @@@r   test_anext_iter#AsyncGenAsyncioTest.test_anext_iterV  sy    		 
		i 			7	'	6	,*	'&	'	 	r   c                   ^ S mS nU4S jnS nU R                  [        5         U R                  R                  U" 5       5        S S S 5        U R                  [        5         U R                  R                  U" 5       5        S S S 5        U R                  [        5         U R                  R                  U" 5       5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N^= f! , (       d  f       g = f)Nc                    #    S7v   g 7fr  r   r   r   r   r+   4AsyncGenAsyncioTest.test_aiter_bad_args.<locals>.gen  r  r   c                  4   #    [        5       I S h  vN   g  N7fr&   r  r   r   r   r  GAsyncGenAsyncioTest.test_aiter_bad_args.<locals>.call_with_too_few_args  r  r  c                  D   >#    [        T " 5       S5      I S h  vN   g  N7fr  r  r  s   r   r  HAsyncGenAsyncioTest.test_aiter_bad_args.<locals>.call_with_too_many_args  s     q/!!r  c                  6   #    [        S5      I S h  vN   g  N7fr  r  r   r   r   call_with_wrong_type_argIAsyncGenAsyncioTest.test_aiter_bad_args.<locals>.call_with_wrong_type_arg  s     (NNs   r  )rG   r  r  rj  r+   s       @r   test_aiter_bad_args'AsyncGenAsyncioTest.test_aiter_bad_args  s    			"	y)II(()?)AB *y)II(()@)BC *y)II(()A)CD *)	 *)))))s#   !C$!C"!C.
C
C+.
C<c                 T   #    / nU  S h  vN nUR                  U5        M   N
 U$ 7fr&   r'   )rG   r+   r)   r*   s       r   r.   AsyncGenAsyncioTest.to_list  s+      	!JJqM	s
s   (%#%(%(c                     S nU R                   R                  U R                  U" 5       5      5      nU R                  USS/5        g )Nc                    #    S7v   [         R                  S5      I S h  vN   S7v   [         R                  S5      I S h  vN   g  N' N7fNr   {Gz?r   r   sleepr   r   r   r+   :AsyncGenAsyncioTest.test_async_gen_asyncio_01.<locals>.gen  s>     G--%%%G--%%% &%s!   AA!AA
A
Ar   r   r\  r#   r.   rk   )rG   r+   r)   s      r   test_async_gen_asyncio_01-AsyncGenAsyncioTest.test_async_gen_asyncio_01  s<    	 ii**4<<+>?q!f%r   c                     S nU R                  [        5         U R                  R                  U R	                  U" 5       5      5        S S S 5        g ! , (       d  f       g = f)Nc                 r   #    S7v   [         R                  S5      I S h  vN   S7v   SS-    S7v   g  N7f)Nr   rs  r   r   r   rt  r   r   r   r+   :AsyncGenAsyncioTest.test_async_gen_asyncio_02.<locals>.gen  s2     G--%%%GEG &s   757)r   r   r\  r#   r.   rz   s     r   test_async_gen_asyncio_02-AsyncGenAsyncioTest.test_async_gen_asyncio_02  sA    	 01II((ce)<= 211s   0A
A c                     U R                   n " S S5      nUR                  U R                  U" 5       5      5      nU R                  USS/5        g )Nc                       \ rS rSrS rSrg):AsyncGenAsyncioTest.test_async_gen_asyncio_03.<locals>.Geni  c                ^   #    S7v   [         R                  S5      I S h  vN   S7v   g  N
7frr  rt  r^  s    r   r   DAsyncGenAsyncioTest.test_async_gen_asyncio_03.<locals>.Gen.__aiter__  s&     mmD))) *s   -+-r   Nr  r   r   r   r  r    s    r   r  r   r   rw  )rG   r\  r  r)   s       r   test_async_gen_asyncio_03-AsyncGenAsyncioTest.test_async_gen_asyncio_03  sF    yy	 	 %%dll35&9:q!f%r   c                    ^ ^ S mUU 4S jnUU 4S jnT R                   R                  U" 5       5        T R                   R                  U" 5       5        g )Nc                    #    S7v   [         R                  S5      I S h  vN    S7v   S7v   [         R                  S5      I S h  vN   S7v   g  N2! [         a    S7v    N6f = f N!7f)Nr   rs  r   r        )r   ru  r   r   r   r   foo@AsyncGenAsyncioTest.test_async_gen_asyncio_anext_04.<locals>.foo  sb     G--%%% --%%%G & % 
%s=   A,AA,
A A,A*	A,A'$A,&A''A,c                    >#    T" 5       R                  5       n TR                  U R                  5       I S h  vN S5        TR                  U R                  5       I S h  vN S5        TR                  U R                  5       I S h  vN S5        TR                  U R                  5       I S h  vN S5        TR                  [        5         U R                  5       I S h  vN   S S S 5        TR                  [        5         U R                  5       I S h  vN   S S S 5        g  N N N N| NK! , (       d  f       NO= f N(! , (       d  f       g = f7f)Nr   r   r   r  )r   rk   r3   r   r2   )itr  rG   s    r   run1AAsyncGenAsyncioTest.test_async_gen_asyncio_anext_04.<locals>.run1  s     "B2<<>1152<<>1152<<>1152<<>115""#56lln$$ 7""#56lln$$ 76 2111$ 76 % 76s   4ED&'ED( 'ED*'E/D,0ED0"D.#D0'EEEE
E(E*E,E.D00
D>:EE
EEc                    >#    T" 5       R                  5       n TR                  U R                  5       I S h  vN S5        TR                  U R                  5       I S h  vN S5         U R                  5       R                  [        5        TR                  S5        TR                  U R                  5       I S h  vN S5        TR                  [        5         U R                  5       I S h  vN   S S S 5        g  N N! [         a)  nTR                  UR                  S   S5         S nANS nAff = f Nz NI! , (       d  f       g = f7f)Nr   r   r   r   r  r  )
r   rk   r3   r   r   r   r   r   r   r2   r  r"   r  rG   s     r   run2AAsyncGenAsyncioTest.test_async_gen_asyncio_anext_04.<locals>.run2  s     "B2<<>1152<<>115:$$%67 		892<<>115""#56lln$$ 76 21 ! 3  T223 2$ 76s   4EC='EC? 	E*#D /E<D7=ED;/D90D;4
E?E
D4D/*E/D44E9D;;
E	Er\  r#   )rG   r  r  r  s   `  @r   test_async_gen_asyncio_anext_043AsyncGenAsyncioTest.test_async_gen_asyncio_anext_04   s<    		
	%	% 			$$TV,		$$TV,r   c                 \   ^ ^ S mUU 4S jnT R                   R                  U" 5       5        g )Nc                 0   #    S7v n U 7v n U S-  7v   g 7fNr   r   r   r   s    r   r  @AsyncGenAsyncioTest.test_async_gen_asyncio_anext_05.<locals>.foo+  s     AAc'Ms   c                  4  >#    T" 5       R                  5       n  U R                  5       R                  S 5        TR                  S5         U R                  5       R                  S5        TR                  S5         U R                  5       R                  S5        TR                  S5        TR                  [        5         U R                  5       I S h  vN   S S S 5        g ! [         a)  nTR                  UR                  S   S5         S nANS nAff = f! [         a)  nTR                  UR                  S   S5         S nANS nAff = f! [         a)  nTR                  UR                  S   S5         S nANS nAff = f N! , (       d  f       g = f7f)Nr   r   r   r      i  )	r   r3   r   r   r   rk   r   r   r2   r  s     r   run@AsyncGenAsyncioTest.test_async_gen_asyncio_anext_05.<locals>.run0  sD    "B:##D) 		89:##B' 		89:##B' 		89""#56lln$$ 76' ! 0  Q//0 ! 1  R001 ! 3  T223 % 76s   FC# FD *F<E &FFFF	F#
D-DFDF
E#EFEF
FE=8F=FFF
FFr  rG   r  r  s   ` @r   test_async_gen_asyncio_anext_053AsyncGenAsyncioTest.test_async_gen_asyncio_anext_05*  s#    	
	%6 			$$SU+r   c                 D  ^ ^^ SmS nU" 5       nUR                  S 5        T R                  [        5         UR                  S 5        S S S 5        U4S jmUUU 4S jnT R                  R	                  U" 5       5        T R                  TS5        g ! , (       d  f       NO= f)Nr   c               3   $   #     S v   g !    g = f7fr&   r   r   r   r   r  @AsyncGenAsyncioTest.test_async_gen_asyncio_anext_06.<locals>.fooQ          	 c                 0   >#     S 7v   Sm g !    Sm g = f7fr  r   DONEs   r   r+   @AsyncGenAsyncioTest.test_async_gen_asyncio_anext_06.<locals>.gen]  #      DD    c                     >#    T" 5       n U R                  S 5      I S h  vN   TR                  [        5         U R                  S 5      I S h  vN   S S S 5        TS-  mg  NA N! , (       d  f       N= f7fNr   )r   r   r2   rd   r  r+   rG   s    r   r  @AsyncGenAsyncioTest.test_async_gen_asyncio_anext_06.<locals>.rune  s\     A''$-""#56ggdm## 7BJD  # 76s8   A6A!A6A%A#A%A6#A%%
A3/A6   )r   r   r   r\  r#   rk   rG   r  rd   r  r  r+   s   `   @@r   test_async_gen_asyncio_anext_063AsyncGenAsyncioTest.test_async_gen_asyncio_anext_06M  sx    	
 E	t}-FF4L .
		 			$$SU+r"- .-s   B
Bc                 \   ^ ^ S mUU 4S jnT R                   R                  U" 5       5        g )Nc                 B   #     S7v   g ! [          a    S7v    g f = f7f)Nr   r   r  r   r   r   r  CAsyncGenAsyncioTest.test_async_gen_asyncio_anext_tuple.<locals>.fooq  s"     
$ 
   
 c                    >#    T" 5       R                  5       n TR                  U R                  5       I S h  vN S5        TR                  [        5       nU R                  5       R                  [        5        S S S 5        TR                  WR                  R                  S   S5        TR                  [        5         U R                  5       I S h  vN   S S S 5        g  N! , (       d  f       Np= f N ! , (       d  f       g = f7f)Nr  r   r  )
r   rk   r3   r   r   r   r   	exceptionr   r2   )r  cmr  rG   s     r   r  CAsyncGenAsyncioTest.test_async_gen_asyncio_anext_tuple.<locals>.runw  s     "B2<<>148""=1R$$%67 2R\\..q148""#56lln$$ 76	 211 % 76sR   4DC"D$C$:AD C7C5C7
D$
C2.D5C77
DDr  r  s   ` @r   "test_async_gen_asyncio_anext_tuple6AsyncGenAsyncioTest.test_async_gen_asyncio_anext_tuplep  s#    		% 			$$SU+r   c                 \   ^ ^ S mUU 4S jnT R                   R                  U" 5       5        g )Nc                    #    g 7fr&   r   r   r   r   r  QAsyncGenAsyncioTest.test_async_gen_asyncio_anext_tuple_no_exceptions.<locals>.foo  s        c                    >#    T" 5       R                  5       n TR                  [        5         U R                  5       I S h  vN   S S S 5        [	        U S5      I S h  vN nTR                  US5        g  N3! , (       d  f       N7= f N*7f)N)rx   b)r   r   r2   r3   r   assertTupleEqual)r  r)   r  rG   s     r   r  QAsyncGenAsyncioTest.test_async_gen_asyncio_anext_tuple_no_exceptions.<locals>.run  sg     "B""#56lln$$ 7b*--C!!#z2 % 76-s:   +BA8A6A8BB	B6A88
BBr  r  s   ` @r   0test_async_gen_asyncio_anext_tuple_no_exceptionsDAsyncGenAsyncioTest.test_async_gen_asyncio_anext_tuple_no_exceptions  s#    		3 			$$SU+r   c                   ^ Sn[         [        [        [        4 H  nU" U5      mU R	                  TS9    " U4S jS5      nU R                  X!5         [        U" 5       5        S S S 5        U R                  X!5         [        U" 5       S5        S S S 5        S S S 5        M     g ! , (       d  f       NF= f! , (       d  f       N,= f! , (       d  f       M  = f)Ncustomr    c                   "   > \ rS rSrU 4S jrSrg)?AsyncGenAsyncioTest.test_sync_anext_raises_exception.<locals>.Ai  c                    > Ter&   r   )rG   r    s    r   r3   IAsyncGenAsyncioTest.test_sync_anext_raises_exception.<locals>.A.__anext__  s    !	r   r   N)r   r   r   r   r3   r   r  s   r   Ar    s    " "r   r  r   )r2   r   
ValueErrorrb   rh  rC   r   )rG   msgexc_typer  r    s       @r    test_sync_anext_raises_exception4AsyncGenAsyncioTest.test_sync_anext_raises_exception  s    	
H 3-C#&" " ++H:!#J ;++H:!#qM ; '&
 ;::: '&s;   CB$$C=B5C$
B2.C5
C?C
C	c                 \   ^ ^ S mUU 4S jnT R                   R                  U" 5       5        g )Nc                 f   #     [        S5      7v   g ! [         a    [        S5      7v    g f = f7fr  )r   r   r   r   r   r  KAsyncGenAsyncioTest.test_async_gen_asyncio_anext_stopiteration.<locals>.foo  s.     '#A&&$ '#A&&'s   1 1.1.1c                    >#    T" 5       R                  5       n U R                  5       I S h  vN nTR                  U[        5        TR	                  UR
                  S5        TR                  [        5       nU R                  5       R                  [        5        S S S 5        WR                  R                  S   nTR                  U[        5        TR	                  UR
                  S5        TR                  [        5         U R                  5       I S h  vN   S S S 5        g  N! , (       d  f       N= f N ! , (       d  f       g = f7f)Nr   r   r   )r   r3   r8  r   rk   r6  r   r   r   r  r   r2   )r  r   r  r  rG   s      r   r  KAsyncGenAsyncioTest.test_async_gen_asyncio_anext_stopiteration.<locals>.run  s     "Blln$A!!!]3QWWa(""=1R$$%67 2!!!$A!!!]3QWWa(""#56lln$$ 76 % 21 % 76sS   )ED&AE8$D(A(ED;D9D;
E(
D62E9D;;
E	Er  r  s   ` @r   *test_async_gen_asyncio_anext_stopiteration>AsyncGenAsyncioTest.test_async_gen_asyncio_anext_stopiteration  s#    	'	% 			$$SU+r   c                    ^ S mU4S jnU R                  [        S5         U R                  R                  U" 5       5        S S S 5        g ! , (       d  f       g = f)Nc                    #     S7v   SS-    [         R                  S5      I S h  vN   S7v   g  N
! [         R                  S5      I S h  vN    S7v   f = f7f)Nr   r   rs  r  rt  r   r   r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_06.<locals>.foo  sI     AmmD))) *gmmD)))s.   A
3 A1AAAAAc                     >#    T" 5       n U R                  5       nUR                  5       I S h  vN   U R                  5       I S h  vN   g  N N7fr&   r   r3   r>  r+   r  r  s     r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_06.<locals>.run  >     %CB,,.  **, !!   +AAAAAAz%async generator ignored GeneratorExit)rC   r   r\  r#   r  s     @r    test_async_gen_asyncio_aclose_064AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_06  sI    		 ##79 II((/9 9 9s   !A
Ac                    ^^ SmU4S jmU4S jnU R                   R                  U" 5       5        U R                  TS5        g )Nr   c                 @  >#     S7v   SS-    [         R                  S5      I S h  vN   [         R                  S5      I S h  vN   T S-  m T S-  m g  N, N! [         R                  S5      I S h  vN    [         R                  S5      I S h  vN    T S-  m f = f7f)Nr   r   rs  r  rt  r  s   r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_07.<locals>.foo  s     AmmD)))mmD)))	DLD *) mmD)))mmD)))	sO   B
A BABABBB1A42BBBBc                     >#    T" 5       n U R                  5       nUR                  5       I S h  vN   U R                  5       I S h  vN   g  N N7fr&   r  r  s     r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_07.<locals>.run  r  r  r   r  )rG   r  r  r  s     @@r    test_async_gen_asyncio_aclose_074AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_07  s8    			 			$$SU+q!r   c                 F  ^ ^^^ Sm[         R                  T R                  S9mUU4S jmUU 4S jnT R                  R                  U" 5       5        T R	                  TS5        TR                  5         T R                  R                  [         R                  S5      5        g )Nr   r\  c                 b  >#     S7v   TI S h  vN   T S-  m S7v   [         R                  S5      I S h  vN   [         R                  S5      I S h  vN   T S-  m T S-  m g  NS N. N! [         R                  S5      I S h  vN    [         R                  S5      I S h  vN    T S-  m f = f7f)Nr   r  r   rs  rt  )r  r!   s   r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_08.<locals>.foo  s     		mmD)))mmD)))	DLD  *) mmD)))mmD)))	se   B/
A) A#A) B/A%B/A'B/#A) %B/'B/)B,BB, B#!B,,B/c                     >#    T" 5       n U R                  5       nTR                  UR                  5       I S h  vN S5        U R                  5       I S h  vN   g  N" N7fr  )r   rk   r3   r>  )r+   r  r  rG   s     r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_08.<locals>.run  sH     %CB2<<>115**, 2s!   6A AA AA A r   rs  )r   Futurer\  r#   rk   cancelru  )rG   r  r  r  r!   s   ` @@@r    test_async_gen_asyncio_aclose_084AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_08  sr    nn$))n,		 			$$SU+q! 	

		$$W]]4%89r   c                    ^^ SmU4S jmU4S jnU R                   R                  U" 5       5        U R                  TS5        g )Nr   c                 h   >#      S7v   M  ! [         R                  S5      I S h  vN    Sm f = f7fNr   r   rt  r  s   r   r+   DAsyncGenAsyncioTest.test_async_gen_asyncio_gc_aclose_09.<locals>.gen  s2     G  mmA&&&s   2 /)/2c                    >#    T" 5       n U R                  5       I S h  vN   U R                  5       I S h  vN   A [        5         [        R                  S5      I S h  vN   [        R                  S5      I S h  vN   g  Nb NL N& N7fr  )r3   r   r   ru  )rd   r+   s    r   r  DAsyncGenAsyncioTest.test_async_gen_asyncio_gc_aclose_09.<locals>.run  si     A++-++-L --"""--"""  
 #"sC   B	BB	B'B	BB	;B<B	B	B	B	r   r  )rG   r  r  r+   s     @@r   #test_async_gen_asyncio_gc_aclose_097AsyncGenAsyncioTest.test_async_gen_asyncio_gc_aclose_09	  s8    	
	# 			$$SU+q!r   c                    ^^ SmS nU" 5       nUR                  S 5        UR                  5         U4S jmUU4S jnU R                  R                  U" 5       5        U R	                  TS5        g )Nr   c               3   $   #     S v   g !    g = f7fr&   r   r   r   r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_10.<locals>.foo(  r  r  c                 0   >#     S 7v   Sm g !    Sm g = f7fr  r   r  s   r   r+   AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_10.<locals>.gen3  r  r  c                     >#    T" 5       n U R                  S 5      I S h  vN   U R                  5       I S h  vN   TS-  mg  N" N7fr  )r   r>  )rd   r  r+   s    r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_10.<locals>.run;  s>     A''$-((*BJD  s   AAAAAAr  )r   rB  r\  r#   rk   r  s       @@r    test_async_gen_asyncio_aclose_104AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_10$  sZ    	
 E	t				 			$$SU+r"r   c                 D  ^ ^^ SmS nU" 5       nUR                  S 5        T R                  [        S5         UR                  5         S S S 5        U4S jmUUU 4S jnT R                  R                  U" 5       5        T R                  TS5        g ! , (       d  f       NO= f)Nr   c               3   ,   #     S v   S v   g !    N	= f7fr&   r   r   r   r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_11.<locals>.fooI  s      s    ignored GeneratorExitc                 <   >#     S 7v   S 7v   T S-  m g !    N= f7fr  r   r  s   r   r+   AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_11.<locals>.genV  s%      AIDs    c                     >#    T" 5       n U R                  S 5      I S h  vN   TR                  [        S5         U R                  5       I S h  vN   S S S 5        TS-  mg  NA N! , (       d  f       N= f7f)Nr  r   )r   rC   r   r>  r  s    r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_11.<locals>.run_  s^     A''$-''6MNhhj   OBJD    ONs8   A6A!A6A%A#A%A6#A%%
A3/A6r   )r   rC   r   rB  r\  r#   rk   r  s   `   @@r    test_async_gen_asyncio_aclose_114AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_11E  s{    	 E	t##L2IJGGI K
		 			$$SU+r"/ KJs   B
Bc                    ^^^ SmS mUU4S jmU4S jnU R                   R                  U" 5       5        U R                  TS5        g )Nr   c                  T   #    [         R                  S5      I S h  vN   SS-    g  N
7f)Nrs  r   r   rt  r   r   r   targetDAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_12.<locals>.targetm  s#     --%%%E &   (&(c                    >#    [         R                  T" 5       5      n  S7v    U I S h  vN   g  N! [         a    Sm g f = f!  U I S h  vN    f ! [         a    Sm f f = f= f7fr  )r   create_taskr   )taskr  r  s    r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_12.<locals>.fooq  sa     &&vx0DJJ( DJJ( Dsq   A'A 2 02 A'2 AA' AA'A$AAAA$A!A$ A!!A$$A'c                     >#    T" 5       n U R                  5       nUR                  5       I S h  vN   U R                  5       I S h  vN   g  N N7fr&   r  r  s     r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_aclose_12.<locals>.run|  r  r  r   r  )rG   r  r  r  r  s     @@@r    test_async_gen_asyncio_aclose_124AsyncGenAsyncioTest.test_async_gen_asyncio_aclose_12j  s=    				 			$$SU+q!r   c                 ,  ^ ^^ SmS nU" 5       nUR                  S 5      nT R                  US5        UR                  S5      nT R                  US5        U4S jmUU 4S jnT R                  R                  U" 5       5        T R                  TS5        g )Nr   c               3   "   #    Sv n U S-  v   g 7fr  r   r   s    r   sgenAAsyncGenAsyncioTest.test_async_gen_asyncio_asend_01.<locals>.sgen  s     Aa%Ks   r   r      c                   >#     [         R                  S5      I S h  vN   S7v n [         R                  S5      I S h  vN   U S-  7v   [         R                  S5      I S h  vN    [         R                  S5      I S h  vN   [         R                  S5      I S h  vN   Smg  N Ni NF N* N! [         R                  S5      I S h  vN    [         R                  S5      I S h  vN    Smf = f7fNrs  r   r   rt  )r   r  s    r   r+   @AsyncGenAsyncioTest.test_async_gen_asyncio_asend_01.<locals>.gen  s     
mmD)))GmmD)))!emmD)))mmD)))mmD))) *)) *) mmD)))mmD)))s   C4B1 B'!B1 B) $B1 $B+%B1 *C4B-C4B/ C4'B1 )B1 +B1 -C4/C41C1
CC1(C+)C11C4c                  d  >#    T" 5       n U R                  S 5      I S h  vN nTR                  US5        U R                  S5      I S h  vN nTR                  US5        TR                  [        5         U R                  S 5      I S h  vN   S S S 5        g  Ny NP N! , (       d  f       g = f7f)Nr   r   r'  )r   rk   r   r2   rd   r   r+   rG   s     r   r  @AsyncGenAsyncioTest.test_async_gen_asyncio_asend_01.<locals>.run  s     Aggdm#AQ"ggcl"AQ$""#56ggdm## 76 $ # $ 76K   B0B*B0
B+B06BBB
B0B0B
B-)B0)r   rk   r\  r#   )rG   r%  r   r   r  r  r+   s   `    @@r   test_async_gen_asyncio_asend_013AsyncGenAsyncioTest.test_async_gen_asyncio_asend_01  s    	 VGGDMAGGCLC 	
	$ 			$$SU+q!r   c                    ^ ^^^ SmS mUU4S jmUU 4S jnT R                  [        5         T R                  R                  U" 5       5        S S S 5        T R	                  TS5        g ! , (       d  f       N!= f)Nr   c                 T   #    [         R                  U 5      I S h  vN   SS-    g  N
7fr  rt  )delays    r   sleep_n_crashJAsyncGenAsyncioTest.test_async_gen_asyncio_asend_02.<locals>.sleep_n_crash  s#     --&&&E 'r  c                   >#     [         R                  S5      I S h  vN   S7v n T" S5      I S h  vN   TS-  mU S-  7v   [         R                  S5      I S h  vN   [         R                  S5      I S h  vN   Smg  Nc NP N( N! [         R                  S5      I S h  vN    [         R                  S5      I S h  vN    Smf = f7fNrs  r   r  r   rt  r   r  r4  s    r   r+   @AsyncGenAsyncioTest.test_async_gen_asyncio_asend_02.<locals>.gen       	mmD)))G#D)))!emmD)))mmD))) *) *) mmD)))mmD)))x   CB	 BB	 BB	 CBC9B:CB	 B	 CC	C	"B%#C	 CC		Cc                     >#    T" 5       n U R                  S 5      I S h  vN nTR                  US5        U R                  S5      I S h  vN   g  N0 N7fr  r   rk   r,  s     r   r  @AsyncGenAsyncioTest.test_async_gen_asyncio_asend_02.<locals>.run  H     Aggdm#AQ"''#, $ !   AA*A
AAAr   )r   r   r\  r#   rk   rG   r  r  r+   r4  s   ` @@@r   test_async_gen_asyncio_asend_023AsyncGenAsyncioTest.test_async_gen_asyncio_asend_02  sZ    			 01II((/ 2q! 21s   !A))
A7c                   ^ ^^^ SmU 4S jmUU4S jmUU 4S jnT R                  [        R                  5         T R                  R	                  U" 5       5        S S S 5        T R                  TS5        g ! , (       d  f       N!= f)Nr   c                    >^#    [         R                  [         R                  U 5      TR                  S9mTR                  R	                  U S-  U4S j5        TI S h  vN $  N7f)Nr  r   c                  $   > T R                  5       $ r&   r  r!   s   r   <lambda>\AsyncGenAsyncioTest.test_async_gen_asyncio_asend_03.<locals>.sleep_n_crash.<locals>.<lambda>      CJJLr   r   ensure_futureru  r\  
call_laterr3  r!   rG   s    @r   r4  JAsyncGenAsyncioTest.test_async_gen_asyncio_asend_03.<locals>.sleep_n_crash  P     ''e(<-1YY ( 8CII  ,@A99   AA%A#A%c                   >#     [         R                  S5      I S h  vN   S7v n T" S5      I S h  vN   TS-  mU S-  7v   [         R                  S5      I S h  vN   [         R                  S5      I S h  vN   Smg  Nc NP N( N! [         R                  S5      I S h  vN    [         R                  S5      I S h  vN    Smf = f7fr7  rt  r8  s    r   r+   @AsyncGenAsyncioTest.test_async_gen_asyncio_asend_03.<locals>.gen  r:  r;  c                     >#    T" 5       n U R                  S 5      I S h  vN nTR                  US5        U R                  S5      I S h  vN   g  N0 N7fr  r=  r,  s     r   r  @AsyncGenAsyncioTest.test_async_gen_asyncio_asend_03.<locals>.run  r?  r@  r   )r   r   CancelledErrorr\  r#   rk   rA  s   ` @@@r   test_async_gen_asyncio_asend_033AsyncGenAsyncioTest.test_async_gen_asyncio_asend_03  s_    			 w556II((/ 7q! 76s   !A66
Bc                   ^ ^^^ Sm " S S[         5      mU4S jnU" 5       nUR                  S 5      nT R                  US5        UR                  T5      nT R                  US5        T R	                  [
        5         UR                  S 5        S S S 5        UU4S jmUUU 4S jnT R                  R                  U" 5       5        T R                  TS5        g ! , (       d  f       NP= f)	Nr   c                       \ rS rSrSrg)CAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01.<locals>.FooEri  r   Nr   r   r   r   FooErr\    r   r   r]  c               3   B   >#     Sv n U S-  v   g ! T a    Sn  Nf = f7f)Nr   r  r   r   )r   r]  s    r   r%  BAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01.<locals>.sgen  s2     G a%K  s    r     c                   >#     [         R                  S5      I S h  vN    S7v n U S-  7v   [         R                  S5      I S h  vN   [         R                  S5      I S h  vN   [         R                  S5      I S h  vN   Smg  Nl! T a#    Sn [         R                  S5      I S h  vN     Nf = f No NT N9! [         R                  S5      I S h  vN    [         R                  S5      I S h  vN    Smf = f7fr7  rt  )r   r  r]  s    r   r+   AAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01.<locals>.gen  s     mmD))).A !emmD))) mmD)))mmD))) *  .A!-----. * *) mmD)))mmD)))s   DB> B
B> B  B> B8	B> D%B:&DB<D
B>  B5,B/-B52B> 4B55B> :D<D>C>CC>5C86C>>Dc                  d  >#    T" 5       n U R                  S 5      I S h  vN nTR                  US5        U R                  T5      I S h  vN nTR                  US5        TR                  [        5         U R                  S 5      I S h  vN   S S S 5        g  Ny NP N! , (       d  f       g = f7f)Nr   r`  )r   rk   r   r   r2   )rd   r   r]  r+   rG   s     r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01.<locals>.run  s     Aggdm#AQ"hhuo%AQ%""#56ggdm## 76 $ & $ 76r.  )rb   r   rk   r   r   r   r\  r#   )rG   r%  r   r   r  r  r]  r+   s   `    @@@r    test_async_gen_asyncio_athrow_014AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_01  s    	I 		 VGGDMAHHUOD!}-GGDM .	"
	$ 			$$SU+q!C .-s   >C
C(c                 4  ^ ^^^^ Sm " S S[         5      mU 4S jmUUU4S jmUUUU 4S jnT R                  [        R                  5         T R                  R                  U" 5       5        S S S 5        T R                  TS5        g ! , (       d  f       N!= f)Nr   c                       \ rS rSrSrg)CAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02.<locals>.FooEri)  r   Nr   r   r   r   r]  ri  )  r   r   r]  c                    >^#    [         R                  [         R                  U 5      TR                  S9mTR                  R	                  U S-  U4S j5        TI S h  vN $  N7f)Nr  r   c                  $   > T R                  5       $ r&   rG  rH  s   r   rI  ]AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02.<locals>.sleep_n_crash.<locals>.<lambda>/  rK  r   rL  rO  s    @r   r4  KAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02.<locals>.sleep_n_crash,  rQ  rR  c                   >#     [         R                  S5      I S h  vN    S7v n W S-  7v   [         R                  S5      I S h  vN   [         R                  S5      I S h  vN   [         R                  S5      I S h  vN   Smg  Nl! T a    T" S5      I S h  vN     N}f = f N` NE N*! [         R                  S5      I S h  vN    [         R                  S5      I S h  vN    Smf = f7fr)  rt  )r   r  r]  r4  s    r   r+   AAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02.<locals>.gen2  s     mmD))).A !emmD))) mmD)))mmD))) *  .'---. * *) mmD)))mmD)))s   C2B/ B
B/ B  B/ B)	B/ C2%B+&C2B-C2
B/ B&B B&#B/ %B&&B/ +C2-C2/C/C	C/&C)'C//C2c                  &  >#    T" 5       n U R                  S 5      I S h  vN nTR                  US5         U R                  T5      I S h  vN   TR                  S5        g  NB N! [        R
                   a    TR                  TS5        e f = f7f)Nr   zCancelledError was not raised)r   rk   r   r   r   rW  )rd   r   r  r]  r+   rG   s     r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02.<locals>.runB  s     Aggdm#AQ";hhuo%%
 		9: $ &))   q)s8   BA"BA& A$A& B$A& &(BBr   )rb   r   r   rW  r\  r#   rk   )rG   r  r  r]  r+   r4  s   ` @@@@r    test_async_gen_asyncio_athrow_024AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_02&  sp    	I 			 	; 	; w556II((/ 7q! 76s   !B		
Bc                 L  ^ ^^ SmS nU" 5       nUR                  S 5        T R                  [        5         UR                  [        5        S S S 5        U4S jmUUU 4S jnT R
                  R                  U" 5       5        T R                  TS5        g ! , (       d  f       NO= f)Nr   c               3   $   #     S v   g !    g = f7fr&   r   r   r   r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_03.<locals>.fooX  r  r  c                 0   >#     S 7v   Sm g !    Sm g = f7fr  r   r  s   r   r+   AAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_03.<locals>.gend  r  r  c                     >#    T" 5       n U R                  S 5      I S h  vN   TR                  [        5         U R                  [        5      I S h  vN   S S S 5        TS-  mg  NE N! , (       d  f       N= f7fr  )r   r   r2   r   r  r  s    r   r  AAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_03.<locals>.runl  s]     A''$-""#56hhz*** 7BJD  * 76s8   A:A%A:A)A'A)A:'A))
A73A:r  )r   r   r   r   r  r\  r#   rk   r  s   `   @@r    test_async_gen_asyncio_athrow_034AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_03T  sy    	
 E	t}-GGJ .
		 			$$SU+r"- .-s   B
B#c                 \   ^ ^ S mUU 4S jnT R                   R                  U" 5       5        g )Nc                 B   #     S7v   g ! [          a    S7v    g f = f7fNr   r  r  r   r   r   r+   DAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_tuple.<locals>.genx  s"     $ 
r  c                  l  >#    T" 5       n U R                  S 5      I S h  vN nTR                  US5        U R                  [        5      I S h  vN nTR                  US5        TR	                  [
        5         U R                  S 5      I S h  vN   S S S 5        g  N} NP N! , (       d  f       g = f7fr  )r   rk   r   r   r   r2   r,  s     r   r  DAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_tuple.<locals>.run~  s     Aggdm#AQ"hh011AQ%""#56ggdm## 76	 $1 $ 76sK   B4B.B4B+B4:B#B!B#
B4B4!B##
B1-B4r  rG   r  r+   s   ` @r   #test_async_gen_asyncio_athrow_tuple7AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_tuplew  s#    		$ 			$$SU+r   c                 \   ^ ^ S mUU 4S jnT R                   R                  U" 5       5        g )Nc                 T   #     S7v   g ! [          a    [        S5      7v    g f = f7fr  )r   r   r   r   r   r+   LAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_stopiteration.<locals>.gen  s(     '$ '#A&&'s   (
 (%(%(c                    >#    T" 5       n U R                  S 5      I S h  vN nTR                  US5        U R                  [        5      I S h  vN nTR	                  U[
        5        TR                  UR                  S5        TR                  [        5         U R                  S 5      I S h  vN   S S S 5        g  N Np N! , (       d  f       g = f7fr  )	r   rk   r   r   r8  r   r6  r   r2   r,  s     r   r  LAsyncGenAsyncioTest.test_async_gen_asyncio_athrow_stopiteration.<locals>.run  s     Aggdm#AQ"hh011A!!!]3QWWa(""#56ggdm## 76 $1 $ 76sL   CB=.CB?ACC/C0C4
C?CC
CCr  r  s   ` @r   +test_async_gen_asyncio_athrow_stopiteration?AsyncGenAsyncioTest.test_async_gen_asyncio_athrow_stopiteration  s#    	'	$ 			$$SU+r   c                   ^^ SmU4S jmU4S jnU R                   R                  U" 5       5      nU R                   R                  U" 5       5      nU R                   R                  [        R	                  S5      5        UR                  5         UR                  5         U R                  [        R                  5         U R                   R                  U5        S S S 5        U R                  [        R                  5         U R                   R                  U5        S S S 5        U R                   R                  U R                   R                  5       5        U R                  TS5        g ! , (       d  f       N= f! , (       d  f       Ne= f)Nr   c                   >#     [         R                  U 5      I S h  vN   S7v   [         R                  S5      I S h  vN   TS-  mg  N, N! [         R                  S5      I S h  vN    TS-  mf = f7fr  rt  )timeout	finalizeds    r   waiterFAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_01.<locals>.waiter  sb     mmG,,,mmA&&&Q		 - 'gmmA&&&Q	sH   A6A A
	A A6A 
A6
A A6A3'A*(A33A6c                  :   >#    T" S5        S h  vN n M   N
 g 7fr  r   )_r  s    r   waitDAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_01.<locals>.wait  s     !!9 a9s   	g?r   )
r\  r  r#   r   ru  r  r   rW  shutdown_asyncgensrk   )rG   r  t1t2r  r  s       @@r   "test_async_gen_asyncio_shutdown_016AsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_01  s   			 YY""46*YY""46*		$$W]]3%78 			
		w556II((, 7w556II((, 7 			$$TYY%A%A%CDA& 7666s   >E+E<+
E9<
F
c                    ^^^ / mU4S jmS nU" 5       mUU4S jn[         R                  U" 5       5        U R                  T/ 5        g )Nc                 (   > TR                  U5        g r&   r'   r\  contextmessagess     r   exception_handlerQAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_02.<locals>.exception_handler      OOG$r   c                     #    S7v   S7v   g 7fr  r   r   r   r   ri   MAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_02.<locals>.async_iterate  r  r   c                  x   >#    [         R                  5       n U R                  T5        T  S h  vN n  g  N
 g 7fr&   r   get_running_loopset_exception_handlerr\  r*   r  r  s     r   mainDAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_02.<locals>.main  7     ++-D&&'89 a2   (:868:8:)r   r  rk   )rG   ri   r  r  r  r  s      @@@r   "test_async_gen_asyncio_shutdown_026AsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_02  s@    	%	 _	 	DF2&r   c                    ^^^ / mU4S jmS nU" 5       mUU4S jn[         R                  U" 5       5        Tu  nU R                  US   T5        U R                  US   [        5        U R                  SUS   5        g )Nc                 (   > TR                  U5        g r&   r'   r  s     r   r  [AsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_exception_01.<locals>.exception_handler  r  r   c                 @   #     S7v   S7v   SS-    g ! SS-    f = f7fNr   r   r   r   r   r   r   ri   WAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_exception_01.<locals>.async_iterate  "     !!   
 c                  x   >#    [         R                  5       n U R                  T5        T  S h  vN n  g  N
 g 7fr&   r  r  s     r   r  NAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_exception_01.<locals>.main  r  r  asyncgenr  z:an error occurred during closing of asynchronous generatormessage)r   r  rk   r8  r   r5  )rG   ri   r  r  r  r  r  s       @@@r   ,test_async_gen_asyncio_shutdown_exception_01@AsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_exception_01  sy    	%	 _	 	DF,b1gk24EFRi(	*r   c                    ^^^ / mU4S jmS mUU4S jn[         R                  U" 5       5        Tu  nU R                  US   [        5        U R	                  SUS   5        A@[        5         g )Nc                 (   > TR                  U5        g r&   r'   r  s     r   r  [AsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_exception_02.<locals>.exception_handler  r  r   c                 @   #     S7v   S7v   SS-    g ! SS-    f = f7fr  r   r   r   r   ri   WAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_exception_02.<locals>.async_iterate  r  r  c                     >#    [         R                  5       n U R                  T5        T" 5         S h  vN n  [        5         g  N
 N7fr&   )r   r  r  r   r\  r*   ri   r  s     r   r  NAsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_exception_02.<locals>.main  s>     ++-D&&'89(? aL?s%   -A	AAAA	AA	r  z1unhandled exception during asyncio.run() shutdownr  )r   r  r8  r   r5  r   )rG   r  r  ri   r  r  s      @@@r   ,test_async_gen_asyncio_shutdown_exception_02@AsyncGenAsyncioTest.test_async_gen_asyncio_shutdown_exception_02  se    	%		 	DFgk24EFIi(	*Xr   c                    ^^ S mU4S jmU4S jnU R                   R                  U" 5       5      nU R                  U[        S5       Vs/ s H  o3S-  PM	     sn5        g s  snf )Nc                x   #    [        U 5       H%  n[        R                  S5      I S h  vN   U7v   M'     g  N7fNrs  )ranger   ru  )nr*   s     r   arange@AsyncGenAsyncioTest.test_async_gen_expression_01.<locals>.arange  s-     1XmmD))) )s   ':8:c                 "   > S T" U 5       5       $ )Nc                8   #    U  S h  vN oS-  7v   M   N
 g 7fNr   r   ).0r*   s     r   	<genexpr>XAsyncGenAsyncioTest.test_async_gen_expression_01.<locals>.make_arange.<locals>.<genexpr>  s     33AE3s   
r   )r  r  s    r   make_arangeEAsyncGenAsyncioTest.test_async_gen_expression_01.<locals>.make_arange  s    333r   c                  R   >#    T" S5       V s/ s S h  vN o PM   N
 sn $ s  sn f 7fr  r   r*   r  s    r   r  =AsyncGenAsyncioTest.test_async_gen_expression_01.<locals>.run  !     %0_55A555$   '"
""'r   r   r\  r#   rk   r  )rG   r  r)   r*   r  r  s       @@r   test_async_gen_expression_010AsyncGenAsyncioTest.test_async_gen_expression_01  sR    	
	4	6 ii**351eBi8i1ui898s   A!
c                    ^^ S mU4S jmU4S jnU R                   R                  U" 5       5      nU R                  U[        SS5       Vs/ s H  o3S-  PM	     sn5        g s  snf )Nc                 L   #    [         R                  S5      I S h  vN   U $  N7fr  rt  )r  s    r   wrap>AsyncGenAsyncioTest.test_async_gen_expression_02.<locals>.wrap   s!     --%%%H &s   $"$c                 .   > U4S j[        U 5       5       $ )Nc                b   >#    U  H"  nT" U5      I S h  vN (       d  M  US-  7v   M$     g  N7fr  r   )r  r*   r  s     r   r  XAsyncGenAsyncioTest.test_async_gen_expression_02.<locals>.make_arange.<locals>.<genexpr>&  s#     =8aT!W}}EAE8}s   /-//)r  )r  r  s    r   r  EAsyncGenAsyncioTest.test_async_gen_expression_02.<locals>.make_arange$  s    =58==r   c                  R   >#    T" S5       V s/ s S h  vN o PM   N
 sn $ s  sn f 7fr  r   r  s    r   r  =AsyncGenAsyncioTest.test_async_gen_expression_02.<locals>.run(  r  r  r   r   r   r  )rG   r  r)   r*   r  r  s       @@r   test_async_gen_expression_020AsyncGenAsyncioTest.test_async_gen_expression_02  sT    		>	6 ii**351eArl;l1ul;<;s   A"
c                    ^^^ / mU4S jmS mUU4S jn[         R                  U" 5       5        U R                  / T5        [        5         g )Nc                 (   > TR                  U5        g r&   r'   r  s     r   r  ]AsyncGenAsyncioTest.test_asyncgen_nonstarted_hooks_are_cancellable.<locals>.exception_handler2  r  r   c                     #    S7v   S7v   g 7fr  r   r   r   r   ri   YAsyncGenAsyncioTest.test_asyncgen_nonstarted_hooks_are_cancellable.<locals>.async_iterate5  r  r   c                     >#    [         R                  5       n U R                  T5        T" 5         S h  vN n  g  N
 g 7fr&   r  r  s     r   r  PAsyncGenAsyncioTest.test_asyncgen_nonstarted_hooks_are_cancellable.<locals>.main9  s9     ++-D&&'89(? a?s   -?=;=?=?)r   r  rk   r   )rG   r  ri   r  r  s     @@@r   .test_asyncgen_nonstarted_hooks_are_cancellableBAsyncGenAsyncioTest.test_asyncgen_nonstarted_hooks_are_cancellable.  s<    	%		 	DFX&r   c                 \   ^ ^ S mUU 4S jnT R                   R                  U" 5       5        g )Nc                     #    S7v   S7v   g 7fr  r   r   r   r   ri   UAsyncGenAsyncioTest.test_async_gen_await_same_anext_coro_twice.<locals>.async_iterateF  r  r   c                     >#    T" 5       n U R                  5       nUI S h  vN   TR                  [        S5         UI S h  vN   S S S 5        U R                  5       I S h  vN   g  NF N'! , (       d  f       N+= f N7f)Nr   )r3   rC   r   r>  r  nxtri   rG   s     r   r  KAsyncGenAsyncioTest.test_async_gen_await_same_anext_coro_twice.<locals>.runJ  sl     B,,.CII'' K 			 ))+ 
 	  sD   A>A'A>A+A)A+A>!A<"A>)A++
A95A>r  rG   r  ri   s   ` @r   *test_async_gen_await_same_anext_coro_twice>AsyncGenAsyncioTest.test_async_gen_await_same_anext_coro_twiceE  s#    	
	 			$$SU+r   c                 \   ^ ^ S mUU 4S jnT R                   R                  U" 5       5        g )Nc                     #    S7v   S7v   g 7fr  r   r   r   r   ri   VAsyncGenAsyncioTest.test_async_gen_await_same_aclose_coro_twice.<locals>.async_iterateY  r  r   c                     >#    T" 5       n U R                  5       nUI S h  vN   TR                  [        S5         UI S h  vN   S S S 5        g  N. N! , (       d  f       g = f7f)Nr  )r>  rC   r   r  s     r   r  LAsyncGenAsyncioTest.test_async_gen_await_same_aclose_coro_twice.<locals>.run]  sZ     B))+CII'' I 			  
 	 s8   A$AA$AAA
A$A
A!A$r  r  s   ` @r   +test_async_gen_await_same_aclose_coro_twice?AsyncGenAsyncioTest.test_async_gen_await_same_aclose_coro_twiceX  s#    		 			$$SU+r   c                 J   S nU" 5       nUR                  5       nU R                  [        5         UR                  [        5        S S S 5        U R                  [        S5         UR                  [        5        S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nc                     #    S7v   S7v   g 7fr  r   r   r   r   ri   VAsyncGenAsyncioTest.test_async_gen_throw_same_aclose_coro_twice.<locals>.async_iteratej  r  r   r  )r>  r   r   r   r   rC   r   )rG   ri   r  r  s       r   +test_async_gen_throw_same_aclose_coro_twice?AsyncGenAsyncioTest.test_async_gen_throw_same_aclose_coro_twicei  s|    	 _iik}-IIm$ . ##A
 IIm$	
 
 .-
 
s   B$B
B
B"c                 P   S nU" 5       n " S S[         5      nUR                  5       nU R                  U5         UR                  U5        S S S 5        U R	                  [
        S5         UR                  U5        S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)Nc                     #    S7v   S7v   g 7fr  r   r   r   r   ri   ]AsyncGenAsyncioTest.test_async_gen_throw_custom_same_aclose_coro_twice.<locals>.async_iteratez  r  r   c                       \ rS rSrSrg)[AsyncGenAsyncioTest.test_async_gen_throw_custom_same_aclose_coro_twice.<locals>.MyExceptioni  r   Nr   r   r   r   MyExceptionr    r   r   r  r  )rb   r>  r   r   rC   r   rG   ri   r  r  r  s        r   2test_async_gen_throw_custom_same_aclose_coro_twiceFAsyncGenAsyncioTest.test_async_gen_throw_custom_same_aclose_coro_twicey  s    	 _	) 	 iik{+IIk" , ##A
 IIk"	
 
 ,+
 
s   B+B
B
B%c                 R   S nU" 5       n " S S[         5      nUR                  U5      nU R                  U5         UR                  U5        S S S 5        U R	                  [
        S5         UR                  U5        S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)Nc                     #    S7v   S7v   g 7fr  r   r   r   r   ri   ]AsyncGenAsyncioTest.test_async_gen_throw_custom_same_athrow_coro_twice.<locals>.async_iterate  r  r   c                       \ rS rSrSrg)[AsyncGenAsyncioTest.test_async_gen_throw_custom_same_athrow_coro_twice.<locals>.MyExceptioni  r   Nr   r   r   r   r  r    r   r   r  r  )rb   r   r   r   rC   r   r  s        r   2test_async_gen_throw_custom_same_athrow_coro_twiceFAsyncGenAsyncioTest.test_async_gen_throw_custom_same_athrow_coro_twice  s    	 _	) 	 ii${+IIk" , ##A
 IIk"	
 
 ,+
 
s   B,B
B
B&c                 X   ^ S mU4S jnU R                   R                  U" 5       5        g )Nc                     #    S7v   S7v   g 7fr  r   r   r   r   ri   [AsyncGenAsyncioTest.test_async_gen_aclose_twice_with_different_coros.<locals>.async_iterate  r  r   c                     >#    T" 5       n U R                  5       I S h  vN   U R                  5       I S h  vN   g  N N7fr&   r>  )r  ri   s    r   r  QAsyncGenAsyncioTest.test_async_gen_aclose_twice_with_different_coros.<locals>.run  s3     B))+))+ s   A <A >A A r  r  s     @r   0test_async_gen_aclose_twice_with_different_corosDAsyncGenAsyncioTest.test_async_gen_aclose_twice_with_different_coros  s#    		
 			$$SU+r   c                 X   ^ S mU4S jnU R                   R                  U" 5       5        g )Nc                     #    S7v   S7v   g 7fr  r   r   r   r   ri   QAsyncGenAsyncioTest.test_async_gen_aclose_after_exhaustion.<locals>.async_iterate  r  r   c                  n   >#    T" 5       n U   S h  vN nM   N
 U R                  5       I S h  vN    g 7fr&   r  )r  r  ri   s     r   r  GAsyncGenAsyncioTest.test_async_gen_aclose_after_exhaustion.<locals>.run  s0     B a2))+s$   
55515r  r  s     @r   &test_async_gen_aclose_after_exhaustion:AsyncGenAsyncioTest.test_async_gen_aclose_after_exhaustion  s#    		 			$$SU+r   c                 X   ^ S mU4S jnU R                   R                  U" 5       5        g )Nc                 &   #    [        5       7v   g 7fr&   )objectr   r   r   async_generator\AsyncGenAsyncioTest.test_async_gen_aclose_compatible_with_get_stack.<locals>.async_generator  s     (Ns   c                     >#    T" 5       n [         R                  U R                  5       5        [         R                  5       nU H  nUR	                  5         M     g 7fr&   )r   r  r>  	all_tasks	get_stack)agtasksr  r-  s      r   r  PAsyncGenAsyncioTest.test_async_gen_aclose_compatible_with_get_stack.<locals>.run  sD      "B		,%%'E  s   AAr  )rG   r  r-  s     @r   /test_async_gen_aclose_compatible_with_get_stackCAsyncGenAsyncioTest.test_async_gen_aclose_compatible_with_get_stack  s#    		! 			$$SU+r   r  N)@r   r   r   r   r_  rc  rk  ri  r  r  r  r  r  r  r  r  r  r  r  r)  r`  rl  r.   rx  r}  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r!  r/  rB  rX  re  rr  r{  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r!  r(  r5  r   r   r   r   rY  rY  o  s:   %,
?1.f.5B&&*"3<(.*...*obE 
&	>
&(-T!,F!#F,&,""(,.0(".:>"6#B##J"6("T"@ "D3"j,"\!#F,$,& 'D',*:<: =.,&,"% #(#(,,,r   rY  c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestUnawaitedWarningsi  c                 >   S n U" 5       nUR                  S 5      R                  S 5        SUR                   S3nU R	                  [
        U5         U" 5       nUR                  S 5        [        5         S S S 5        g ! [         a     N^f = f! , (       d  f       g = f)Nc                    #    S7v   g 7fr  r   r   r   r   r+   -TestUnawaitedWarnings.test_asend.<locals>.gen  r  r   r   r   )r   r   r   r   r   r   r   )rG   r+   rd   r  s       r   
test_asend TestUnawaitedWarnings.test_asend  s    	
	AGGDMt$ .c.>.>-??RS"">37AGGDML 87	  		 87s   'A> #B>
B
B
Bc                     S nSUR                    S3nU R                  [        U5         U" 5       nUR                  [        5        [        5         S S S 5        g ! , (       d  f       g = f)Nc                    #    S7v   g 7fr  r   r   r   r   r+   .TestUnawaitedWarnings.test_athrow.<locals>.gen  r  r   zcoroutine method 'athrow' of 'r   )r   r   r   r   r   r   rG   r+   r  rd   s       r   test_athrow!TestUnawaitedWarnings.test_athrow  sS    	 /s/?/?.@@ST"">37AHH\"L 877s   'A
A(c                     S nSUR                    S3nU R                  [        U5         U" 5       nUR                  5         [	        5         S S S 5        g ! , (       d  f       g = f)Nc                    #    S7v   g 7fr  r   r   r   r   r+   .TestUnawaitedWarnings.test_aclose.<locals>.gen  r  r   zcoroutine method 'aclose' of 'r   )r   r   r   r>  r   rA  s       r   test_aclose!TestUnawaitedWarnings.test_aclose  sP    	 /s/?/?.@@ST"">37AHHJL 877s   "A
A#c                     S n " S S[         5      nU" 5       nU R                  U5         UR                  5       R                  U5        S S S 5        A[	        5         g ! , (       d  f       N= f)Nc                    #    g 7fr&   r   r   r   r   r+   4TestUnawaitedWarnings.test_aclose_throw.<locals>.gen  s     r  c                       \ rS rSrSrg)<TestUnawaitedWarnings.test_aclose_throw.<locals>.MyExceptioni  r   Nr   r   r   r   r  rM    r   r   r  )rb   r   r>  r   r   )rG   r+   r  rd   s       r   test_aclose_throw'TestUnawaitedWarnings.test_aclose_throw  sV    		) 	 E{+HHJ[) , 	 ,+s    A
A-c                 J  ^ [         R                  S 5       mU4S jnU" 5       nUR                  S 5      nUR                  S 5        UR                  S 5      nU R	                  [
        S5         UR                  S 5        S S S 5        A[        5         g ! , (       d  f       N= f)Nc              3      #    U v $ 7fr&   r   r   s    r   r   KTestUnawaitedWarnings.test_asend_send_already_running.<locals>._async_yield  r   r   c                 6   >#     T " S5      I S h  vN   M   N7fr  r   rJ  s   r   r   ETestUnawaitedWarnings.test_asend_send_already_running.<locals>.agenfn       "1o%% %   r   )r   r  r   r   rC   r   r   rG   r   r  r+   r  r   s        @r   test_asend_send_already_running5TestUnawaitedWarnings.test_asend_send_already_running  s    		 
		 xjjzz$##LGIIIdOI I Is   .B
B"c                 R  ^ [         R                  S 5       mU4S jnU" 5       nUR                  S 5      nUR                  S 5        UR	                  [
        5      nU R                  [        S5         UR                  S 5        S S S 5        A[        5         g ! , (       d  f       N= f)Nc              3      #    U v $ 7fr&   r   r   s    r   r   LTestUnawaitedWarnings.test_athrow_send_already_running.<locals>._async_yield  r   r   c                 6   >#     T " S5      I S h  vN   M   N7fr  r   rJ  s   r   r   FTestUnawaitedWarnings.test_athrow_send_already_running.<locals>.agenfn  rU  rV  r  )	r   r  r   r   r   rb   rC   r   r   rW  s        @r    test_athrow_send_already_running6TestUnawaitedWarnings.test_athrow_send_already_running  s    		 
		 xjj{{9%##LHJIIdOJ J Js   2B
B&r   N)r   r   r   r   r<  rB  rG  rN  rX  r_  r   r   r   r   r8  r8    s     $0r   r8  __main__)r@  r   unittestr{  test.support.import_helperr   test.supportr   r   r   r,  r;   rb   r	   r  r   r#   r.   r<   TestCaser>   r\   rY  r8  r   r  r   r   r   <module>rf     s        4 <
	
" t $h	Y 	    )  + >.** .bf8$$ fRY,(++ Y,x*cH-- cJ zMMO r   