
    /hh]                     ~   S SK r S SKJrJrJrJrJrJr  S SKJ	r	  S SK
r
S SKrS SKJr  \	R                  " SS9  S r " S S	\
R                   5      r " S
 S\
R                   5      r " S S\
R                   5      r " S S\\
R                   5      r " S S\
R                   5      r\S:X  a  \
R.                  " 5         gg)    N)asynccontextmanagerAbstractAsyncContextManagerAsyncExitStacknullcontextaclosingcontextmanager)support)TestBaseExitStackT)modulec                  0    [         R                  " S 5        g N)asyncioset_event_loop_policy     C/opt/python-3.13.8/usr/lib/python3.13/test/test_contextlib_async.pytearDownModuler      s    !!$'r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestAbstractAsyncContextManager   c                    #     " S S[         5      nU" 5       nU R                  UR                  5       I S h  vN U5        U IS h  vN nU R                  X#5        S S S 5      IS h  vN   g  N6 N( N	! , IS h  vN  (       d  f       g = f7f)Nc                   (   ^  \ rS rSrU 4S jrSrU =r$ )@TestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnter   c                 <   >#    [         TU ]  " U6 I S h  vN   g  N7fr   super	__aexit__selfargs	__class__s     r   r   JTestAbstractAsyncContextManager.test_enter.<locals>.DefaultEnter.__aexit__        g'...   r   __name__
__module____qualname____firstlineno__r   __static_attributes____classcell__r"   s   @r   DefaultEnterr          / /r   r.   )r   assertIs
__aenter__)r    r.   managercontexts       r   
test_enter*TestAbstractAsyncContextManager.test_enter   s_     	/6 	/ .G..00':7gMM'+ 77 1777sW   5BA.BA0BA4B(A2)B0B2B4B:A=;BBc                    #     " S S[         5      nU R                  [        5         U" 5       nSUl        S S S 5        g ! , (       d  f       g = f7f)Nc                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )NTestAbstractAsyncContextManager.test_slots.<locals>.DefaultAsyncContextManager   r   c                 <   >#    [         TU ]  " U6 I S h  vN   g  N7fr   r   r   s     r   r   XTestAbstractAsyncContextManager.test_slots.<locals>.DefaultAsyncContextManager.__aexit__"   r$   r%   )r'   r(   r)   r*   	__slots__r   r+   r,   r-   s   @r   DefaultAsyncContextManagerr8      s    I/ /r   r=   *   )r   assertRaisesAttributeErrorvar)r    r=   r2   s      r   
test_slots*TestAbstractAsyncContextManager.test_slots   s<     	/)D 	/ ~.02GGK /..s   %A?	A
A	Ac                    ^#    [         S 5       mU4S jnU" 5       nU  S h  vN nU R                  US5          UR                  5       I S h  vN   g  N0
 N N	7f)Nc                    #    S 7v   g 7fr   r   r   r   r   ctxUTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit.<locals>.ctx,           	c                    >#    T " 5        IS h  vN   S7v   S S S 5      IS h  vN   g  N N! , IS h  vN  (       d  f       g = f7f)N   r   )rF   s   r   genUTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit.<locals>.gen0   s!     uu uuuuus9   A*A.A,AAA7AArK   )r   assertEqualaclose)r    rL   gvalrF   s       @r   (test_async_gen_propagates_generator_exitHTestAbstractAsyncContextManager.test_async_gen_propagates_generator_exit)   s`      
	 
		 E 	#S"%hhj	 	s7   AAAA'AAAAAAc                      " S S[         5      nU R                  [        5         U" 5         S S S 5        g ! , (       d  f       g = f)Nc                       \ rS rSrSrg)KTestAbstractAsyncContextManager.test_exit_is_abstract.<locals>.MissingAexit;   r   Nr'   r(   r)   r*   r+   r   r   r   MissingAexitrV   ;       r   rY   )r   r?   	TypeError)r    rY   s     r   test_exit_is_abstract5TestAbstractAsyncContextManager.test_exit_is_abstract:   s0    	6 	 y)N *))s	   6
