
    ,h(                    P    d dl mZ d dlmZ d dlZerd dlZddZddZ	 	 	 	 d	dZy)
    )annotations)TYPE_CHECKINGNc                 (  K   g dfd} t        j                         4 d{   }t        d      D ]  }|j                  | t	        |              ddd      d{    t              S 7 J7 # 1 d{  7  sw Y   t              S xY ww)zDReturns a scheduler-dependent value we can use to check determinism.c                   K   t        d      D ];  }j                  | |f       t        j                  j	                          d {    = y 7 w)N2   )rangeappendtriolowlevel
checkpoint)nameitraces     h/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/trio/_tests/test_scheduler_determinism.pytracerzscheduler_trace.<locals>.tracer   sC     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      s     E-
   " / /gq 	/Avs1v.	// / <	/ / / / / <sD   !BA/B,A3BA1 B1B3B9A<:BBc                     t        d      D  cg c]  } t        j                  t               }} t	        t        |            t	        |      k(  sJ y c c} w )N
   )r   r
   runr   lenset)_tracess     r   ,test_the_trio_scheduler_is_not_deterministicr"      sB    16r;Adhh';F;s6{s6{*** <s    Ac                   | j                  t        j                  j                  dd       g }t	        d      D ]  }t        j                  j                  j
                  j                         }	 t        j                  j                  j
                  j                  d       |j                  t        j                  t                     t        j                  j                  j
                  j                  |        t        |      dk(  sJ t        t        |            dk(  sJ y # t        j                  j                  j
                  j                  |       w xY w)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_seededr/   !   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"   r/        r   <module>r5      s3    "    +!#!	!r4   