+
    Bi                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ]P                  t
 ! R R4      t ! R R]P                  4      t]R8X  d   ]P                  ! 4        R# R# )	    N)support)threading_helperc                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )Timerc                V    \         P                  ! 4       V n        ^ V n        ^ V n        R# r   N)	threading	Condition_cond_time_stopselfs   &&/usr/lib/python3.14/test/test_sched.py__init__Timer.__init__   s     ((*


    c                    V P                   ;_uu_ 4        V P                  uuR R R 4       #   + '       g   i     R # ; iN)r   r   r   s   &r   time
Timer.time   s    ZZZ:: ZZZs   ,=	c                &   V^ 8  g   Q hV P                   ;_uu_ 4        WP                  ,          pV P                  V8  d.   V P                  V n        V P                   P                  4        K>  Wn        RRR4       R#   + '       g   i     R# ; ir   )r   r   r   waitr   ts   &&r   sleepTimer.sleep   sV    AvvZZZOA**q.!ZZ


!J ZZZs   AA??B	c                    V^ 8  g   Q hV P                   ;_uu_ 4        V ;P                  V,          un        V P                   P                  4        RRR4       R#   + '       g   i     R# ; ir   )r   r   
notify_allr   s   &&r   advanceTimer.advance"   s?    AvvZZZJJ!OJJJ!!# ZZZs   4AA-	)r   r   r   N)
__name__
__module____qualname____firstlineno__r   r   r   r    __static_attributes____classdictcell____classdict__s   @r   r   r      s     

$ $r   r   c                      a  ] tR t^)t o R tR t]P                  ! 4       R 4       tR t	R t
]P                  ! 4       R 4       tR tR tR	 tR
 tR tRtV tR# )TestCasec                   a . oV3R  lp\         P                  ! \        P                  \        P                  4      pR F  pVP	                  V^W34      pK  	  VP                  4        V P                  S. RO4       R# )c                 &   < SP                  V 4      # r   appendxls   &r   <lambda>%TestCase.test_enter.<locals>.<lambda>-       r   N)      ?皙?333333?皙?皙?)r:   r9   r8   r7   r6   sched	schedulerr   r   enterrunassertEqualr   funr=   r1   zr2   s   &    @r   
test_enterTestCase.test_enter+   s]    #OODIItzz:	*A1c40A +56r   c                   a . oV3R  lp\         P                  ! \        P                  \        P                  4      pR F  pVP	                  V^W34      pK  	  VP                  4        V P                  S. RO4       R# )c                 &   < SP                  V 4      # r   r.   r0   s   &r   r3   (TestCase.test_enterabs.<locals>.<lambda>6   r5   r   N皙?{Gz?Q?{Gz?{Gz?)rN   rM   rL   rK   rJ   )r<   r=   r   r   enterabsr?   r@   rA   s   &    @r   test_enterabsTestCase.test_enterabs4   s_    #OODIItzz:	/A""1ad3A 0:;r   c                t   \         P                  ! 4       pVP                  p\        4       p\        P
                  ! VP                  VP                  4      pVP                  ^^VR4       VP                  ^^VR4       \        P                  ! VP                  R7      pVP                  4        VP                  ^4       V P                  VP                  \         R7      ^4       V P#                  VP%                  4       4       R F  pVP                  V^,
          ^W&34      pK   	  VP                  ^4       V P                  VP                  \         R7      ^4       V P                  VP                  \         R7      ^4       V P#                  VP%                  4       4       VP                  ^4       V P                  VP                  \         R7      ^4       V P#                  VP%                  4       4       VP                  ^4       V P                  VP                  \         R7      ^4       V P#                  VP%                  4       4       VP                  R4       \&        P(                  ! V4       V P#                  VP%                  4       4       V P                  VP                  4       ^4       R# )   targettimeout  NrS      )         )queueQueueputr   r<   r=   r   r   r>   r	   Threadr?   startr    r@   getTIMEOUT