Ac                 Z    " S S5      nU R                  [        U[        5      5         " S S[        5      nU R                  [        U[        5      5         " S SU5      nU R                  [        U[        5      5         " S SU5      nU R                  [        U[        5      5        g )	Nc                        \ rS rSrS rS rSrg)WTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratchB   c                    #    U $ 7fr   r   r    s    r   r1   bTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__aenter__C   s
        c                    #    g 7fr   r   )r    exc_type	exc_value	tracebacks       r   r   aTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__aexit__E   s        r   Nr'   r(   r)   r*   r1   r   r+   r   r   r   ManagerFromScratchr`   B   s    r   rm   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )QTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.DefaultEnterJ   c                 <   >#    [         TU ]  " U6 I S h  vN   g  N7fr   r   r   s     r   r   [TestAbstractAsyncContextManager.test_structural_subclassing.<locals>.DefaultEnter.__aexit__K   r$   r%   r   r&   r-   s   @r   r.   ro   J   r/   r   r.   c                       \ rS rSrSrSrg)OTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.NoneAenterP   Nr   r'   r(   r)   r*   r1   r+   r   r   r   
NoneAenterrt   P   s    Jr   rw   c                       \ rS rSrSrSrg)NTestAbstractAsyncContextManager.test_structural_subclassing.<locals>.NoneAexitU   Nr   r'   r(   r)   r*   r   r+   r   r   r   	NoneAexitry   U   s    Ir   r|   )
assertTrue
issubclassr   assertFalse)r    rm   r.   rw   r|   s        r   test_structural_subclassing;TestAbstractAsyncContextManager.test_structural_subclassingA   s    	 	 	
#57RST	/6 	/ 	
<1LMN	+ 	 	J0KLM	* 	 	I/JKLr   r   N)
r'   r(   r)   r*   r4   rB   rR   r\   r   r+   r   r   r   r   r      s    	,	"M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\R$                  S 5       r\R$                  S 5       rS rS rS rS rS rSrg)AsyncContextManagerTestCase[   c                 @  ^#    / m[         U4S j5       nU" 5        IS h  vN nU R                  TS/5        U R                  US5        TR                  U5        S S S 5      IS h  vN   U R                  T/ SQ5        g  N_ N! , IS h  vN  (       d  f       N0= f7f)Nc                 \   >#    T R                  S5        S7v   T R                  S5        g 7fN   r>     appendstates   r   woohooEAsyncContextManagerTestCase.test_contextmanager_plain.<locals>.woohoo_   s"     LLOHLLs   ),r   r>   r   r>   r   )r   rN   r   r    r   xr   s      @r   test_contextmanager_plain5AsyncContextManagerTestCase.test_contextmanager_plain]   sy     		 
	 88qUQC(Q#LLO 8 	-	 888sD   BB B7BB&B'BBB
BBBc                   ^#    / m[         U4S j5       nU R                  [        5         U" 5        IS h  vN nU R                  TS/5        U R                  US5        TR	                  U5        [        5       e ND! , IS h  vN  (       d  f       O= f S S S 5        O! , (       d  f       O= fU R                  T/ SQ5        g 7f)Nc                    >#    T R                  S5         S7v   T R                  S5        g ! T R                  S5        f = f7fr   r   r   s   r   r   GAsyncContextManagerTestCase.test_contextmanager_finally.<locals>.woohool   s3     LLO"S!S!s   A- AA  Ar   r>   r   )r   r?   ZeroDivisionErrorrN   r   r   s      @r   test_contextmanager_finally7AsyncContextManagerTestCase.test_contextmanager_finallyj   s     		" 
	" 01xx1  ,  B'Q'))	  xxxx 211 	-sJ   'CB!A;B!AA=;B!=B	BB	B!	C!
B/+Cc           	      >  #    [         S 5       n U" 5        IS h  vN   SS-    S S S 5      IS h  vN   U R                  [        W5      S5        U R                  US   R                  S5        U R                  US   R                  S5         " S S[        5      n U" 5        IS h  vN   U" S5      e N N! , IS h  vN  (       d  f       N= f! [         a*  n[        R                  " UR                  5      n S nANS nAff = f Na! , IS h  vN  (       d  f       O6= f! U a*  n[        R                  " UR                  5      n S nAOS nAff = fU R                  [        U5      S5        U R                  US   R                  S5        U R                  US   R                  S	5         " S
 S[        5      n " S S[        5      n[        S5      [        S5      U" S5      U" S5      4 GH"  nU R                  [        U5      S9    U" 5        IS h  vN    Ue! , IS h  vN  (       d  f       O= f U R                  U S35        OM! [        U5       a;  nU R                  X'5        [        R                  " UR                  5      n S nAOS nAff = fU R                  [        U5      S5        U R                  US   R                  S5        U R                  US   R                  S5        S S S 5        GM  ! , (       d  f       GM"  = f   g 7f)Nc                    #    S 7v   g 7fr   r   r   r   r   fDAsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.f|   rH   rI   r   r   test_contextmanager_tracebackz1/0c                       \ rS rSrSrg)WAsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.RuntimeErrorSubclass   r   NrX   r   r   r   RuntimeErrorSubclassr      rZ   r   r   r>   zraise RuntimeErrorSubclass(42)c                       \ rS rSrSrg)XAsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.StopIterationSubclass   r   NrX   r   r   r   StopIterationSubclassr      rZ   r   r   c                       \ rS rSrSrg)]AsyncContextManagerTestCase.test_contextmanager_traceback.<locals>.StopAsyncIterationSubclass   r   NrX   r   r   r   StopAsyncIterationSubclassr      rZ   r   r   spamhamtype was suppressedzraise stop_exc)r   r   ri   
extract_tb__traceback__rN   lennamelineRuntimeErrorStopIterationStopAsyncIterationsubTestr   failr0   )r    r   eframesr   r   r   stop_excs           r   r   9AsyncContextManagerTestCase.test_contextmanager_traceback{   s]    		 
		;ss! s
 	Va()HI/	< 		;ss*2.. sss  	;))!//:F	; sss# 	;))!//:F	; 	Va()HI)IJ	M 		); 	 &!u%!&)&v.	
H 4>2< ss&  #sss II
/:;	 H~ CMM!.&11!//BFC   Va0  1PQ  1AB 3222
sJ  LC B6C B:C B8C A(LD' )D*D' -	D6C 8C :C CCC LC 
D D>LDLD' D$DD$ D' #L$D' 'E- ELEB:LLIH!
I#H&&H=,H/-H=9ILJ %1JLJ  AL<L
L	Lc                    #    [         S 5       nU" 5       nUR                  5       I S h  vN   U R                  UR                  [        [	        S5      S 5      I S h  vN 5        g  N< N7f)Nc                    #    S 7v   g 7fr   r   r   r   r   wheeHAsyncContextManagerTestCase.test_contextmanager_no_reraise.<locals>.whee   rH   rI   foo)r   r1   r   r   r[   )r    r   rF   s      r   test_contextmanager_no_reraise:AsyncContextManagerTestCase.test_contextmanager_no_reraise   sY     		 
	fnns}}Y	%8H$OOP 	Os!   'A*A&2A*A(
A*(A*c                   #    [         S 5       nU" 5       nUR                  5       I S h  vN   U R                  [        5         UR	                  [
        [        S5      S 5      I S h  vN   S S S 5        [        R                  " SS9(       a&  U R                  UR                  R                  5        g g  N NN! , (       d  f       NR= f7f)Nc                 0   #     S 7v   g !   S 7v    g = f7fr   r   r   r   r   whooTAsyncContextManagerTestCase.test_contextmanager_trap_yield_after_throw.<locals>.whoo   s     s   
 r   Tcpython)r   r1   r?   r   r   r[   r	   check_impl_detailr   rL   ag_suspendedr    r   rF   s      r   *test_contextmanager_trap_yield_after_throwFAsyncContextManagerTestCase.test_contextmanager_trap_yield_after_throw   s     		 
	
 fnn|,--	9U+;TBBB -$$T2SWW112 3 	B -,s:   'C	B4C	$B8'B6(B8,A	C	6B88
CC	c                    #    [         S 5       nU" 5       nU R                  [        5         UR                  5       I S h  vN   S S S 5        g  N! , (       d  f       g = f7f)Nc                    #    g 7fr   r   r   r   r   r   KAsyncContextManagerTestCase.test_contextmanager_trap_no_yield.<locals>.whoo   s     rk   )r   r?   r   r1   r   s      r   !test_contextmanager_trap_no_yield=AsyncContextManagerTestCase.test_contextmanager_trap_no_yield   sQ     		 
	 f|,..""" -," -,s-   )A AA A	A A
AA c                 |  #    [         S 5       nU" 5       nUR                  5       I S h  vN   U R                  [        5         UR	                  S S S 5      I S h  vN   S S S 5        [
        R                  " SS9(       a&  U R                  UR                  R                  5        g g  N} NN! , (       d  f       NR= f7f)Nc                     #    S 7v   S 7v   g 7fr   r   r   r   r   r   OAsyncContextManagerTestCase.test_contextmanager_trap_second_yield.<locals>.whoo   s     s   Tr   )
r   r1   r?   r   r   r	   r   r   rL   r   r   s      r   %test_contextmanager_trap_second_yieldAAsyncContextManagerTestCase.test_contextmanager_trap_second_yield   s     		 
	 fnn|,--dD111 -$$T2SWW112 3 	1 -,s:   'B<B'B<B+B)B+A	B<)B++
B95B<c                   #    [         S 5       nU" 5       nUR                  5       I S h  vN   U R                  [        5         UR	                  [
        S S 5      I S h  vN   S S S 5        g  NB N! , (       d  f       g = f7f)Nc                 @   #     S 7v   g ! [          a    [        ef = f7fr   )r   SyntaxErrorr   r   r   r   LAsyncContextManagerTestCase.test_contextmanager_non_normalised.<locals>.whoo   s!     " "!!"s   
 )r   r1   r?   r   r   r   r   s      r   "test_contextmanager_non_normalised>AsyncContextManagerTestCase.test_contextmanager_non_normalised   sl     		" 
	" fnn{+--dD999 ,+ 	9 ,+s9   'BA,BA0A.A0#
B.A00
A>:Bc                 6  ^ ^#    / m[         U U4S j5       nU" 5        IS h  vN nT R                  TS/5        T R                  US5        TR                  U5        [        S5      e NE! , IS h  vN  (       d  f       O= fT R                  T/ SQ5        g 7f)Nc                    >#    TR                  S5         S7v   g ! [         a<  n TR                  U R                  S   5        TR                  T/ SQ5         S n A g S n A ff = f7f)Nr   r>   r   r   )r   r   r!   rN   )r   r    r   s    r   r   FAsyncContextManagerTestCase.test_contextmanager_except.<locals>.woohoo   sQ     LLO6$ 6QVVAY'  556s*   A% A%
A"2AA%A""A%r   r>   r   r   )r   rN   r   r   r   s   `  @r   test_contextmanager_except6AsyncContextManagerTestCase.test_contextmanager_except   s~     		6 
	6 88qUQC(Q#LLO#C((	 888
 	-s3   BA(BAA*(B*B0A31B=Bc           	        #    [         S 5       n " S S[        5      n " S S[        5      n[        S5      [        S5      U" S5      U" S5      4 H-  nU R                  [	        U5      S9    U" 5        IS h  vN   Ue   g  N	! , IS h  vN  (       d  f       O= f U R                  U S	35        O(! [         a  nU R                  XT5         S nAOS nAff = fS S S 5        M  ! , (       d  f       M  = f7f)
Nc                    #    S 7v   g 7fr   r   r   r   r   r   OAsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.woohoo   rH   rI   c                       \ rS rSrSrg)^AsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.StopIterationSubclassi  r   NrX   r   r   r   r   r     rZ   r   r   c                       \ rS rSrSrg)cAsyncContextManagerTestCase.test_contextmanager_except_stopiter.<locals>.StopAsyncIterationSubclassi  r   NrX   r   r   r   r   r     rZ   r   r   r   r   r   r   )r   r   r   r   r   r   	Exceptionr0   )r    r   r   r   r   exs         r   #test_contextmanager_except_stopiter?AsyncContextManagerTestCase.test_contextmanager_except_stopiter   s     		 
		M 		); 	 &!u%!&)&v.	
H 4>2<%xx&
  (xxxx
 II
/:; ! 0MM"//0	 3222s~   A*C9,C'.B59B
:B5=B C9B5BBBB5 C'5
C?CC'CC'
C9'
C6	1C9c                   #    [         S 5       nU R                  [        5         U" 5        IS h  vN   SS-    S S S 5      IS h  vN   S S S 5        U R                  [        5         U" 5        IS h  vN   [        e NM N:! , IS h  vN  (       d  f       NO= f! , (       d  f       NX= f N9! , IS h  vN  (       d  f       O= f S S S 5        g ! , (       d  f       g = f7f)Nc                 Z   #     S 7v   g ! [          a  n [        SU  35      U eS n A ff = f7f)Nzcaught )r   r   excs    r   r   QAsyncContextManagerTestCase.test_contextmanager_wrap_runtimeerror.<locals>.woohoo  s/     = ="WSE?3<=s   +
 +
(#(+r   r   )r   r?   r   r   )r    r   s     r   %test_contextmanager_wrap_runtimeerrorAAsyncContextManagerTestCase.test_contextmanager_wrap_runtimeerror  s     		= 
	= |,xxA  x - 12xx((  xxx -,  xxxx 322s   "C$BA>BBBB B
C$'C3B-4C7B/>B BB	B	B	B
B*&C$-C/C	5B86C	C
	C$
C!C$c                 6    S n[         U" SS9S 5       5       nU$ )Nc                     ^  U 4S jnU$ )Nc                 R   > TR                  5        H  u  p[        XU5        M     U $ r   )itemssetattr)funckvkws      r   decorate]AsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs.<locals>.decorate-  s$    88:CAD1% &r   r   )r   r  s   ` r   attribsKAsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.attribs,  s     Or   bar)r   c                   #    S 7v   g 7fr   r   )r   s    r   bazGAsyncContextManagerTestCase._create_contextmanager_attribs.<locals>.baz2  s
      rI   )r   )r    r  r  s      r   _create_contextmanager_attribs:AsyncContextManagerTestCase._create_contextmanager_attribs+  s/    	 
	U		 
 
	 
r   c                     U R                  5       nU R                  UR                  S5        U R                  UR                  S5        g )Nr  r  )r	  rN   r'   r   r    r  s     r   test_contextmanager_attribs7AsyncContextManagerTestCase.test_contextmanager_attribs9  s8    113e,%(r   c                 \    U R                  5       nU R                  UR                  S5        g NzWhee!r	  rN   __doc__r  s     r   test_contextmanager_doc_attrib:AsyncContextManagerTestCase.test_contextmanager_doc_attrib>  s$    113g.r   c                    #    U R                  5       " S 5      nU R                  UR                  S5        U IS h  vN    S S S 5      IS h  vN   g  N N! , IS h  vN  (       d  f       g = f7fr  r  r  s     r   *test_instance_docstring_given_cm_docstringFAsyncContextManagerTestCase.test_instance_docstring_given_cm_docstringC  sC     113D9g.3 33333sD   9A0AA0AA0AA0A0A-AA-)A0c                    #    [         S 5       nU" SSSSS9 IS h  vN nU R                  US5        S S S 5      IS h  vN   g  N' N! , IS h  vN  (       d  f       g = f7f)Nc                   #    XX#47v   g 7fr   r   r    r   r!   kwdss       r   r   9AsyncContextManagerTestCase.test_keywords.<locals>.woohooL  s     t**s   	rK      !   ,   r  )rK   r  r  r  r   rN   )r    r   targets      r   test_keywords)AsyncContextManagerTestCase.test_keywordsJ  sO     		+ 
	+r"==V%56 >=====sA   A"AA"AA"AA"A"AAAA"c                    ^ ^^^#    SmSm[         UUU 4S j5       nU" 5       UU4S j5       mT" 5       I S h  vN   T R                  TS5        T R                  TS5        g  N)7f)Nr   c                 ^   >#    TS-  mTn TS-  mS 7v   TS-  mTR                  TU 5        g 7fNr   )rN   )beforedepthncolsr    s    r   r   :AsyncContextManagerTestCase.test_recursive.<locals>.woohooV  s=      QJE FQJEQJEUF+s   *-c                  >   >#    T S:  a  T" 5       I S h  vN   g g  N7f)N
   r   )r(  	recursives   r   r-  =AsyncContextManagerTestCase.test_recursive.<locals>.recursiveb  s      rzk!! !s   r,  r   )r    r   r(  r)  r-  s   ` @@@r   test_recursive*AsyncContextManagerTestCase.test_recursiveR  sj     			, 
		, 
	" 
	" k#" 	s   1A#A!*A#c                    ^ ^#    Sm[         U4S j5       nU" 5       UU 4S j5       nT R                  T5        U" 5       I S h  vN   T R                  T5        g  N7f)NFc                     >#    Sm S 7v   Sm g 7fNTFr   entereds   r   r3   ;AsyncContextManagerTestCase.test_decorator.<locals>.contexto  s      GGs   c                  0   >#    TR                  T 5        g 7fr   )r}   r5  r    s   r   test8AsyncContextManagerTestCase.test_decorator.<locals>.testv  s     OOG$   )r   r   r    r3   r9  r5  s   `  @r   test_decorator*AsyncContextManagerTestCase.test_decoratorl  s_     		 
	 
	% 
	% 	!f! 	s   >AAAc                   ^ ^#    Sm[         U4S j5       nU" 5       UU 4S j5       nT R                  T5        T R                  [        S5         U" 5       I S h  vN   S S S 5        T R                  T5        g  N! , (       d  f       N"= f7f)NFc                 0   >#     Sm S 7v   Sm g ! Sm f = f7fr3  r   r4  s   r   r3   JAsyncContextManagerTestCase.test_decorator_with_exception.<locals>.context  s      %s    c                  D   >#    TR                  T 5        [        S5      e7f)Nr   )r}   	NameErrorr8  s   r   r9  GAsyncContextManagerTestCase.test_decorator_with_exception.<locals>.test  s     OOG$E""s    r   )r   r   assertRaisesRegexrC  r<  s   `  @r   test_decorator_with_exception9AsyncContextManagerTestCase.test_decorator_with_exception~  s|     		  
	  
	# 
	# 	!##Iu5&LL 6!  65s0   A
BA:A8A:B8A::
BBc                   ^#    [         S 5       m " U4S jS[        5      nU" 5       nUR                  SS5      I S h  vN   U R                  UR                  S5        U R                  UR
                  S5        U R                  UR                  S 5        U" 5       nUR                  SSS5      I S h  vN   U R                  UR                  S5        U R                  UR
                  S5        U R                  UR                  S5        U" 5       nUR                  SSS	9I S h  vN   U R                  UR                  S5        U R                  UR
                  S5        g  GN' N NB7f)
Nc                    #    S 7v   g 7fr   r   r   r   r   r3   CAsyncContextManagerTestCase.test_decorating_method.<locals>.context  rH   rI   c                   6   > \ rS rSr Y " 5       SS j5       rSrg)@AsyncContextManagerTestCase.test_decorating_method.<locals>.Testi  Nc                 0   #    Xl         X l        X0l        g 7fr   abc)r    rO  rP  rQ  s       r   methodGAsyncContextManagerTestCase.test_decorating_method.<locals>.Test.method  s     s   rN  r   )r'   r(   r)   r*   rR  r+   )r3   s   r   TestrL    s    Y r   rT  r      rO  rP  rQ  )rO  rP  )r   objectrR  rN   rO  rP  rQ  )r    rT  r9  r3   s      @r   test_decorating_method2AsyncContextManagerTestCase.test_decorating_method  s*    		 
		6 	 vkk!Q##&vkk#sC(((%%%vkkAk##### 	  	) 	$s5   ;E,E%A5E,4E(5A2E,'E*(>E,(E,*E,r   N)r'   r(   r)   r*   r   r   r   r   r   r   r   r   r   r   r   r	  r  r	   requires_docstringsr  r  r"  r/  r=  rF  rW  r+   r   r   r   r   r   [   s    .."5CnQ3#3:."<4)&)
   / !/    !7#4"$",$r   r   c                   J    \ rS rSr\R
                  S 5       rS rS rS r	Sr
g)AclosingTestCasei  c                 r    [         R                  n[        S 5      nU R                  UR                  U5        g r   )r   r  rN   )r    cm_docstringobjs      r   test_instance_docs#AclosingTestCase.test_instance_docs  s*    ''tnl3r   c                 *  ^#    / m " U4S jS5      nU" 5       nU R                  T/ 5        [        U5       IS h  vN nU R                  X#5        S S S 5      IS h  vN   U R                  TS/5        g  N9 N! , IS h  vN  (       d  f       N/= f7f)Nc                   "   > \ rS rSrU 4S jrSrg))AclosingTestCase.test_aclosing.<locals>.Ci  c                 0   >#    TR                  S5        g 7fr&  r   r    r   s    r   rO   0AclosingTestCase.test_aclosing.<locals>.C.aclose       Qr;  r   Nr'   r(   r)   r*   rO   r+   r   s   r   Crc           r   ri  r   )rN   r   r    ri  r   yr   s       @r   test_aclosingAclosingTestCase.test_aclosing  sk     	  	  C#A;;!Q" ;$ ;;;sD   8BA5BA9BA7B7B9B?B BBc                   ^#    / m " U4S jS5      nU" 5       nU R                  T/ 5        U R                  [        5         [        U5       IS h  vN nU R                  X#5        SS-    S S S 5      IS h  vN   S S S 5        U R                  TS/5        g  NF N"! , IS h  vN  (       d  f       N7= f! , (       d  f       N@= f7f)Nc                   "   > \ rS rSrU 4S jrSrg)/AclosingTestCase.test_aclosing_error.<locals>.Ci  c                 0   >#    TR                  S5        g 7fr&  r   re  s    r   rO   6AclosingTestCase.test_aclosing_error.<locals>.C.aclose  rg  r;  r   Nrh  r   s   r   ri  rq    rj  r   ri  r   r   )rN   r?   r   r   rk  s       @r   test_aclosing_error$AclosingTestCase.test_aclosing_error  s     	  	  C#01{{a  &A #{ 2 	$ #{{{ 21se   >CB6BB6B,B67B8B6<CB6B6B3	"B%#B3	/B66
C Cc                   ^^#    / m[         U4S j5       mU4S jnU" 5       nU R                  T/ 5        U R                  [        5         [	        U5       IS h  vN nU R                  X#5        U R                  SUR                  5       I S h  vN 5        SS-    S S S 5      IS h  vN   S S S 5        U R                  TS/5        g  Nn N; N$! , IS h  vN  (       d  f       N9= f! , (       d  f       NB= f7f)Nc               3   f   >#     S v   T R                  S5        g ! T R                  S5        f = f7fr&  r   r   s   r   sync_resource>AclosingTestCase.test_aclosing_bpo41229.<locals>.sync_resource  s$      QQs   1 1.1c                 d   >#    T " 5          S7v   S7v   S S S 5        g ! , (       d  f       g = f7f)Nr   )rx  s   r   agenfunc9AclosingTestCase.test_aclosing_bpo41229.<locals>.agenfunc  s      !s   0	0
-0r{  r   r   )r   rN   r?   r   r   	__anext__)r    r}  r   rl  r   rx  s       @@r   test_aclosing_bpo41229'AclosingTestCase.test_aclosing_bpo41229  s     		  
	 	
 J#01{{a  &  1;;=%89A #{ 2
 	$	 #%8 #{{{ 21sx   AC:
C)C	C)1CCCC)(C)C)-C:	C)CC)C&	CC&	"C))
C73C:r   N)r'   r(   r)   r*   r	   rY  r_  rm  rt  r  r+   r   r   r   r[  r[    s)      4 !4
	%%%r   r[  c                   `    \ rS rSr " S S\5      r\r/ SQrS rS r	S r
S rS	 rS
 rS rSrg)TestAsyncExitStacki  c                   6    \ rS rSr\S 5       rS rS rS rSr	g)%TestAsyncExitStack.SyncAsyncExitStacki  c                 <  ^ [         R                  " 5       R                  5       mTR                  U 5      nUR	                  U4S j5        TR                  5         UR                  5       nU(       d  UR                  5       $ UR                  n Ue!   X2l        Ue= f)Nc                 $   > TR                  5       $ r   )stop)r   loops    r   <lambda>ETestAsyncExitStack.SyncAsyncExitStack.run_coroutine.<locals>.<lambda>  s    $))+r   )	r   get_event_loop_policyget_event_loopcreate_taskadd_done_callbackrun_forever	exceptionresult__context__)corotr   r3   r  s       @r   run_coroutine3TestAsyncExitStack.SyncAsyncExitStack.run_coroutine  s    002AACD  &A 56++-Cxxz!//I&-OIs   B 
Bc                 @    U R                  U R                  5       5      $ r   )r  rO   rc   s    r   close+TestAsyncExitStack.SyncAsyncExitStack.close  s    %%dkkm44r   c                 @    U R                  U R                  5       5      $ r   )r  r1   rc   s    r   	__enter__/TestAsyncExitStack.SyncAsyncExitStack.__enter__  s    %%doo&788r   c                 >    U R                  U R                  " U6 5      $ r   )r  r   r    exc_detailss     r   __exit__.TestAsyncExitStack.SyncAsyncExitStack.__exit__
  s    %%dnnk&BCCr   r   N)
r'   r(   r)   r*   staticmethodr  r  r  r  r+   r   r   r   SyncAsyncExitStackr    s$    		 
	$	5	9	Dr   r  ))r  z7return self.run_coroutine(self.__aexit__(*exc_details))r  	raise excr  )r   r  )r   zcb_suppress = cb(*exc_details)c           
      v  ^#    S0 4S0 4S0 4S[        SS94S[        SS94S[        SS94/n/ mU4S jn[        5        IS h  vN n[        U5       H  u  pEU(       a  U(       a  UR                  " U/UQ70 UD6nOGU(       a  UR                  " U/UQ76 nO,U(       a  UR                  " U40 UD6nOUR                  U5      nU R	                  Xb5        M     UR
                   Ht  nU R	                  US   R                  U5        U R                  US   R                  UR                  5        U R                  US   R                  UR                  5        Mv     S S S 5      IS h  vN   U R                  TU5        / m[        5        IS h  vN nU R                  [        5         UR                  SS9  S S S 5        U R                  [        5         U R                  R                  SS9  S S S 5        U R                  [        5         UR                  US	S
9  S S S 5        S S S 5      IS h  vN   U R                  T/ 5        g  GN N! , IS h  vN  (       d  f       N= f N! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nt= f Nk! , IS h  vN  (       d  f       N= f7f)Nr   )r   )r   rU  r   )examplec                  2   >#    TR                  X45        g 7fr   r   )r!   r  r  s     r   _exit5TestAsyncExitStack.test_async_callback.<locals>._exit   s     MM4,'   )argrU     )callbackr  )dictr   reversedpush_async_callbackr0   _exit_callbacks__wrapped__assertNotEqualr'   assertIsNoner  rN   r?   r[   
exit_stack)	r    expectedr  stackr!   r  r   wrapperr  s	           @r   test_async_callback&TestAsyncExitStack.test_async_callback  s.    H2JBKa!4?#DO$
 	( "##u&x0
D11%G$G$GA11%?$?A11%@4@A11%8Aa' 1 !00gaj44e<##GAJ$7$7H!!'!*"4"4emmD 1 $#  	*!##u""9-))a)0 .""9-333: .""9-))5a)@ . $# 	$5 $###& $------ $###s   A J9I	J9DIJ9(I)&J9I(J9J)I*9JI;0JJJ&J91J2J9J9I%II%!J9*
I8	4J;
J		J
J	JJ9J6%J(&J62J9c                   ^ ^#    [         mUU 4S jnS nU 4S jn " S S[        5      nT R                  5        IS h  vN nUR                  U5        T R	                  UR
                  S   S   U5        U" U5      nUR                  U5        T R	                  UR
                  S   S   R                  U5        UR                  U5        T R	                  UR
                  S   S   U5        U" U5      nUR                  U5        T R	                  UR
                  S   S   R                  U5        UR                  U5        T R	                  UR
                  S   S   U5        UR                  U5        T R	                  UR
                  S   S   U5        SS-    S S S 5      IS h  vN   g  GNq N! , IS h  vN  (       d  f       g = f7f)	Nc                 2   >#    TR                  U T5        g 7fr   )r0   )rg   r   exc_tb
exc_raisedr    s      r   _expect_exc7TestAsyncExitStack.test_async_push.<locals>._expect_excB  s     MM(J/r  c                     #    g7fNTr   )r  s    r   _suppress_exc9TestAsyncExitStack.test_async_push.<locals>._suppress_excD  s     rk   c                 t   >#    TR                  U 5        TR                  U5        TR                  U5        g 7fr   )r  )rg   r   r  r    s      r   
_expect_ok6TestAsyncExitStack.test_async_push.<locals>._expect_okF  s0     h'c"f%s   58c                   &    \ rS rSrS rS rS rSrg)2TestAsyncExitStack.test_async_push.<locals>.ExitCMiJ  c                     Xl         g r   	check_exc)r    r  s     r   __init__;TestAsyncExitStack.test_async_push.<locals>.ExitCM.__init__K  s    !*r   c                 .   #    U R                  S5        g 7f)NzShould not be called!)r   rc   s    r   r1   =TestAsyncExitStack.test_async_push.<locals>.ExitCM.__aenter__M  s     		12s   c                 >   #    U R                   " U6 I S h  vN   g  N7fr   r  r  s     r   r   <TestAsyncExitStack.test_async_push.<locals>.ExitCM.__aexit__O  s     nnk222s   r  N)r'   r(   r)   r*   r  r1   r   r+   r   r   r   ExitCMr  J  s    +33r   r  r{  r   r   )r   rV  r  push_async_exitr0   r  __self__)r    r  r  r  r  r  cmr  s   `      @r   test_async_push"TestAsyncExitStack.test_async_push@  sz    &
	0		&	3V 	3 ??$$!!*-MM%//3A6
C
#B!!"%MM%//3A6??D!!-0MM%//3A6F$B!!"%MM%//3A6??D!!+.MM%//3A6D!!+.MM%//3A6DaC %$$$$$sF   :GF/GEF4G)F2*G2G4G:F=;GGc                   ^#     " U4S jS[         5      n/ mU" 5       n[        5        IS h  vN nUR                  U4S j5       nU R                  U5        UR	                  U5      I S h  vN   U R                  UR                  S   S   R                  U5        TR                  S5        S S S 5      IS h  vN   U R                  T/ SQ5        g  N Nh N! , IS h  vN  (       d  f       N2= f7f)Nc                   .   > \ rS rSrU 4S jrU 4S jrSrg);TestAsyncExitStack.test_enter_async_context.<locals>.TestCMid  c                 0   >#    TR                  S5        g 7fr&  r   )r    r  s    r   r1   FTestAsyncExitStack.test_enter_async_context.<locals>.TestCM.__aenter__e       a r;  c                 0   >#    TR                  S5        g 7f)Nr  r   )r    r  r  s     r   r   ETestAsyncExitStack.test_enter_async_context.<locals>.TestCM.__aexit__g  r  r;  r   Nrl   r  s   r   TestCMr  d  s    !! !r   r  c                  0   >#    T R                  S5        g 7f)N   r   r  s   r   r  :TestAsyncExitStack.test_enter_async_context.<locals>._exitn  s     a r;  r{  r   rU  )r   rU  r  r  )
rV  r   r  assertIsNotNoneenter_async_contextr0   r  r  r   rN   )r    r  r  r  r  r  s        @r   test_enter_async_context+TestAsyncExitStack.test_enter_async_contextc  s     	!V 	! X!##u&&! '!  '++B///MM%//3A6??DMM! $# 	. $
 0 $###sW   *C3CC3;C,C-AC.C39C:C3CC3C0C" C0,C3c                   #     " S S5      n " S S5      n " S S5      nU R                  5        IS h  vN nU R                  [        S5         UR                  U" 5       5      I S h  vN   S S S 5        U R                  [        S5         UR                  U" 5       5      I S h  vN   S S S 5        U R                  [        S5         UR                  U" 5       5      I S h  vN   S S S 5        U R	                  UR
                  5        S S S 5      IS h  vN   g  N N! , (       d  f       N= f N! , (       d  f       N= f N`! , (       d  f       Nd= f N@! , IS h  vN  (       d  f       g = f7f)Nc                       \ rS rSrSrg)MTestAsyncExitStack.test_enter_async_context_errors.<locals>.LacksEnterAndExitiy  r   NrX   r   r   r   LacksEnterAndExitr  y  rZ   r   r  c                       \ rS rSrS rSrg)FTestAsyncExitStack.test_enter_async_context_errors.<locals>.LacksEnteri{  c                    #    g 7fr   r   )r    exc_infos     r   r   PTestAsyncExitStack.test_enter_async_context_errors.<locals>.LacksEnter.__aexit__|       rk   r   Nr{   r   r   r   
LacksEnterr  {      r   r  c                       \ rS rSrS rSrg)ETestAsyncExitStack.test_enter_async_context_errors.<locals>.LacksExiti~  c                    #    g 7fr   r   rc   s    r   r1   PTestAsyncExitStack.test_enter_async_context_errors.<locals>.LacksExit.__aenter__  r  rk   r   Nrv   r   r   r   	LacksExitr  ~  r  r   r  asynchronous context manager)r  rE  r[   r  r   r  )r    r  r  r  r  s        r   test_enter_async_context_errors2TestAsyncExitStack.test_enter_async_context_errorsx  s    	 		 		 	 ??$$''	3QR//0A0CDDD S''	3QR//
=== S''	3QR//	<<< SU223 %$$D SR > SR = SR %$$$s   3E4DE4ED!*D+D!/ED4'D2(D4,E
E$E%E)#EE4EE4D!!
D/	+E2D44
E	>EE
E	EE4E1 E#!E1-E4c                 H  ^#    S nS mU4S jn U R                  5        IS h  vN nUR                  U[        5        UR                  U[        5        UR                  U[        5        UR                  U5        UR                  U[        5        SS-    S S S 5      IS h  vN   U R                  S5        TS   nU R                  U[        5        U R                  UR                  [        5        g  N NS! , IS h  vN  (       d  f       Nh= f! [         a  nU R                  UR                  [        5        U R                  UR                  R                  [        5        U R                  UR                  R                  R                  5         S nANS nAff = f7f)Nc                    #    U e7fr   r   r   s    r   	raise_excHTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.raise_exc  s
     Ire   c                     >#    U mg7fr  r   )r  saved_detailss    r   suppress_excKTestAsyncExitStack.test_async_exit_exception_chaining.<locals>.suppress_exc  s     'Ms   r   r   0Expected IndexError, but no exception was raised)r  r  
IndexErrorKeyErrorr@   r  
ValueErrorr   assertIsInstancer  r  r   )r    r  r  r  r   	inner_excr  s         @r   "test_async_exit_exception_chaining5TestAsyncExitStack.test_async_exit_exception_chaining  s9    	 	
	J((E)))Z@)))X>)))^D%%l3)))Z@A )( IIHI!!$	i4i335FG# )(((  	G!!#//8<!!#//"="=~Ncoo99EEFF		Gsv   F"D C4D A/C8D "C6#D 'AF"4D 6D 8D>D?DD 
FA9FF"FF"c           	        ^ ^^#     " S S[         5      m[        U4S j5       m[        UU 4S j5       nTU4 H-  nT R                  5           U" 5        IS h  vN   [        5       e   g  N! , IS h  vN  (       d  f       O= f T R	                  S5        O.! T a%  nT R                  UR                  5         S nAOS nAff = fS S S 5        M  ! , (       d  f       M  = f7f)Nc                       \ rS rSrSrg)WTestAsyncExitStack.test_async_exit_exception_explicit_none_context.<locals>.MyExceptioni  r   NrX   r   r   r   MyExceptionr    rZ   r   r  c                 b   >#     S 7v   g ! [          a    T" 5       n  U e! S U l        f = ff = f7fr   )BaseExceptionr  )r   r  s    r   my_cmQTestAsyncExitStack.test_async_exit_exception_explicit_none_context.<locals>.my_cm  s6     +  +!m+I&*CO+s    / /,	(,/c                    >#    TR                  5        IS h  vN n U R                  T" 5       5      I S h  vN   U 7v   S S S 5      IS h  vN   g  N8 N N	! , IS h  vN  (       d  f       g = f7fr   )r  r  )r  r  r    s    r   my_cm_with_exit_stackaTestAsyncExitStack.test_async_exit_exception_explicit_none_context.<locals>.my_cm_with_exit_stack  sL     ((E//888 )((8 )(((sT   A1AA1AA	A A1AA1AA1A.A A.*A1r  )r   r   r   r	  r   r  r  )r    r  r  r   r  r  s   `   @@r   /test_async_exit_exception_explicit_none_contextBTestAsyncExitStack.test_async_exit_exception_explicit_none_context  s     	) 	 
	+ 
	+ 
	 
	
 /0BR!tt(l*	 1  $tttt
 IIPQ # 7%%coo667	  s~   AC#CBA*
BA,'C#*B,B2A53B?BCCB?:C?CC
C#
C 	C#c                   #     " S S[         5      nU" 5       n[        5       Ul        [        5       Ul        U R                  5       nU R	                  [
        S5         UR                  U5      I S h  vN   S S S 5        UR                  U5        U R                  UR                  S   S   U5        g  N@! , (       d  f       ND= f7f)Nc                       \ rS rSrSrg)>TestAsyncExitStack.test_instance_bypass_async.<locals>.Examplei  r   NrX   r   r   r   Exampler    s    tr   r   r  r{  r   )
rV  r1   r   r  rE  r[   r  r  r0   r  )r    r   r  r  s       r   test_instance_bypass_async-TestAsyncExitStack.test_instance_bypass_async  s     #f#Yx!##I/MN++B/// Ob!e++B/2B7 0 ONs0   ACB52B33B57<C3B55
C?Cr   N)r'   r(   r)   r*   r   r  r  callback_error_internal_framesr  r  r  r  r  r  r!  r+   r   r   r   r  r    sG    D^ D: $J&"(%T!F/*4&H> RD	8r   r  c                       \ rS rSrS rSrg)TestAsyncNullcontexti  c                    #     " S S5      nU" 5       n[        U5       IS h  vN nU R                  X25        S S S 5      IS h  vN   g  N& N! , IS h  vN  (       d  f       g = f7f)Nc                       \ rS rSrSrg)6TestAsyncNullcontext.test_async_nullcontext.<locals>.Ci  r   NrX   r   r   r   ri  r(    rZ   r   ri  )r   r0   )r    ri  rQ  c_ins       r   test_async_nullcontext+TestAsyncNullcontext.test_async_nullcontext  s<     	 	Cq>>TMM$" ">>>>>sC   !A(A
A(AA(AA(A(A%AA%!A(r   N)r'   r(   r)   r*   r*  r+   r   r   r   r%  r%    s    #r   r%  __main__)r   
contextlibr   r   r   r   r   r   r9  r	   unittestri   test.test_contextlibr
   requires_working_socketr   IsolatedAsyncioTestCaser   r   r[  r  r%  r'   mainr   r   r   <module>r3     s    ; ;    2   t ,(GMh&F&F GMTX$("B"B X$v
6%x77 6%rf8*H,L,L f8R#8;; # zMMO r   