
    +g"                       S SK Jr  S SKrS SKJrJrJr  S SKrS SKrS SK	r	SSK
Jr  SSKJr  SSKJr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Jr  \" S
5      rSS jrSr\SS j5       r\SS j5       r SS jr! " S S\5      r"\RF                  RI                  S\\/5      SS j5       r%\SS j5       r&\SS j5       r'\SS j5       r(SS jr)S S jr*S S jr+\RF                  RY                  SS9SS j5       r-g)!    )annotationsN)TYPE_CHECKINGProtocolTypeVar   )_core)slow)TooSlowError
fail_afterfail_atmove_on_after
move_on_atsleepsleep_foreversleep_until)assert_checkpoints)	AwaitableCallableTc                  #    [         R                  " 5       n[        R                  " U 5      I S h  vN n[         R                  " 5       U-
  n[	        XA-  5        SXA-  s=::  a  S:  d   e   eUR                  5       $  NM7f)NgG?g      ?)timeperf_counteroutcomeacaptureprintunwrap)fexpected_durstartresultdurs        a/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/trio/_tests/test_timeouts.pycheck_takes_aboutr#      ss     E##A&&F




%C	#
( #,333333==?1 's   /BA?ABg      ?c                   #    SS jn [        U [        5      I S h  vN   SS jn[        U[        5      I S h  vN   [        5          [        S5      I S h  vN   S S S 5        [	        [
        R                  " 5       5         [        R                  " [
        R                  5         [        S5      I S h  vN   S S S 5        S S S 5        g  N N Nx! , (       d  f       N|= f N,! , (       d  f       N0= f! , (       d  f       g = f7f)Nc                 j   #    [        [        R                  " 5       [        -   5      I S h  vN   g  N7fN)r   r   current_timeTARGET     r"   sleep_1test_sleep.<locals>.sleep_1C   s!     %,,.7888s   )313c                 >   #    [        [        5      I S h  vN   g  N7fr&   )r   r(   r)   r*   r"   sleep_2test_sleep.<locals>.sleep_2H   s     Fms   r   returnNone)
r#   r(   r   r   r   r   r'   pytestraises	Cancelled)r+   r.   s     r"   
test_sleepr6   A   s     9 GV
,,, GV
,,,		Ah 
 
E&&(	)]]5??+(NN , 
*	) -
 - 	 
	
  ,+ 
*	)s   DCDCDCCC&D%C5&C$5C"6C$:C5
DDC
CD"C$$
C2	.C55
D?Dc                 J   #    SS jn [        U [        5      I S h  vN   g  N7f)Nc                    #    [        [        5         [        S5      I S h  vN   S S S 5        g  N! , (       d  f       g = f7fNd   )r   r(   r   r)   r*   r"   sleep_3#test_move_on_after.<locals>.sleep_3W   s-     6"* #" #"#   A1/1	A1
?Ar0   r#   r(   )r;   s    r"   test_move_on_afterr?   U   s      GV
,,,   #!#c                   ^#    [         R                  R                  5       mSU4S jjn [         R                  " 5        IS h  vN nUR	                  U 5        [
        R                  " [        5         [         R                  " 5       I S h  vN   S S S 5        S S S 5      IS h  vN   g  Nf N! , (       d  f       N#= f N! , IS h  vN  (       d  f       g = f7f)Nc                    >#    [         R                  R                  5       I S h  vN   [         R                  R                  T [        R
                  " S 5      5        g  N97fr&   )triolowlevel
checkpoint
rescheduler   Valuetasks   r"   	wake_task1test_cannot_wake_sleep_forever.<locals>.wake_taskb   s>     mm&&(((  w}}T':; 	)s   "A!A:A!r0   )	rC   rD   current_taskopen_nursery
start_soonr3   r4   RuntimeErrorr   )rJ   nurseryrI   s     @r"   test_cannot_wake_sleep_foreverrQ   ^   s     ==%%'D<   ""g9%]]<($$&&& ) #"" ' )( #"""sr   A CB*C,C3B.B,B.CC$B?%C,B..
B<	8C?CCC
CCc                      \ rS rSrSS jrSrg)TimeoutScopel   c                   g r&   r)   )selfsecondsshields      r"   __call__TimeoutScope.__call__m   s    Sr*   r)   N)rW   floatrX   boolr1   ztrio.CancelScope)__name__
__module____qualname____firstlineno__rY   __static_attributes__r)   r*   r"   rS   rS   l   s    Pr*   rS   scopec                ^  #    [         R                  " 5        o" [        SS9 nUR                  5          [        R
                  R                  5       I S h  vN   SUl
        [        R                  " [        R                  5         [        R
                  R                  5       I S h  vN   S S S 5        S S S 5        S S S 5        g  No! [        R                   a    [        R                  " S5         Nf = f NO! , (       d  f       NS= f! , (       d  f       N\= f! , (       d  f       g = f7f)NTrX   zshield didn't workF)r   CancelScoper(   cancelrC   rD   rE   r5   r3   failrX   r4   )rb   outerinners      r"   test_context_shields_from_outerrj   p   s     				uVD'AU	.--**,,, ]]4>>*--**,,, + (B		 -~~ 	.KK,-	. - +* (B'A		s   D-DD!CCC+D"C:(C8
)C:-D5D=	D-C*C52D4C55D8C::
DD
D	D
D*&D-c                 J   #    SS jn [        U [        5      I S h  vN   g  N7f)Nc                   #    [         R                  " 5        n [        [        SS9   U R	                  5         [        5       I S h  vN   S S S 5        S S S 5        g  N! , (       d  f       N= f! , (       d  f       g = f7fNTrd   )r   re   r   r(   rf   r   rh   s    r"   rI   :test_move_on_after_moves_on_even_if_shielded.<locals>.task   sS      E=+MLLN  /!!	 ,N   "	 ,N+M  sE   A?A.AAA
A.	A?A
A+	'A..
A<8A?r0   r>   rH   s    r"   ,test_move_on_after_moves_on_even_if_shieldedrp   }   s     " D&
)))r@   c                 J   #    SS jn [        U [        5      I S h  vN   g  N7f)Nc                 j  #    [         R                  " [        5         [        R                  " 5        n [        [        SS9   U R                  5         [        5       I S h  vN   S S S 5        S S S 5        S S S 5        g  N! , (       d  f       N!= f! , (       d  f       N*= f! , (       d  f       g = f7frm   )	r3   r4   r
   r   re   r   r(   rf   r   rn   s    r"   rI   4test_fail_after_fails_even_if_shielded.<locals>.task   st      ]]<(%*;*;*=
I

 LLN  /!!I
*=(( "I
 I
*=*=((s]   B3B"BB  A>
!B %B-B"5	B3>B  
B
B
B	B""
B0,B3r0   r>   rH   s    r"   &test_fail_after_fails_even_if_shieldedrt      s     " D&
)))r@   c                 l  #    SS jn [         R                  " [        5         [        U [        5      I S h  vN   S S S 5        [        [        R                  " 5       S-   5         [        S5      I S h  vN   S S S 5        SS jn[         R                  " [        5         [        U[        5      I S h  vN   S S S 5        [        S5         [        S5      I S h  vN   S S S 5        g  N! , (       d  f       N= f N! , (       d  f       N= f NZ! , (       d  f       N^= f NF! , (       d  f       g = f7f)Nc                    #    [        [        R                  " 5       [        -   5         [	        S5      I S h  vN   S S S 5        g  N! , (       d  f       g = f7fr9   )r   r   r'   r(   r   r)   r*   r"   sleep_4test_fail.<locals>.sleep_4   s;     U'')F23* 43 43s+   &AAAA	AA
AAr:   r   c                    #    [        [        5         [        S5      I S h  vN   S S S 5        g  N! , (       d  f       g = f7fr9   )r   r(   r   r)   r*   r"   sleep_5test_fail.<locals>.sleep_5   s-     *    r=   r0   )
r3   r4   r
   r#   r(   r   r   r'   r   r   )rw   rz   s     r"   	test_failr|      s      
|	$000 
% 
##%+	,Ah 
- 
|	$000 
% 
CAh 
 	1 
%	$ 	 
-	, 	1 
%	$ 	 
s    D4C*C(C*)D4$C=3C;4C=8'D4D3D4D8D4D#D!D#	D4(C**
C84D4;C==
DD4D
DD4!D##
D1-D4c                   #    [        S5      n [        S4[        U 4[        U 44 H7  u  p[        R                  " [
        SS9   U" U5      I S h  vN   S S S 5        M9     [        S4[        U 4[        U 4[        S4[        U 4[        U 44 H9  u  p2[        R                  " [
        SS9   U" U5          S S S 5        S S S 5        M;     g  Nz! , (       d  f       M  = f! , (       d  f       N/= f! , (       d  f       Mr  = f7f)Nnanz8^(deadline|`seconds`) must (not )*be (non-negative|NaN)$match)
r[   r   r   r3   r4   
ValueErrorr   r   r   r   )r~   funvalcms       r"   test_timeouts_raise_value_errorr      s      ,C 
		c
 ]]M
 c(NN	
 
 
R	S	#			S ]]M
 C 	
 
 	
 
$ 	
 
sa   ADCC
CAD*	C/3C5C/=D
C
C	D
C,(C//
C>	9Dc                  #    [        S5      nUR                  S:X  d   eU R                  S5        [        R                  " 5       nU nUR
                  b   eUR                  US-   :X  d   eUR                  S:X  d   eUS-   Ul        UR                  US-   :X  d   eUR                  S:X  d   eSUl        UR                  US-   :X  d   eUR                  S:X  d   e S S S 5        [        S5      nUR                  SL d   eSUl        UR                  SL d   eU R                  S5        [        R                  " 5       nU nUR                  US-   :X  d   eXL d   e S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f7f)N         FT)r   relative_deadlinejumpr   r'   is_relativedeadlinerX   )
mock_clockrcsr   css       r"   test_timeout_deadline_on_entryr      sv    

C  A%%%OOA E	~~%%% {{eai'''##q(((ai{{eai'''##q((( {{eai'''##q((( 
 
C::CJ::OOA E	{{eai'''yy 
- 
, 
s8   AFBE)A$FE: 	F)
E73F:
FFc                  #    [        S5      nU R                  S5        [        R                  " 5       nSn[        R
                  " [        US9   UR                  US-   :X  d   e S S S 5        U R                  S5        [        R
                  " [        US9   UR                  US-   :X  d   e S S S 5        [        R
                  " [        US9   SUl        S S S 5        UR                  S:X  d   eUR                  (       a   e[        S5      nSn[        R                  " [        US9   UR                  (       d   e S S S 5        [        R                  " [        US9   SUl        S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nl= f! , (       d  f       g = f7f)	Nr   r   zC^unentered relative cancel scope does not have an absolute deadliner            zG^unentered non-relative cancel scope does not have a relative deadline$)r   r   r   r'   r3   warnsDeprecationWarningr   r   r   r4   rO   r   )r   r   r   	match_strs       r"   test_invalid_access_unenteredr      sL    	q	BOOA EUI	(		:{{eai''' 
;OOA	(		:{{eai''' 
; 
(		: 
; ;;!~~	AB 	R  
|9	5#### 
6	|9	5  
6	5) 
;	: 
;	: 
;	: 
6	5	5	5s   AGE2&2GF/!GFAG+F& !G!F7)	G2
F<G
FG
F#G&
F40G7
GGznot implemented)reasonc                    #    [        S5      n U R                  (       d   e[        S5      nUR                  (       d   eg 7f)Nr   )r   r   r   r   )
my_fail_atmy_fail_afters     r"    test_fail_access_before_enteringr     s5     JqMM****s   >A )r   zCallable[[], Awaitable[T]]r   r[   r1   r   r0   )rb   rS   r1   r2   )r   z_core.MockClockr1   r2   ).
__future__r   r   typingr   r   r   r   r3   rC    r   _core._tests.tutilr	   	_timeoutsr
   r   r   r   r   r   r   r   testingr   collections.abcr   r   r   r#   r(   r6   r?   rQ   rS   markparametrizerj   rp   rt   r|   r   r   r   xfailr   r)   r*   r"   <module>r      s(   "  3 3     %	 	 	 )3CL> 
  & - -'Q8 Q =*"=>	- ?	- * * * *$  ,BD!< +,+ -+r*   