
    'h1                       S SK Jr  S SKrS SKrS SKJrJr  \(       a
  S SKJrJ	r	J
r
  S SKrS SKrS SKJrJr  SSKJr  SSKJrJr  SS	KJrJrJrJrJrJrJrJrJr  SS
KJ r   \RB                  S:  a  S SK"J#r#J$r$  \(       a  S SKJr  \" S5      r%SS jr&SS jr'SS jr(\RR                  RU                  S5      SS j5       r+SS jr,SS jr-SS jr.SS jr/SS jr0g)    )annotationsN)TYPE_CHECKINGTypeVar)AsyncGenerator	Coroutine	Generator)MatcherRaisesGroup   )_core)!create_asyncio_future_in_new_loop'ignore_coroutine_never_awaited_warnings)	ConflictDetectorMultipleExceptionErrorNoPublicConstructorcoroutine_or_errorfinalfixup_module_metadatageneric_functionis_main_thread!raise_single_exception_from_groupwait_all_tasks_blocked      )BaseExceptionGroupExceptionGroup)r   Tc                   ^#    [        S5      m[        S5      n T   U    [        S5        S S S 5        S S S 5        [        R                  " [        R
                  SS9   T   T    S S S 5        S S S 5        S S S 5        SU4S jjn[        [        [        R
                  S5      5         [        R                  " 5        IS h  vN nUR                  U5        UR                  U5        S S S 5      IS h  vN   S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f N Nd! , IS h  vN  (       d  f       Ny= f! , (       d  f       g = f7f)Nul1ul2okmatchc                 n   >#    T    [        5       I S h  vN   S S S 5        g  N! , (       d  f       g = f7fNr   )r!   s   ^/var/www/home/psychics-availability/venv/lib/python3.13/site-packages/trio/_tests/test_util.pywait_with_ul1,test_ConflictDetector.<locals>.wait_with_ul16   s&     (*** S* Ss    5$"$	5$
25returnNone)
r   printpytestraisesr   BusyResourceErrorr
   r	   open_nursery
start_soon)r"   r)   nurseryr!   s      @r(   test_ConflictDetectorr5   )   s     
5
!C
5
!C	$K  
 
u..e	<   
=
+ 
WU44e<	=%%''7}-}- (' 
>	= S 
  S 
=	< (''' 
>	=s   FDDD+FE!D6$D%&D6.E63F)E6EE6#E*E65E6E6:	F
D	D
D"F%
D3/D66
E	 E
EFE6E6E3	"E%#E3	/E66
F Fc                 (   SS K n SS Kn U R                  R                  S:X  d   eU R                  R                  S:X  d   eU R
                  R                  R                  S:X  d   eU R                  R                  R                  S:X  d   eU R                  R                  R                  S:X  d   eU R                  R                  R                  R                  S:X  d   eU R
                  R                  R                  R                  S:X  d   eU R                  R                  S:X  d   eU R                  R                  S:X  d   eU R
                  R                   R                  R                  S:X  d   eU R
                  R                   R                  R                  S:X  d   eU R"                  R                  S	:X  d   eU R"                  R$                  R                  S
:X  d   eU R"                  R$                  R                  S
:X  d   eg )Nr   trioztrio.abcztrio.lowlevelztrio.testing	Cancelledsend_allzSendStream.send_allztrio.to_threadrun_sync)r7   trio.testingr8   
__module__r2   abcStreamlowlevelwait_task_rescheduledtesting	trio_test
ParkingLot__init__r9   __name____qualname__
SendStream	to_threadr:   )r7   s    r(    test_module_metadata_is_fixed_uprI   @   s   >>$$...''611188??%%333==..99_LLL<<!!,,>>> ==##,,77?JJJ88??##..*<<< >>""k111>>&&+55588''00J>>>88''448MMMM>>""&6666>>""++z999>>""//:===    c                    #    [        5       (       d   eSS jn [        R                  R                  U 5      I S h  vN   g  N7f)Nc                 &    [        5       (       a   eg r'   )r    rJ   r(   not_main_thread,test_is_main_thread.<locals>.not_main_thread[   s    !#####rJ   r+   )r   r7   rH   r:   )rN   s    r(   test_is_main_threadrP   X   s3     $ ..
!
!/
222s   9AAAz(ignore:.*@coroutine.*:DeprecationWarningc                   ^^  " S S5      m[        5          SS jn [        R                  " [        5       n[	        U " 5       5        S S S 5        S[        WR                  5      ;   d   eSS Km[        R                  S:  ag  TR                    SU4S jj5       n[        R                  " [        5       n[	        U" 5       5        S S S 5        S[        UR                  5      ;   d   e[        R                  " [        5       n[	        [        5       5        S S S 5        S[        UR                  5      ;   d   e[        R                  " [        5       n[	        [        5        S S S 5        S[        UR                  5      ;   d   e[        R                  " [        5       n[	        T" 5       5        S S S 5        S	[        UR                  5      ;   d   e[        R                  " [        5       n[	        U4S
 j5        S S S 5        S	[        UR                  5      ;   d   e[        R                  " [        5       n[	        [        / SQ/5        S S S 5        S[        UR                  5      ;   d   e    SS jn[        R                  " [        5       n[	        US/5        S S S 5        SnU[        UR                  5      ;   d   eAS S S 5        g ! , (       d  f       GN= f! , (       d  f       GN&= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNp= f! , (       d  f       GN5= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nc                      \ rS rSrSrSrg))test_coroutine_or_error.<locals>.Deferredd   zJust kiddingrM   N)rE   r<   rF   __firstlineno____doc____static_attributes__rM   rJ   r(   DeferredrS   d   s    rJ   rX   c                    #    g 7fr'   rM   rM   rJ   r(   f"test_coroutine_or_error.<locals>.fi   s     s   zexpecting an async functionr   r   c               3  D   >#    T R                  S5       S h  vN   g  N7f)N   )sleep)asyncios   r(   generator_based_coro5test_coroutine_or_error.<locals>.generator_based_corot   s      #==+++s     r_   twistedc                    > T " 5       $ r'   rM   )rX   s   r(   <lambda>)test_coroutine_or_error.<locals>.<lambda>   s    xzrJ   )r]   r   r   zappears to be synchronousc                  #    S 7v   g 7fr'   rM   )_s    r(   	async_gen*test_coroutine_or_error.<locals>.async_gen   s
      s   	z5expected an async function but got an async generatorr+   )r,   z2Generator[Coroutine[None, None, None], None, None])rg   objectr,   zAsyncGenerator[None, None])r   r/   r0   	TypeErrorr   strvaluer_   sysversion_info	coroutiner   len)rZ   excinfor`   rh   msgrX   r_   s        @@r(   test_coroutine_or_errorrt   b   su     
1	2	 ]]9%qs# &,GMM0BBBBg%,B, ,
 y)W"#7#9: *GMM 2222]]9%@BC &C.... ]]9%@A &C....]]9%xz* &C....]]9%12 &C....]]9%sYK0 & +c'--.@@@@		'	
 ]]9%y1#. &Ec'--(((( q 
3	2
 &% *) &%
 &% &% &% &% &%e 
3	2s    M"KA.M"6K&=M"K8=M"L
%=M""L3=M"0L. =M"=M AM"M%&M"
K#	M"&
K5	0M"8
L	M"

L	M"
L+	&M".
L=	8M" 
M	
M"
M	M""
M0c                 H   [         SS j5       n X [           s=L a  U [        [        4   L d   e   eU " S5      U [           " S5      s=:X  a  S:X  d   e   eU R                  S:X  d   eU R                  S:X  d   eU R
                  S:X  d   eU R                  [
        :X  d   eg )Nc                    U $ )Look, a docstring!rM   )args    r(   	test_func(test_generic_function.<locals>.test_func   s	     
rJ   *   rw   z(test_generic_function.<locals>.test_funcry   )rx   r   r,   r   )r   intrl   rV   rF   rE   r<   )ry   s    r(   test_generic_functionr}      s      #=)CH*======R=IcN2.4"44444 4444!!%OOOO,,,8+++rJ   c                     [          " S S5      5       n [        R                  " [        5          " S SU 5      nSSS5        g! , (       d  f       g= f)zTest that subclassing a @final-annotated class is not allowed.

This checks both runtime results, and verifies that type checkers detect
the error statically through the type-ignore comment.
c                      \ rS rSrSrg)(test_final_decorator.<locals>.FinalClass   rM   NrE   r<   rF   rU   rW   rM   rJ   r(   
FinalClassr      s    rJ   r   c                      \ rS rSrSrg)&test_final_decorator.<locals>.SubClass   rM   Nr   rM   rJ   r(   SubClassr      s    rJ   r   N)r   r/   r0   rk   )r   r   s     r(   test_final_decoratorr      sA        
y	!	z 	 
"	!	!s   A
Ac                      " S S[         S9n [        R                  " [        5         U " SS5        SSS5        [	        U R                  SSS9U 5      (       d   eg! , (       d  f       N0= f)zLThe NoPublicConstructor metaclass prevents calling the constructor directly.c                      \ rS rSrSS jrSrg):test_no_public_constructor_metaclass.<locals>.SpecialClass   c                $    US:X  d   eUS:X  d   eg)z*Check arguments can be passed to __init__.   333333	@NrM   )selfabs      r(   rD   Ctest_no_public_constructor_metaclass.<locals>.SpecialClass.__init__   s    6M699rJ   rM   N)r   r|   r   floatr,   r-   )rE   r<   rF   rU   rD   rW   rM   rJ   r(   SpecialClassr      s    	rJ   r   )	metaclassr   r   N)r   )r   r/   r0   rk   
isinstance_create)r   s    r(   $test_no_public_constructor_metaclassr      sZ    !4  
y	!Q 
" l**1*5|DDDD	 
"	!s   
A
A*c                 6   [         R                  " S5      n S U l        SU R                  l        SU R                  l        [        U R                  [        U 5      5        U R                  R                  S:X  d   eU R                  R                  S:X  d   e[         R                  " S5      nS Ul        SUR                  l        SUR                  l        [         R                  " 5       Ul        SUR                  l        [         R                  " 5       Ul	        SUR                  l
        SUR                  l        S	 Ul        SUR                  l
        S
=UR                  l        UR                  l        [        SSS S S.5      Ul        UR                  UR                  l        [        S[        U5      5        UR                  R                  S:X  d   eUR                  R                  S:X  d   eUR                  R                  S:X  d   eUR                  R                  S:X  d   eUR                  R                  S
:X  d   eUR                  R                  S:X  d   eUR                  R                  S
:X  d   eUR                  R                  S:X  d   eUR                  R                  S:X  d   e[        UR                  S5      (       a   eUR                  R                   R                  S:X  d   eUR                  R                   R                  S:X  d   eUR                  R                   R                  S:X  d   eU R                  5         UR                  5         UR                  5         UR                  5       R!                  5         g )Nnot_trioc                     g r'   rM   rM   rJ   r(   rd   ,test_fixup_module_metadata.<locals>.<lambda>   s    rJ   	some_funcztrio._somemodule_implc                     g r'   rM   rM   rJ   r(   rd   r      s    DrJ   _something_elsenot_funclike	only_namec                     g r'   rM   rM   rJ   r(   rd   r      s    4rJ   _private	SomeClassrM   c                    g r'   rM   r   s    r(   rd   r      s    TrJ   c                    g r'   rM   r   s    r(   rd   r      s    4rJ   )rD   methodztrio.somemoduleonly_has_namerF   r   zSomeClass.method)types
ModuleTyper   rE   rF   r   varsSimpleNamespacer   r   r<   r   typer   	recursionhasattrr   )non_trio_modulemods     r(   test_fixup_module_metadatar      s   &&z2O ,O)4O&-8O*/22D4IJ$$--<<<$$11[@@@ 

2
3C CM.CMM!2CMM ,,.C .C --/C#:C !,C  CL5CLL8BBCLLCLL5 
)'	
CM "mmCMM+T#Y7==!![000==##'8888==%%444$$666<<  J...<<""&====<<$$
222%%888''+<<<<s((.9999==((H444==**.????==,,0BBBBMMOLLNMMOrJ   c            	     	  #    [        S5      n [        S5      n[        S5      nXl        X l        [
        R                  R                  5       n[        R                  " [         SS9 n[        [        SU /5      5        S S S 5        WR                  R                  U:X  d   eUR                  R                  U:X  d   e[        SU /5      n[        S5      n[        S5      nXel        Xul        [        [        [         S	S9S
S9 n[        [        SU/5      5        S S S 5        WR                  R                  U:X  d   eUR                  R                  U:X  d   e[        R                  " [         SS9 n[        [        SX3U /5      5        S S S 5        UR                  R                  U:X  d   eUR                  R                  U:X  d   e[        S[        S5      [        S5      /5      n	[        R                  " [         SS9 n[        U	5        S S S 5        UR                  R                  U	L d   eUR                  R                  b   e[        S[        S5      [        S5      [#        S5      /5      n
[        R                  " ["        SS9 n[        U
5        S S S 5        UR                  R                  U
L d   eUR                  R                  b   e[        S[        S5      [        S5      [%        S5      /5      n[        R                  " [$        SS9 n[        U5        S S S 5        UR                  R                  UL d   eUR                  R                  b   e[        R                  " [
        R                  SS9 n[        [        SU[
        R                  R                  5       /5      5        S S S 5        UR                  UL d   eUR                  R                  b   eUR                  R                  b   eg ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN2= f! , (       d  f       GN= f! , (       d  f       GN@= f! , (       d  f       N= f7f)Nfoocausecontextr$    zinner egzinner eg causezinner eg contextz^foo$z
^inner eg$barzy^Attempted to unwrap exceptiongroup with multiple non-cancelled exceptions. This is often caused by a bug in the caller.$zthis exc doesn't get reraisedz^$z^Cancelled$)
ValueErrorSyntaxErrorrk   	__cause____context__r7   r8   r   r/   r0   r   r   rm   r
   r	   r   r   KeyboardInterrupt
SystemExit)excr   r   	cancelledrr   inner_eginner_causeinner_contexteginfoegeg_kisystemexit_kis               r(   &test_raise_single_exception_from_groupr     s     U
C E	"GMO&&(I	z	/7).cU*CD 
0==""e+++==$$/// j3%0H./K01M$(	WZw7|	LPV).hZ*HI 
M<<!![000<<##}444	z	/7)rI##>?	
 
0 ==""e+++==$$/// 
Z.
50AB	CB	 K
 
)"-	

 ==""b(((==$$,,, 
uu=>	
E 
(	6')%0 
7==""e+++==$$,,, '
uu67	
M 
z	/7)-8 
0==""m333==$$,,, 
t~~^	<)rIt~~/E/E/G#HI	
 
= ==I%%%==""***==$$,,,I 
0	/ 
M	L
 
0	/
 
" 
7	6 
0	/ 
=	<s   A%R'P>BRPAR3P)A9RP;A?RQA?RQ&AR4Q19AR
PR
P&!R)
P83R;
Q
R
QR
Q.)R1
Q?;Rr+   )1
__future__r   rn   r   typingr   r   collections.abcr   r   r   r/   r7   r;   r	   r
   r   r   _core._tests.tutilr   r   _utilr   r   r   r   r   r   r   r   r   rA   r   ro   exceptiongroupr   r   r   r5   rI   rP   markfilterwarningsrt   r}   r   r   r   r   rM   rJ   r(   <module>r      s    " 
  )DD   - 
 
 
 -gA.CL..>03 FG< H<~,"E AHN-rJ   