Ë
    _§1h"  ã                  óà  — d dl mZ d dlZd dlmZmZmZ d dlZd dlZd dl	Z	ddl
mZ ddlmZ ddlmZmZmZmZmZmZmZmZ ddlmZ erd d	lmZmZ  ed
«      Zdd„ZdZedd„«       Zedd„«       Z dd„Z! G d„ de«      Z"ejF                  jI                  deeg«      dd„«       Z%edd„«       Z&edd„«       Z'edd„«       Z(dd„Z)d d„Z*d d„Z+ejF                  jY                  d¬«      dd„«       Z-y)!é    )Ú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              ƒ  ó   K  — t        j                  «       }t        j                  | «      ƒ d {  –—† }t        j                  «       |z
  }t	        ||z  «       d||z  cxk  rdk  sJ ‚ J ‚|j                  «       S 7 ŒL­w)NgGœ¡úÿÿï?g      ø?)ÚtimeÚperf_counterÚoutcomeÚacaptureÚprintÚunwrap)ÚfÚexpected_durÚstartÚresultÚdurs        úW/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/trio/_tests/test_timeouts.pyÚcheck_takes_aboutr#      sx   è ø€ Ü×ÑÓ€EÜ×#Ñ# AÓ&×&€FÜ
×
Ñ
Ó
 Ñ
