+
    BiL*                         ^ RI t ^ RIt^ RIt^ RIHt R tRt ! R R4      t ! R R]P                  4      t	 ! R	 R
]P                  4      t
]R8X  d   ]P                  ! 4        R# R# )    N)supportc                  D    \         P                  P                  R 4       R # N)asyncioevents_set_event_loop_policy     5/usr/lib/python3.14/test/test_asyncio/test_waitfor.pytearDownModuler      s    NN))$/r
   g-C6?c                   4   a  ] tR t^t o RtRtR tR tRtV t	R# )SlowTaskz>Task will run for this defined time, ignoring cancel requests 皙?c                    R V n         R# )FNexitedselfs   &r   __init__SlowTask.__init__   s	    r
   c                0  "   \         P                  ! 4       V P                  ,           p V\         P                  ! 4       ,
          pV^ 8:  d   M! \        P                  ! V4      G Rj  xL
  KF  R V n        R#  L  \        P
                   d     Ki  i ; i5iTN)time	monotonicTASK_TIMEOUTr   sleepCancelledErrorr   )r   exitattosleeps   &  r   runSlowTask.run   sv     !D$5$55t~~//G!|mmG,,, 	 -)) s<   ABA: (A8)A: -B8A: :BBBBr   N)
__name__
__module____qualname____firstlineno____doc__r   r   r    __static_attributes____classdictcell____classdict__s   @r   r   r      s     IL r
   r   c                      a  ] tR t^(t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tRtV tR# )AsyncioWaitForTestc                  "   \        4       p\        P                  ! \        P                  ! VP	                  4       VP
                  ^,          4      4      p\        P                  ! ^ 4      G Rj  xL
  VP                  4        \        P                  ! V04      G Rj  xL
  V P                  VP                  4       R#  LP L#5i   N)r   r   create_taskwait_forr    r   r   cancelwait
assertTruer   )r   twaitfortasks   &  r   test_asyncio_wait_for_cancelled2AsyncioWaitForTest.test_asyncio_wait_for_cancelled*   s     J))QUUWannq&89;mmAllK=)))!	 	)s$   A.C0C1.CC "CCc                  "   \        4       p \        P                  ! VP                  4       VP                  ^,          4      G Rj  xL
  V P                  VP                  4       R#  L!  \        P
                   d     L6i ; i5ir.   )r   r   r1   r    r   TimeoutErrorr4   r   )r   r5   s   & r   test_asyncio_wait_for_timeout0AsyncioWaitForTest.test_asyncio_wait_for_timeout5   se     J	""1557ANNQ,>??? 	!	 @## 		s:   B9A+ A)A+ B)A+ +B BBBc                  "   \         P                  ! 4       pVP                  4       pVP                  R 4       \         P                  ! V^ 4      G Rj  xL
 pV P                  VR 4       V P                  VP                  4       4       R#  L75i)doneN)r   get_running_loopcreate_future
set_resultr1   assertEqualr4   r>   )r   loopfutrets   &   r   2test_wait_for_timeout_less_then_0_or_0_future_doneEAsyncioWaitForTest.test_wait_for_timeout_less_then_0_or_0_future_done?   si     '')  "v$$S!,,f%
# -s   ABB8Bc                  a"   R oV3R lpV P                  \        P                  4      ;_uu_ 4        \        P                  ! V! 4       ^ 4      G Rj  xL
  RRR4       V P	                  SR 4       R#  L   + '       g   i     L&; i5i)Fc                     <"   R o R# 5ir   r	   )foo_starteds   r   foo_AsyncioWaitForTest.test_wait_for_timeout_less_then_0_or_0_coroutine_do_not_started.<locals>.fooM   s     Ks   N)assertRaisesr   r:   r1   rB   )r   rK   rJ   s   & @r   ?test_wait_for_timeout_less_then_0_or_0_coroutine_do_not_startedRAsyncioWaitForTest.test_wait_for_timeout_less_then_0_or_0_coroutine_do_not_startedJ   se     	 w3344""35!,,, 5 	e, - 54s.   0B	 A6A4A6B	4A66B	B	c           
       aa"   \         P                  ! 4       pR EF  pV P                  VR7      ;_uu_ 4        RoVP                  4       oVV3R lp\         P                  ! V! 4       4      pSG Rj  xL
  V P                  \         P                  4      ;_uu_ 4        \         P                  ! WB4      G Rj  xL
  RRR4       V P                  VP                  4       4       V P                  VP                  4       4       V P                  SR4       RRR4       EK  	  R#  L Lm  + '       g   i     Ls; i  + '       g   i     EK3  ; i5i)r   timeoutNc                     <"   R o SP                  R4        \        P                  ! ^
