
    +g(                    `    S SK Jr  S SKJr  S SKr\(       a  S SKrSS jrSS jr    S	S jrg)
    )annotations)TYPE_CHECKINGNc                 (  ^#    / mSU4S jjn [         R                  " 5        ISh  vN n[        S5       H  nUR                  U [	        U5      5        M      SSS5      ISh  vN   [        T5      $  NL N! , ISh  vN  (       d  f       N&= f7f)zDReturns a scheduler-dependent value we can use to check determinism.c                   >#    [        S5       H;  nTR                  X45        [        R                  R	                  5       I S h  vN   M=     g  N	7f)N2   )rangeappendtriolowlevel
checkpoint)nameitraces     n/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/trio/_tests/test_scheduler_determinism.pytracerscheduler_trace.<locals>.tracer   s;     rALL$#--**,,, ,s   AAA
AN   )r   strreturnNone)r
   open_nurseryr   
start_soonr   tuple)r   nurseryr   r   s      @r   scheduler_tracer      sg     E-
   ""gqAvs1v.  #" <	 #"""sD   $BA4B.A8B$A6%B6B8B>B?BBc                     [        S5       V s/ s H  n [        R                  " [        5      PM     nn [	        [        U5      5      [	        U5      :X  d   eg s  sn f )N
   )r   r
   runr   lenset)_tracess     r   ,test_the_trio_scheduler_is_not_deterministicr#      sC    16r;Adhh'F;s6{s6{*** <s   $Ac                   U R                  [        R                  R                  SS5        / n[	        S5       H  n[        R                  R                  R
                  R                  5       n [        R                  R                  R
                  R                  S5        UR                  [        R                  " [        5      5        [        R                  R                  R
                  R                  U5        M     [        U5      S:X  d   e[        [        U5      5      S:X  d   eg ! [        R                  R                  R
                  R                  U5        f = f)N_ALLOW_DETERMINISTIC_SCHEDULINGTr   r      )setattrr
   _core_runr   _rgetstateseedr	   r   r   setstater   r    )monkeypatchr"   r!   states       r   2test_the_trio_scheduler_is_deterministic_if_seededr0   !   s     

)JDQF2Y

""++-	/JJOO##A&MM$((?34JJOO''.  v;"s6{q    JJOO''.s   /AD..5E#)r   ztuple[tuple[str, int], ...])r   r   )r.   zpytest.MonkeyPatchr   r   )	
__future__r   typingr   r
   pytestr   r#   r0        r   <module>r6      s3    "    +!#!	!r5   