%€CÜ	ˆ#�Ñ
Ôð( ˜# Ñ,Ô3°Ò3Ð3Ñ3Ð3Ð3à�=‰=‹?Ðð1 'ús   ‚-A>¯A<°AA>g      ð?c               ƒ  óê  K  — dd„} t        | t        «      ƒ d {  –—†  dd„}t        |t        «      ƒ d {  –—†  t        «       5  t        d«      ƒ d {  –—†  d d d «       t	        t        j                  «       «      5  t        j                  t
        j                  «      5  t        d«      ƒ d {  –—†  d d d «       d d d «       y 7 Œ¬7 Œ’7 Œv# 1 sw Y   ŒuxY w7 Œ'# 1 sw Y   Œ&xY w# 1 sw Y   y xY w­w)Nc               “  óh   K  — t        t        j                  «       t        z   «      ƒ d {  –—†  y 7 Œ­w©N)r   r   Úcurrent_timeÚTARGET© ó    r"   Úsleep_1ztest_sleep.<locals>.sleep_1C   s"   è ø€ Üœ%×,Ñ,Ó.´Ñ7Ó8×8Ò8ús   ‚(2ª0«2c               “  ó>   K  — t        t        «      ƒ d {  –—†  y 7 Œ­wr&   )r   r(   r)   r*   r"   Úsleep_2ztest_sleep.<locals>.sleep_2H   s   è ø€ Ü”F‹m×Òús   ‚•–r   ©ÚreturnÚNone)
r#   r(   r   r   r   r   r'   ÚpytestÚraisesÚ	Cancelled)r+   r-   s     r"   Ú
test_sleepr4   A   sÎ   è ø€ ó9ô ˜G¤VÓ
,×,Ð,óô ˜G¤VÓ
,×,Ð,ä	Ó	ñ Ü�A‹h�ˆ÷ô 
”E×&Ñ&Ó(Ó	)ñ Ü�]‰]œ5Ÿ?™?Ó+ñ 	Ü˜“(�NˆN÷	÷ð ð -øð
 -øð 	ø÷ð úð
 ø÷	ð 	ú÷ð üs‹   ‚C3šC›C3¶C	·C3ÁCÁCÁCÁ%C3Á>$C'Â"CÂ1CÂ2CÂ6C'Â>
C3Ã	C3ÃCÃCÃC3ÃCÃC$	Ã C'Ã'C0Ã,C3c               ƒ  óH   K  — dd„} t        | t        «      ƒ d {  –—†  y 7 Œ­w)Nc               “  ó~   K  — t        t        «      5  t        d«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­w©Néd   )r   r(   r   r)   r*   r"   Úsleep_3z#test_move_on_after.<locals>.sleep_3W   s8   è ø€ Üœ6Ó"ñ 	Ü˜“*×Ð÷	ð 	Øø÷	ð 	üó    ‚=’1¡/¢1¦	=¯1±:¶=r.   ©r#   r(   )r9   s    r"   Útest_move_on_afterr<   U   s   è ø€ óô ˜G¤VÓ
,×,Ò,úó   ‚"š ›"c               ƒ  óœ  ‡K  — t         j                  j                  «       Šdˆfd„} t        j                  «       4 ƒd {  –—† }|j	                  | «       t        j                  t        «      5  t        j                  «       ƒ d {  –—†  d d d «       d d d «      ƒd {  –—†  y 7 Œd7 Œ# 1 sw Y   ŒxY w7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc               “  óÄ   •K  — t         j                  j                  «       ƒ d {  –—†  t         j                  j                  ‰ t	        j
                  d «      «       y 7 Œ8­wr&   )ÚtrioÚlowlevelÚ
checkpointÚ
rescheduler   ÚValue©Útasks   €r"   Ú	wake_taskz1test_cannot_wake_sleep_forever.<locals>.wake_taskb   s?   øè ø€ Ü�m‰m×&Ñ&Ó(×(Ð(Ü�‰× Ñ  ¤w§}¡}°TÓ':Õ;ð 	)ús   ƒ"A ¥A¦9A r.   )	r@   rA   Úcurrent_taskÚopen_nurseryÚ
start_soonr1   r2   ÚRuntimeErrorr   )rG   ÚnurseryrF   s     @r"   Útest_cannot_wake_sleep_foreverrM   ^   s¤   øè ø€ ä�=‰=×%Ñ%Ó'€Dõ<ô × Ñ Ó"÷ 'ð ' gØ×Ñ˜9Ô%Ü�]‰]œ<Ó(ñ 	'Ü×$Ñ$Ó&×&Ð&÷	'÷'÷ 'ñ 'øð 'ø÷	'ð 	'úð'ø÷ '÷ 'ñ 'üsq   ƒ=CÁ B%ÁCÁ+B7Á/B)ÂB'ÂB)ÂB7ÂCÂB5Â CÂ'B)Â)B2	Â.B7Â5CÂ7C	Â=C Â>C	ÃCc                  ó   — e Zd Zdd„Zy)ÚTimeoutScopec                ó   — y r&   r)   )ÚselfÚsecondsÚshields      r"   Ú__call__zTimeoutScope.__call__m   s   � r*   N)rR   ÚfloatrS   Úboolr/   ztrio.CancelScope)Ú__name__Ú
__module__Ú__qualname__rT   r)   r*   r"   rO   rO   l   s   „ ÜPr*   rO   Úscopec              ƒ  ó@  K  — t        j                  «       5 } | t        d¬«      5 }|j                  «        	 t        j
                  j                  «       ƒ d {  –—†  d|_
        t        j                  t        j                  «      5  t        j
                  j                  «       ƒ d {  –—†  d d d «       d d d «       d d d «       y 7 Œn# t        j                  $ r t        j                  d«       Y Œ–w xY w7 ŒM# 1 sw Y   ŒLxY w# 1 sw Y   ŒPxY w# 1 sw Y   y xY w­w)NT©rS   zshield didn't workF)r   ÚCancelScoper(   Úcancelr@   rA   rB   r3   r1   ÚfailrS   r2   )rZ   ÚouterÚinners      r"   Útest_context_shields_from_outerrb   p   sà   è ø€ ä	×	Ñ	Ó	ð - ¡u¬V¸DÔ'Að -ÀUØ�‰Œð	.Ü—-‘-×*Ñ*Ó,×,Ð,ð ˆŒÜ�]‰]œ4Ÿ>™>Ó*ñ 	-Ü—-‘-×*Ñ*Ó,×,Ð,÷	-÷-÷ -ð -ð -ùÜ�~‰~ò 	.Ü�K‰KÐ,Ö-ð	.úð -ø÷	-ð 	-ú÷-ð -ú÷ -ð -üs’   ‚D—D¦D¸!C
ÁCÁC
Á*DÂ"C:Â*C8
Â+C:Â/DÂ7DÂ?	DÃC
Ã
(C5Ã2DÃ4C5Ã5DÃ8C:Ã:DÃ?DÄD	ÄDÄDÄDc               ƒ  óH   K  — dd„} t        | t        «      ƒ d {  –—†  y 7 Œ­w)Nc               “  óò   K  — t        j                  «       5 } t        t        d¬«      5  | j	                  «        t        «       ƒ d {  –—†  d d d «       d d d «       y 7 Œ# 1 sw Y   ŒxY w# 1 sw Y   y xY w­w©NTr\   )r   r]   r   r(   r^   r   ©r`   s    r"   rF   z:test_move_on_after_moves_on_even_if_shielded.<locals>.task   sg   è ø€ Ü×ÑÓ ð 	" E¬=¼ÈÔ+Mñ 	"Ø�L‰LŒNô  “/×!Ð!÷		"÷ 	"ð 	"ð "ø÷		"ð 	"ú÷ 	"ð 	"üsE   ‚A7—A+©AÁAÁAÁA+Á	A7ÁAÁA(	Á$A+Á+A4Á0A7r.   r;   rE   s    r"   Ú,test_move_on_after_moves_on_even_if_shieldedrg   }   s   è ø€ ó"ô ˜D¤&Ó
)×)Ò)úr=   c               ƒ  óH   K  — dd„} t        | t        «      ƒ d {  –—†  y 7 Œ­w)Nc               “  óN  K  — t        j                  t        «      5  t        j                  «       5 } t        t        d¬«      5  | j                  «        t        «       ƒ d {  –—†  d d d «       d d d «       d d d «       y 7 Œ# 1 sw Y   ŒxY w# 1 sw Y   Œ xY w# 1 sw Y   y xY w­wre   )	r1   r2   r
   r   r]   r   r(   r^   r   rf   s    r"   rF   z4test_fail_after_fails_even_if_shielded.<locals>.task‹   s�   è ø€ ô �]‰]œ<Ó(ñ 	"¬%×*;Ñ*;Ó*=ð 	"ÀÌ
ÜØôI
ñ 	"ð
 �L‰LŒNô  “/×!Ð!÷	"÷ 	"÷ 	"ð 	"ð "ø÷	"ð 	"ú÷ 	"ð 	"ú÷ 	"ð 	"üs]   ‚B%œB±BÁBÁ!A?
Á"BÁ&BÁ.BÁ6	B%Á?BÂB
ÂBÂB	ÂBÂB"ÂB%r.   r;   rE   s    r"   Ú&test_fail_after_fails_even_if_shieldedrj   ‰   s   è ø€ ó"ô ˜D¤&Ó
)×)Ò)úr=   c               ƒ  ó:  K  — dd„} t        j                  t        «      5  t        | t        «      ƒ d {  –—†  d d d «       t        t        j                  «       dz   «      5  t        d«      ƒ d {  –—†  d d d «       dd„}t        j                  t        «      5  t        |t        «      ƒ d {  –—†  d d d «       t        d«      5  t        d«      ƒ d {  –—†  d d d «       y 7 Œ®# 1 sw Y   Œ­xY w7 Œ€# 1 sw Y   ŒxY w7 ŒP# 1 sw Y   ŒOxY w7 Œ7# 1 sw Y   y xY w­w)Nc               “  ó¨   K  — t        t        j                  «       t        z   «      5  t	        d«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wr7   )r   r   r'   r(   r   r)   r*   r"   Úsleep_4ztest_fail.<locals>.sleep_4ž   sF   è ø€ Ü”U×'Ñ'Ó)¬FÑ2Ó3ñ 	Ü˜“*×Ð÷	ð 	Øø÷	ð 	üs+   ‚%A§A¶A·A»	AÁAÁAÁAr8   r   c               “  ó~   K  — t        t        «      5  t        d«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wr7   )r   r(   r   r)   r*   r"   Úsleep_5ztest_fail.<locals>.sleep_5¨   s8   è ø€ ÜœÓñ 	Ü˜“*×Ð÷	ð 	Øø÷	ð 	ür:   r.   )
r1   r2   r
   r#   r(   r   r   r'   r   r   )rm   ro   s     r"   Ú	test_failrp   œ   só   è ø€ óô 
�‰”|Ó	$ñ 1Ü ¬Ó0×0Ð0÷1ô 
”×#Ñ#Ó%¨Ñ+Ó	,ñ Ü�A‹h�ˆ÷óô 
�‰”|Ó	$ñ 1Ü ¬Ó0×0Ð0÷1ô 
�C‹ñ Ü�A‹h�ˆ÷ð ð 	1ø÷1ð 1úð 	ø÷ð úð 	1ø÷1ð 1úð 	ø÷ð üs©   ‚D C%´C#µC%¹(DÁ!C3Á0C1Á1C3Á5%DÂDÂ.C?Â/DÂ3DÃDÃDÃDÃ	DÃ#C%Ã%C.Ã*DÃ1C3Ã3C<Ã8DÃ?DÄD
ÄDÄDÄDÄDc               ƒ  óè  K  — t        d«      } t        dft        | ft        | ffD ]9  \  }}t        j                  t
        d¬«      5   ||«      ƒ d {  –—†  d d d «       Œ; t        dft        | ft        | ft        dft        | ft        | ffD ];  \  }}t        j                  t
        d¬«      5   ||«      5  	 d d d «       d d d «       Œ= y 7 Œy# 1 sw Y   Œ²xY w# 1 sw Y   Œ"xY w# 1 sw Y   ŒbxY w­w)NÚnanéÿÿÿÿz8^(deadline|`seconds`) must (not )*be (non-negative|NaN)$©Úmatch)