4      G Rj  xL
  Ro R#  L  Ro i ; i5iTNFr>   )rA   r   r   )foo_runningstarteds   r   rK   FAsyncioWaitForTest.test_wait_for_timeout_less_then_0_or_0.<locals>.foo^   sC     "&K&&t,,%mmB///&+! 0&+s%   A< :< A< A  AF)r   )r   r?   subTestr@   r0   rM   r:   r1   r4   r>   	cancelledrB   )r   rC   rR   rK   rD   rU   rV   s   &    @@r   &test_wait_for_timeout_less_then_0_or_09AsyncioWaitForTest.test_wait_for_timeout_less_then_0_or_0V   s     '')Gg..",,." ))#%0&&w';';<<!**3888 = 
+0  e4/ /.    9 =<# /..sY   6E:D=4D&
5+D= D*:D(;D*?AD=E&D=(D**D:5D==E
Ec                  a"   R oV3R lp\         P                  ! V! 4       4      pV P                  \         P                  4      ;_uu_ 4        \         P                  ! VR4      G R j  xL
  R R R 4       V P                  VP                  4       4       V P                  VP                  4       4       V P                  SR4       R #  L^  + '       g   i     Ld; i5i)Nc                     <"   R o  \         P                  ! \        P                  4      G Rj  xL
  Ro R#  L  Ro i ; i5irT   )r   r   r   LONG_TIMEOUT)rU   s   r   rK   -AsyncioWaitForTest.test_wait_for.<locals>.foov   s;     K$mmG$8$8999# :#s#   A '9 79 A 9 =A 皙?F)	r   r0   rM   r:   r1   r4   r>   rZ   rB   )r   rK   rD   rU   s   &  @r   test_wait_for AsyncioWaitForTest.test_wait_fors   s     	 !!#%(w3344""3,,, 5
#(e,	 - 54s1   ACC
)C*C
.ACC

C	Cc                   "   R  p\         P                  ! V! 4       RR7      G Rj  xL
 pV P                  VR4       R#  L5i)c                     "   R # 5ir>   r	   r	   r
   r   coro7AsyncioWaitForTest.test_wait_for_blocking.<locals>.coro           NrQ   r>   r   r1   rB   )r   rg   ress   &  r   test_wait_for_blocking)AsyncioWaitForTest.test_wait_for_blocking   s8     	 $$TVT::f% ;   $A?Ac                   "   \         P                  ! 4       pVP                  4       p\         P                  ! VR R7      pVP	                  VP
                  R4       VG Rj  xL
 pV P                  VR4       R#  L5i)r   rQ   okN)r   r?   r@   r1   	call_soonrA   rB   )r   rC   rD   taskrl   s   &    r   test_wait_for_race_condition/AsyncioWaitForTest.test_wait_for_race_condition   sa     '')  "S1s~~t,jd# s   AA<!A:"A<c                   a "   V 3R  lp\         P                  ! V! 4       RR7      G Rj  xL
 pS P                  V^4       R#  L5i)c                     <"   S P                  \        P                  4      ;_uu_ 4        \        P                  ! ^4      G Rj  xL
  RRR4       ^#  L  + '       g   i     ^# ; i5i)   N)rM   r   r   r   r   s   r   innerKAsyncioWaitForTest.test_wait_for_cancellation_race_condition.<locals>.inner   sG     ""7#9#9::mmA&&& ; ' ;:s.   (A*AAA

