
    +g$                    t   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  SS
KJr  \(       a  S SKJr  \" S5      rSS jr SS jr!SS jr"\RF                  RI                  S5      SS j5       r%SS jr&SS jr'SS jr(SS jr)g)    )annotationsN)TYPE_CHECKINGTypeVar)AsyncGenerator	Coroutine	Generator)MatcherRaisesGroup   )_core)!create_asyncio_future_in_new_loop'ignore_coroutine_never_awaited_warnings)ConflictDetectorNoPublicConstructorcoroutine_or_errorfinalfixup_module_metadatageneric_functionis_main_threadwait_all_tasks_blocked)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   ]/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/trio/_tests/test_util.pywait_with_ul1,test_ConflictDetector.<locals>.wait_with_ul11   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_ConflictDetectorr-   $   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)r/   trio.testingr0   
__module__r*   abcStreamlowlevelwait_task_rescheduledtesting	trio_test
ParkingLot__init__r1   __name____qualname__
SendStream	to_threadr2   )r/   s    r     test_module_metadata_is_fixed_uprA   ;   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    rB   r    not_main_thread,test_is_main_thread.<locals>.not_main_threadV   s    !#####rB   r#   )r   r/   r@   r2   )rF   s    r    test_is_main_threadrH   S   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>.Deferred_   zJust kiddingrE   N)r=   r4   r>   __firstlineno____doc____static_attributes__rE   rB   r    DeferredrK   _   s    rB   rP   c                    #    g 7fr   rE   rE   rB   r    f"test_coroutine_or_error.<locals>.fd   s     s   zexpecting an async functionr   )      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_coroo   s      #==+++s     rY   twistedc                    > T " 5       $ r   rE   )rP   s   r    <lambda>)test_coroutine_or_error.<locals>.<lambda>   s    xzrB   )rW   r   rT   zappears to be synchronousc                  #    S 7v   g 7fr   rE   )_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])ra   objectr$   zAsyncGenerator[None, None])r   r'   r(   	TypeErrorr   strvaluerY   sysversion_info	coroutiner   len)rR   excinforZ   rb   msgrP   rY   s        @@r    test_coroutine_or_errorrn   ]   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!rE   )args    r    	test_func(test_generic_function.<locals>.test_func   s	     
rB   *   rq   z(test_generic_function.<locals>.test_funcrs   )rr   r   r$   r   )r   intrf   rN   r>   r=   r4   )rs   s    r    test_generic_functionrw      s      #=)CH*======R=IcN2.4"44444 4444!!%OOOO,,,8+++rB   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   rE   Nr=   r4   r>   rM   rO   rE   rB   r    
FinalClassrz      s    rB   r}   c                      \ rS rSrSrg)&test_final_decorator.<locals>.SubClass   rE   Nr|   rE   rB   r    SubClassr      s    rB   r   N)r   r'   r(   re   )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	@NrE   )selfabs      r    r<   Ctest_no_public_constructor_metaclass.<locals>.SpecialClass.__init__   s    6M699rB   rE   N)r   rv   r   floatr$   r%   )r=   r4   r>   rM   r<   rO   rE   rB   r    SpecialClassr      s    	rB   r   )	metaclassr   r   N)r   )r   r'   r(   re   
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   rE   rE   rB   r    r^   ,test_fixup_module_metadata.<locals>.<lambda>   s    rB   	some_funcztrio._somemodule_implc                     g r   rE   rE   rB   r    r^   r      s    DrB   _something_elsenot_funclike	only_namec                     g r   rE   rE   rB   r    r^   r      s    4rB   _private	SomeClassrE   c                    g r   rE   r   s    r    r^   r      s    TrB   c                    g r   rE   r   s    r    r^   r      s    4rB   )r<   methodztrio.somemoduleonly_has_namer>   r   zSomeClass.method)types
ModuleTyper   r=   r>   r   varsSimpleNamespacer   r   r4   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rB   r#   )*
__future__r   rh   r   typingr   r   collections.abcr   r   r   r'   r/   r3   r	   r
    r   _core._tests.tutilr   r   _utilr   r   r   r   r   r   r   r9   r   r   r-   rA   rH   markfilterwarningsrn   rw   r   r   r   rE   rB   r    <module>r      s    " 
  )DD   -    -.CL..>03 FG< H<~,"E ArB   