rU   r   r   r1   r2   Ú
ValueErrorr   r   r   r   )rr   ÚfunÚvalÚcms       r"   Útest_timeouts_raise_value_errorrz   ³   s  è ø€ ô �‹,€Cô 
�ˆÜ	�ˆÜ	�cÐðò 	‰ˆˆSô
 �]‰]ÜØMô
ñ 	ñ �c“(�NˆN÷		ð 	ð	ô 
�RÐÜ	�SÐÜ	�#ˆÜ	˜ÐÜ	˜ÐÜ	�SÐðò ‰ˆˆCô �]‰]ÜØMô
ñ 	ñ �C“ñ Ø÷÷		ð 	ñð ø÷		ð 	ú÷$ð ú÷		ð 	üsa   ‚AC2ÁCÁCÁCÁAC2Â.	C&Â7CÂ9C&ÃC2ÃCÃC	ÃC2ÃC#ÃC&Ã&C/	Ã+C2c              ƒ  óì  K  — t        d«      }|j                  dk(  sJ ‚| j                  d«       t        j                  «       }|5 }|j
                  �J ‚|j                  |dz   k(  sJ ‚|j                  dk(  sJ ‚|dz   |_        |j                  |dz   k(  sJ ‚|j                  dk(  sJ ‚d|_        |j                  |dz   k(  sJ ‚|j                  dk(  sJ ‚	 d d d «       t        d«      }|j                  du sJ ‚d|_        |j                  du sJ ‚| j                  d«       t        j                  «       }|5 }|j                  |dz   k(  sJ ‚||u sJ ‚	 d d d «       y # 1 sw Y   Œ‡xY w# 1 sw Y   y xY w­w)Né   é   é   FT)r   Úrelative_deadlineÚjumpr   r'   Úis_relativeÚdeadlinerS   )Ú
mock_clockÚrcsr   Úcss       r"   Útest_timeout_deadline_on_entryr†   Ô   sŒ  è ø€ Ü
˜Ó
€CØ× Ñ  AÒ%Ð%Ð%à‡O�O�AÔÜ×ÑÓ €EØ	ð )�Ø�~‰~Ð%Ð%Ð%ð �{‰{˜e a™iÒ'Ð'Ð'Ø×#Ñ# qÒ(Ð(Ð(à˜a‘iˆŒØ�{‰{˜e a™iÒ'Ð'Ð'Ø×#Ñ# qÒ(Ð(Ð(à ˆÔØ�{‰{˜e a™iÒ'Ð'Ð'Ø×#Ñ# qÒ(Ð(Ñ(÷)ô ˜Ó
€CØ�:‰:˜ÑÐÐØ€C„JØ�:‰:˜ÑÐÐà‡O�O�AÔÜ×ÑÓ €EØ	ð �Ø�{‰{˜e a™iÒ'Ð'Ð'à�b‰yÐ‰y÷ð ÷-)ð )ú÷,ð üs8   ‚AE4ÁBEÃA!E4Ä7E(Å	E4ÅE%Å!E4Å(E1Å-E4c              ƒ  óZ  K  — t        d«      }| j                  d«       t        j                  «       }d}t	        j
                  t        |¬«      5  |j                  |dz   k(  sJ ‚	 d d d «       | j                  d«       t	        j
                  t        |¬«      5  |j                  |dz   k(  sJ ‚	 d d d «       t	        j
                  t        |¬«      5  d|_        d d d «       |j                  dk(  sJ ‚|j                  rJ ‚t        d«      }d}t	        j                  t        |¬«      5  |j                  sJ ‚	 d d d «       t	        j                  t        |¬«      5  d|_        d d d «       y # 1 sw Y   �Œ
xY w# 1 sw Y   ŒÌxY w# 1 sw Y   Œ­xY w# 1 sw Y   ŒZxY w# 1 sw Y   y xY w­w)	Nr|   r}   zC^unentered relative cancel scope does not have an absolute deadlinert   é   é   é   zG^unentered non-relative cancel scope does not have a relative deadline$)r   r€   r   r'   r1   ÚwarnsÚDeprecationWarningr‚   r�   r   r2   rK   r   )rƒ   r…   r   Ú	match_strs       r"   Útest_invalid_access_unenteredrŽ   ö   st  è ø€ Ü	�qÓ	€BØ‡O�O�AÔÜ×ÑÓ €EàU€IÜ	�‰Ô(°	Ô	:ñ (Ø�{‰{˜e a™iÒ'Ð'Ñ'÷(à‡O�O�AÔä	�‰Ô(°	Ô	:ñ (Ø�{‰{˜e a™iÒ'Ð'Ñ'÷(ô 
�‰Ô(°	Ô	:ñ ØˆŒ÷ð �;‰;˜!ÒÐÐØ�~Š~ÐÐä	�A‹€Bð 	Rð ô 
�‰”|¨9Ô	5ñ $Ø×#Ò#Ð#Ñ#÷$ä	�‰”|¨9Ô	5ñ !Ø ˆÔ÷!ð !÷)(ñ (ú÷(ð (ú÷ð ú÷$ð $ú÷!ð !üs   ‚AF+ÁE.Á&4F+ÂE;Â0#F+ÃFÃAF+Ä*FÄ:#F+ÅFÅ%	F+Å.E8Å3F+Å;FÆ F+ÆFÆF+ÆFÆF+ÆF(Æ$F+znot implemented)Úreasonc               ƒ  óp   K  — t        d«      } | j                  sJ ‚t        d«      }|j                  sJ ‚y ­w)Nr|   )r   r‚   r   r   )Ú
my_fail_atÚmy_fail_afters     r"   Ú test_fail_access_before_enteringr“     s6   è ø€ ä˜“€JØ×ÒÐÐÜ˜q“M€MØ×*Ò*Ð*Ñ*ùs   ‚46)r   zCallable[[], Awaitable[T]]r   rU   r/   r   r.   )rZ   rO   r/   r0   )rƒ   z_core.MockClockr/   r0   ).Ú
__future__r   r   Útypingr   r   r   r   r1   r@   Ú r   Ú_core._tests.tutilr	   Ú	_timeoutsr
   r   r   r   r   r   r   r   Útestingr   Úcollections.abcr   r   r   r#   r(   r4   r<   rM   rO   ÚmarkÚparametrizerb   rg   rj   rp   rz   r†   rŽ   Úxfailr“   r)   r*   r"   ú<module>rž      s(  ðÝ "ã ß 3Ñ 3ã Û ã å Ý %÷	÷ 	ó 	õ )áß3áˆCƒL€óð> 
€ð òó ðð& ò-ó ð-ó'ôQ�8ô Qð ‡�×Ñ˜ =°*Ð"=Ó>ò	-ó ?ð	-ð ò*ó ð*ð ò*ó ð*ð$ òó ðó,óBóD!ð< ‡�×ÑÐ+ÐÓ,ò+ó -ñ+r*   