A*AA'	!	A*{Gz?rQ   Nrk   )r   ry   results   f  r   )test_wait_for_cancellation_race_condition<AsyncioWaitForTest.test_wait_for_cancellation_race_condition   s9     	
 ''==# >s   'AAAc                  a"   R oV3R lp\         P                  ! V! 4       4      pV P                  \         P                  4      ;_uu_ 4       p\         P                  ! V\
        R7      G Rj  xL
  RRR4       V P                  S4       XP                  P                  pV P                  \        V4      \         P                  4       R#  L^  + '       g   i     Ld; i5i)Fc                     <"    \         P                  ! ^
4      G Rj  xL
   Ro R#  L	  \         P                   d&    \         P                  ! \        4      G Rj  xL 
  h i ; i  Ro i ; i5i
   NTr   r   r   _EPSILON	task_dones   r   ry   KAsyncioWaitForTest.test_wait_for_waits_for_task_cancellation.<locals>.inner   sZ     !mmB'''
 !	 ()) mmH--- !	=   A.* (* A.* 2A$AA$$A' 'A++A.rQ   N)r   r0   rM   r:   r1   r   r4   	exception__context__rB   typer   )r   ry   
inner_taskcmchainedr   s   &    @r   )test_wait_for_waits_for_task_cancellation<AsyncioWaitForTest.test_wait_for_waits_for_task_cancellation   s     		! ((1
w3344"":x@@@ 5 		",,**g(>(>?	 A 54s1   AC" C.C/C3AC"CC	C"c                h  a"   R oV3R lpV P                  \        P                  4      ;_uu_ 4       pV! 4       G Rj  xL
  RRR4       V P                  S4       XP                  P
                  pV P                  \        V4      \        P                  4       R#  L^  + '       g   i     Ld; i5i)Fc                     <"   V3R  lp \         P                  ! V ! 4       4      p\         P                  ! \        4      G Rj  xL
  \         P                  ! V^ R7      G Rj  xL
  R#  L& L5i)c                     <"    \         P                  ! ^
4      G Rj  xL
   Ro R#  L	  \         P                   d&    \         P                  ! \        4      G Rj  xL 
  h i ; i  Ro i ; i5ir   r   r   s   r   ry   dAsyncioWaitForTest.test_wait_for_waits_for_task_cancellation_w_timeout_0.<locals>.foo.<locals>.inner   sZ     %!--+++
 !%I ,-- !--111 !%Ir   NrQ   )r   r0   r   r   r1   )ry   r   r   s     r   rK   UAsyncioWaitForTest.test_wait_for_waits_for_task_cancellation_w_timeout_0.<locals>.foo   sO     % !,,UW5J--)))"":q999 *9s#   ?A-A)A-"A+#A-+A-N)	rM   r   r:   r4   r   r   rB   r   r   )r   rK   r   r   r   s   &   @r   5test_wait_for_waits_for_task_cancellation_w_timeout_0HAsyncioWaitForTest.test_wait_for_waits_for_task_cancellation_w_timeout_0   s}     		: w3344%KK 5 		",,**g(>(>?	  54s-   0B2BBBAB2BB/	*B2c                   a"    ! R  R\         4      oV3R lpV P                  S4      ;_uu_ 4        V! 4       G Rj  xL
  RRR4       R#  L  + '       g   i     R# ; i5i)c                       ] tR t^tRtR# )]AsyncioWaitForTest.test_wait_for_reraises_exception_during_cancellation.<locals>.FooExceptionr	   N)r"   r#   r$   r%   r'   r	   r
   r   FooExceptionr      s    r
   r   c                     <"   V3R  lp \         P                  ! V ! 4       4      p\         P                  ! V\        R7      G Rj  xL
  R#  L5i)c                  ^   <"    \         P                  ! R 4      G Rj  xL
  S h L  S h; i5i)r   Nr   r   )r   s   r   ry   cAsyncioWaitForTest.test_wait_for_reraises_exception_during_cancellation.<locals>.foo.<locals>.inner   s/     '!--,,,&& -&&s    -' %' -' *-rQ   N)r   r0   r1   r   )ry   r   r   s     r   rK   TAsyncioWaitForTest.test_wait_for_reraises_exception_during_cancellation.<locals>.foo   s5     ' !,,UW5J"":x@@@s   AAAAN)	ExceptionrM   )r   rK   r   s   & @r   4test_wait_for_reraises_exception_during_cancellationGAsyncioWaitForTest.test_wait_for_reraises_exception_during_cancellation   sJ     	9 			A |,,%KK -, -,,s,   /A"AAA
A"AA		A"c                  a"   \         P                  ! 4       oV3R  lp\         P                  ! V! 4       4      p\         P                  ! \         P                  ! W14      4      pSP	                  VP
                  4       V P                  \         P                  4      ;_uu_ 4        VG Rj  xL
  RRR4       V P                  VP                  4       4       R#  L-  + '       g   i     L3; i5i)c                  H   <"   SP                  4       p V G R j  xL
  R #  L5ir   )r@   )rD   rC   s    r   blocking_coroutineDAsyncioWaitForTest._test_cancel_wait_for.<locals>.blocking_coroutine   s     $$&CIIs   " "N)
r   r?   r0   r1   rr   r2   rM   r   r4   rZ   )r   rR   r   rs   r3   rC   s   &&   @r   _test_cancel_wait_for(AsyncioWaitForTest._test_cancel_wait_for   s     '')	
 ""#5#78""7#3#3D#BCt{{#w5566JJ 7 	()  76s0   B#C/&C,C-C1)C/CC,	'C/c                D   "   V P                  R 4      G R j  xL
  R #  L5ir   r   r   s   &r   test_cancel_blocking_wait_for0AsyncioWaitForTest.test_cancel_blocking_wait_for        ((...     c                D   "   V P                  R 4      G Rj  xL
  R#  L5i)g      N@Nr   r   s   &r   test_cancel_wait_for'AsyncioWaitForTest.test_cancel_wait_for   r   r   c                   "   R  p\         P                  ! V! 4       RR7      G Rj  xL
 pV P                  V^*4       R#  L5i)c                     "    \         P                  ! ^
4      G Rj  xL
  R#  L  \         P                   d     ^*# i ; i5i)r   N)r   r   r   r	   r
   r   	return_42EAsyncioWaitForTest.test_wait_for_cancel_suppressed.<locals>.return_42  s3     mmB''')) s,   A& $& A& ?A?Ara   rQ   Nrk   )r   r   rl   s   &  r   test_wait_for_cancel_suppressed2AsyncioWaitForTest.test_wait_for_cancel_suppressed   s8     	 $$Y[#>>b! ?ro   c                j  aa"   R  p\         P                  ! V! 4       4      oRoVV3R lp\         P                  ! V! 4       4      pV P                  VP                  4       4       \         P                  ! ^ 4      G Rj  xL
  VP                  4        V P                  \         P                  4      ;_uu_ 4        VG Rj  xL
  RRR4       V P                  SP                  4       4       T P                  SG Rj  xL
 R4       V P                  S4       R#  L LZ  + '       g   i     L`; i L35i)c                     "   R # 5irf   r	   r	   r
   r   ry   :AsyncioWaitForTest.test_wait_for_issue86296.<locals>.inner  ri   rj   Fc                     <"   \         P                  ! S ^dR7      G Rj  xL
  \         P                  ! ^4      G Rj  xL
  RoR#  L& L
5i)d   rQ   NT)r   r1   r   )r   reached_ends   r   wait_for_coroBAsyncioWaitForTest.test_wait_for_issue86296.<locals>.wait_for_coro  s;     "":s;;;--"""K <"s   A
AA
A	A
A
Nr>   )
r   r0   assertFalser>   r   r2   rM   r   r4   rB   )r   ry   r   rs   r   r   s   &   @@r   test_wait_for_issue86296+AsyncioWaitForTest.test_wait_for_issue86296  s     
	 ((1
	 ""=?3%mmAw5566JJ 7
)*z)62% 	  76 *sH   A;D3?D ;D3;DDD7D3=D1>D3DD.	)	D3r	   N)r"   r#   r$   r%   r7   r;   rF   rN   r[   rb   rm   rt   r}   r   r   r   r   r   r   r   r   r'   r(   r)   s   @r   r,   r,   (   sa     	""	$
-5:-*&$$@,@2$*&//" & &r
   r,   c                   2   a  ] tR tRt o R tR tR tRtV tR# )WaitForShieldTestsi(  c                x  "   R  p\         P                  ! V! 4       4      pV P                  \         P                  4      ;_uu_ 4        \         P                  ! V4      p\         P
                  ! V^ R7      G Rj  xL
  RRR4       V P                  VP                  4       4       V P                  VP                  4       4       V P                  XP                  4       4       \         P                  ! R4      G Rj  xL
  V P                  VP                  4       4       R#  L  + '       g   i     L; i L:5i)c                  N   "   \         P                  ! R 4      G Rj  xL
  R#  L5i)r{   Nr>   r   r	   r
   r   rg   2WaitForShieldTests.test_zero_timeout.<locals>.coro1  s     --%%% &   %#%rQ   Nra   )r   r0   rM   r:   shieldr1   r   r>   rZ   r4   r   )r   rg   rs   shielded_tasks   &   r   test_zero_timeout$WaitForShieldTests.test_zero_timeout*  s     	 ""46*w3344#NN40M""=!<<< 5
 	%)*//12 mmC   		$ = 54 	!s=   AD:2D%:D#;D%?A>D:=D8>%D:#D%%D5	0	D:c                ,  "   R  p\         P                  ! V! 4       4      p\         P                  ! \         P                  ! V4      RR7      G Rj  xL
  V P	                  VP                  4       4       T P                  VG Rj  xL
 R4       R#  L? L5i)c                  N   "   \         P                  ! R 4      G Rj  xL
  R#  L5ira   Nr>   r   r	   r
   r   rg   2WaitForShieldTests.test_none_timeout.<locals>.coroG       --$$$ %r   NrQ   r>   )r   r0   r1   r   r4   r>   rB   r   rg   rs   s   &  r   test_none_timeout$WaitForShieldTests.test_none_timeoutD  sl     	 ""46*w~~d3TBBB		$tV, 	C $s$   ABB3BBBBc                  "   R  p\         P                  ! V! 4       4      pV P                  \         P                  4      ;_uu_ 4        \         P                  ! \         P
                  ! V4      RR7      G Rj  xL
  RRR4       V P                  VP                  4       4       V P                  VP                  4       4       T P                  VG Rj  xL
 R4       R#  Lf  + '       g   i     Ll; i L 5i)c                  N   "   \         P                  ! R 4      G Rj  xL
  R#  L5ir   r   r	   r
   r   rg   6WaitForShieldTests.test_shielded_timeout.<locals>.coroS  r   r   r{   rQ   Nr>   )
r   r0   rM   r:   r1   r   r   r>   rZ   rB   r   s   &  r   test_shielded_timeout(WaitForShieldTests.test_shielded_timeoutQ  s     	 ""46*w3344""7>>$#7FFF 5 	%)*tV,	 G 54
 $s=   AC60C!8C9C!=AC6C4C6C!!C1	,	C6r	   N)	r"   r#   r$   r%   r   r   r   r'   r(   r)   s   @r   r   r   (  s     %4-- -r
   r   __main__)r   unittestr   testr   r   r   r   IsolatedAsyncioTestCaser,   r   r"   mainr	   r
   r   <module>r      sg       0  .}&99 }&@5-99 5-p zMMO r
   