assertTrueemptyr   join_thread)r   qrB   timerr=   r   r1   rC   s   &       r   test_enter_concurrentTestCase.test_enter_concurrent=   s   KKMeeOOEJJ<	1c4(1c4(IMM2		aw/3	"AAq#t4A aw/3w/3	"aw/3	"aw/3	"d$$Q'	"q)r   c           
       a . oV3R  lp\         P                  ! \        P                  \        P                  4      p. RO. RO3. RO. RO3. RO. RO3. RO. RO3.pV F  w  rEV P	                  WER7      ;_uu_ 4        V F  pVP                  RWaV34       K  	  VP                  4        V P                  SV4       V P                  VP                  4       4       SP                  4        RRR4       K  	  R#   + '       g   i     K  ; i)	c                 &   < SP                  V 4      # r   r.   r0   s   &r   r3   (TestCase.test_priority.<locals>.<lambda>]   r5   r   )
prioritiesexpectedrN   N)rS   r^   r[   r\   r]   )r]   r\   r[   r^   rS   )r^   r]   r[   rS   r\   )rS   r^   r[   r^   rS   )rS   rS   r^   r^   r[   )r<   r=   r   r   subTestrO   r?   r@   rf   rg   clear)r   rB   r=   casesrp   rq   priorityr2   s   &      @r   test_priorityTestCase.test_priority[   s    #OODIItzz:	 o.o.o.o.	
 %* JGG *H&&tXXKH !+  H- 	 12	 HG %*GGGs   <A/C99D
c                B  a	 . o	V	3R  lp\         P                  ! \        P                  \        P                  4      p\        P                  ! 4       pVP	                  VR,           ^VR4      pVP	                  VR,           ^VR4      pVP	                  VR,           ^VR	4      pVP	                  VR,           ^VR
4      pVP	                  VR,           ^VR4      pVP                  V4       VP                  V4       VP                  4        V P                  S	. RO4       R# )c                 &   < SP                  V 4      # r   r.   r0   s   &r   r3   &TestCase.test_cancel.<locals>.<lambda>s   r5   r   rN   rM   rL   rK   rJ   N)rN   )rM   )rL   )rK   )rJ   )rM   rL   rK   )r<   r=   r   r   rO   cancelr?   r@   )
r   rB   r=   nowevent1event2event3event4event5r2   s
   &        @r   test_cancelTestCase.test_cancelq   s    #OODIItzz:	iik##C$J3@##C$J3@##C$J3@##C$J3@##C$J3@  ./r   c                   \         P                  ! 4       pVP                  p\        4       p\        P
                  ! VP                  VP                  4      pVP                  4       pVP                  V^,           ^VR4      pVP                  V^,           ^VR4      pVP                  V^,           ^VR4      pVP                  V^,           ^VR4      p	VP                  V^,           ^VR	4      p
\        P                  ! VP                  R7      pVP                  4        VP                  ^4       V P                  VP                  \         R7      ^4       V P#                  VP%                  4       4       VP'                  V4       VP'                  V	4       VP                  ^4       V P#                  VP%                  4       4       VP                  ^4       V P                  VP                  \         R7      ^4       V P#                  VP%                  4       4       VP                  ^4       V P                  VP                  \         R7      ^4       V P#                  VP%                  4       4       VP                  R4       \(        P*                  ! V4       V P#                  VP%                  4       4       V P                  VP                  4       ^4       R# )
rS   rT   rV   rX   NrY   )r^   )r\   )r]   rZ   )r_   r`   ra   r   r<   r=   r   r   rO   r	   rb   r?   rc   r    r@   rd   re   rf   rg   r{   r   rh   )r   ri   rB   rj   r=   r|   r}   r~   r   r   r   r   s   &           r   test_cancel_concurrentTestCase.test_cancel_concurrent   s   KKMeeOOEJJ<	jjl##C!GQT:##C!GQT:##C!GQT:##C!GQT:##C!GQT:IMM2		aw/3	"  a	"aw/3	"aw/3	"d$$Q'	"q)r   c                R   . p\         P                  ! 4       pVP                  ^^VP                  R4       VP                  ^^VP                  R4      pVP                  ^^VP                  R4       VP	                  V4       VP                  4        V P                  VRR.4       R# )rS   acN)r   )b)r   )r<   r=   rO   r/   r{   r?   r@   )r   eventsr=   r   s   &   r   test_cancel_correct_event"TestCase.test_cancel_correct_event   s    OO%	1a7q!V]]F;1a7#s,r   c                  a . oV3R  lp\         P                  ! \        P                  \        P                  4      pV P	                  VP                  4       4       R F  pVP                  V^W34      pK  	  V P                  VP                  4       4       VP                  4        V P	                  VP                  4       4       R# )c                 &   < SP                  V 4      # r   r.   r0   s   &r   r3   %TestCase.test_empty.<locals>.<lambda>   r5   r   NrI   )	r<   r=   r   r   rf   rg   rO   assertFalser?   rA   s   &    @r   
test_emptyTestCase.test_empty   s    #OODIItzz:		)*/A""1ad3A 0*+	)*r   c                  a	 . o	V	3R  lp\         P                  ! \        P                  \        P                  4      p\        P                  ! 4       pVP	                  VR,           ^V4      pVP	                  VR,           ^V4      pVP	                  VR,           ^V4      pVP	                  VR,           ^V4      pVP	                  VR,           ^V4      pV P                  VP                  WVWV.4       R# )c                 &   < SP                  V 4      # r   r.   r0   s   &r   r3   %TestCase.test_queue.<locals>.<lambda>   r5   r   rJ   rN   rM   rK   rL   N)r<   r=   r   r   rO   r@   r_   )
r   rB   r=   r|   e5e1e2e4e3r2   s
   &        @r   
test_queueTestCase.test_queue   s    #OODIItzz:	iikd
As3d
As3d
As3d
As3d
As3 	222*>?r   c           	       a . oV3R  lp\         P                   ! 4       p\        P                  ! \         P                   \         P                  4      pVP	                  V^V4       VP	                  V^VRR7       VP	                  V^VRR7       VP	                  V^VRR^/R7       VP                  4        V P                  SR/ 3R/ 3R/ 3RR^/3.4       R# )c                  ,   < SP                  W34       R # r   r.   )r   r   seqs   *,r   rB   &TestCase.test_args_kwargs.<locals>.fun   s    JJvr   )argumentfoo)r   kwargsN)rS   r^   )r   r    )r   r<   r=   r   rO   r?   assertCountEqual)r   rB   r|   r=   r   s   &   @r   test_args_kwargsTestCase.test_args_kwargs   s    	 iikOODIItzz:	33'33833<33
KcHRLeQZ 	$
 	r   c                   a . oV3R  lp\         P                  ! \        P                  \        P                  4      pR F  pVP	                  V^W34       K  	  VP                  RR7       V P                  S. 4       R# )c                 &   < SP                  V 4      # r   r.   r0   s   &r   r3   0TestCase.test_run_non_blocking.<locals>.<lambda>   r5   r   F)blockingN)
   	            r;   )r   rB   r=   r1   r2   s   &   @r   test_run_non_blockingTestCase.test_run_non_blocking   s_    #OODIItzz:	!AOOAq#t, "u%Br   r   N)r"   r#   r$   r%   rD   rP   r   requires_working_threadingrk   rv   r   r   r   r   r   r   r   r&   r'   r(   s   @r   r+   r+   )   sr     7< 002* 3*:,0 002* 3*>	-	+@&   r   r+   __main__)r_   r<   r	   r   unittesttestr   test.supportr   SHORT_TIMEOUTre   r   r+   r"   mainr   r   r   <module>r      s^          ) 

$ $8u x   u p zMMO r   