+
    Bi                     8   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	H
t
Ht ^ RIHt ^ RIHt  ]P                   ]
! RR7       R t ! R	 R
]P&                  4      t]R8X  d   ]P,                  ! 4        R# R#   ] d    ]P"                  ! R4      hi ; i)    N)cpython_onlyrequires_subprocessrequires_working_socketrequires_resource)threading_helper)TESTFNzselect.poll not definedT)modulec                 b    . pV  F&  w  r4WA,          '       g   K  VP                  V4       K(  	  V# )N)append)readyflagmatchfdmodes   &&   %/usr/lib/python3.14/test/test_poll.pyfind_ready_matchingr      s-    E;;LL  L    c                      a  ] tR t^t o R tR t]! 4       ]! R4      R 4       4       tR t	]
R 4       t]P                  R 4       t]P                   ! ]R4      ]P                  R	 4       4       tR
tV tR# )	PollTestsc                   \         P                  ! 4       p^pRp\        V4      p. p. p/ p/ p\        V4       F  p	\        P
                  ! 4       w  rVP                  V
4       VP                  V
\         P                  4       VP                  V\         P                  4       VP                  V
4       VP                  V4       WV
&   WV&   K  	  . pV'       Eds   VP                  4       p\        V\         P                  4      pV'       g   \        R4      h\        P                  ! V4      p\        P                  ! W4       VP                  4       p\        V\         P                  4      pV'       g   \        R4      h\        P                  ! V4      p
\        P                   ! W4      pV P#                  \        V4      V4       VP                  V4       \        P$                  ! Wz,          4       \        P$                  ! V
4       VP'                  Wz,          4       VP'                  V
4       VP)                  Wz,          4       EK{  V P#                  W.V,          4       R# )   s    This is a test.zno pipes ready for writingzno pipes ready for readingN)selectpolllenrangeospiperegistermodifyPOLLINPOLLOUTr   r   RuntimeErrorrandomchoicewritereadassertEqualclose
unregisterremove)selfp	NUM_PIPESMSGMSG_LENreaderswritersr2ww2rirdwrbufsr   ready_writersready_readersbufs   &                r   
test_poll1PollTests.test_poll1!   s    KKM	!c(y!AWWYFBJJrNHHR'JJr6>>*NN2NN2GG " gFFHE/v~~FM "#?@@}-BHHRFFHE/v}}EM "#?@@}-B''"&CSXw/KKHHSW"LL#'#LL"NN37#uy01r   c                .   \         P                  ! 4       w  r\         P                  ! V4       \         P                  ! V4       \        P                  ! 4       pVP                  V4       VP	                  4       pV P                  V^ ,          V\        P                  34       \        \        R4      ;_uu_ 4       pVP                  4       p\        P                  ! 4       pVP                  V4       VP	                  4       pV P                  V^ ,          ^ ,          V4       RRR4       VP	                  4       pV P                  V^ ,          X\        P                  34       \         P                  ! \        4       \        P                  ! 4       pV P                  \        VP
                  V4       V P                  \        VP                  V4       \        P                  ! 4       pV P                  \        VP                  ^4       \        P                  ! 4       p ! R R4      p ! R R4      p	V P                  \        VP
                  V! 4       ^ 4       V P                  \        VP
                  V	! 4       ^ 4       R#   + '       g   i     ELj; i)r   wNc                       ] tR t^qtRtR# ),PollTests.test_poll_unit_tests.<locals>.Nope N)__name__
__module____qualname____firstlineno____static_attributes__rA   r   r   Noper@   q   s    r   rG   c                   &   a  ] tR t^tt o R tRtV tR# ).PollTests.test_poll_unit_tests.<locals>.Almostc                    R # )filenorA   )r+   s   &r   rK   5PollTests.test_poll_unit_tests.<locals>.Almost.filenou   s    r   rA   N)rB   rC   rD   rE   rK   rF   __classdictcell____classdict__s   @r   AlmostrI   t   s        r   rP   )r   r   r(   r   r   r   r'   POLLNVALopenr   rK   unlinkassertRaises	TypeErrorr)   KeyError)
r+   FDr>   r,   rfr   pollsterrG   rP   s
   &         r   test_poll_unit_testsPollTests.test_poll_unit_testsR   s   	

KKM	

2FFH1FOO45&#!BAJJqMAQqT!Wb)  FFH1FOO45
		& KKM)QZZ3)Q\\15 KKM(ALL!4 ;;=	 		  	  	)X%6%6B)X%6%6!D; s   ;A'JJ	walltimec                   R p\         P                  ! VR\         P                  ^ R7      pV P                  V4       VP                  p\
        P                  ! 4       pVP                  V\
        P                  4       R F  pVP                  V4      pV. 8X  d   K  V^ ,          w  rxV\
        P                  ,          '       d+   VP                  4       p	V	R8w  d   V P                  R4       Ko  V\
        P                  ,          '       d0   VP                  4       p	V	'       g    R# V P                  V	R4       K  V P                  RV,          4       K  	  R# )	z?for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; doneT)shellstdoutbufsizer   z6error: pipe seems to be closed, but still returns datas   testing...
z,Unexpected return value from select.poll: %sN)r   i  i  i  i@  i>  rb   rb   rb   rb   rb   rb   rb   rb   rb   )
subprocessPopenPIPEenterContextr`   r   r   r   r    POLLHUPreadlinefailr'   )
r+   cmdprocr,   rZ   toutfdlistr   flagslines
   &         r   
test_poll2PollTests.test_poll2~   s    P4
()+$KK;;=1fmm-AD]]4(F"q	IBv~~%%zz|3;IIVW&&zz|  7		H6QR% Br   c                   \         P                  ! 4       pVP                  ^4       V P                  \        VP                  R4       ^pV^8w  d   V P                  R4       V P                  \        VP                  ^ R4       V P                  \        VP                  ^ R4       V P                  \        VP                  ^R4       V P                  \        VP                  ^R4       R# )   zOverflow must have occurredNl            rb   )r   r   r   rT   OverflowErrorri   
ValueErrorr   )r+   rZ   xs   &  r   
test_poll3PollTests.test_poll3   s    ;;=!-@6II34 	*h&7&7B?-):):AwG*hooq"=-!WEr   c                    ^ RI HpHpHp \        P                  ! 4       pTP                  ^4       T P                  \        TP                  ^ T^,           4       T P                  \        TP                  ^T^,           4       T P                  \        TP                  T^,           4       T P                  \        TP                  T^,           4       R#   \         d    \
        P                  ! R4      hi ; i)r   )	USHRT_MAXINT_MAXUINT_MAXzrequires _testcapiN)	_testcapirz   r{   r|   ImportErrorunittestSkipTestr   r   r   rT   rt   r   )r+   rz   r{   r|   rZ   s   &    r   test_poll_c_limitsPollTests.test_poll_c_limits   s    	:>> ;;=! 	-):):Ay1}M-!Y]K-!D-1E  	:##$899	:s   
C "C8c                   \         P                  ! 4       w  rV P                  \         P                  V4       V P                  \         P                  V4       . p\	        ^
4       FJ  p\         P
                  ! V4      pV P                  \         P                  V4       VP                  V4       KL  	  \        P                  ! 4       pV F#  pVP                  V\        P                  4       K%  	  \        P                  ! VP                  R7      pVP                  4         \        P                  ! R4       V F  pVP!                  V4       K  	  VP                  V\        P"                  4       V P%                  \&        VP                  4       \         P(                  ! VR4       VP+                  4        R#   \         P(                  ! TR4       TP+                  4        i ; i)
   )targetg      ?   spamN)r   r   
addCleanupr(   r   dupr   r   r   r   r    	threadingThreadstarttimesleepr)   r!   rT   r"   r%   join)r+   rX   r>   rfdsr4   r   rZ   ts   &       r   test_threaded_pollPollTests.test_threaded_poll   s>   wwy!$!$rABOOBHHb)KKO  ;;=Bb&--0  HMM2		
	JJsO##B' a0lHMM: HHQ FFH HHQ FFHs   #A0F< <)G%z!Threading required for this test.c                `   R EF&  p\         P                  ! 4       w  r#\        P                  ! 4       pVP	                  V\        P
                  4       \        P                  ! VP                  V3R7      pVP                  4        VP                  RR7       V P                  VP                  4       4       \         P                  ! VR4       VP                  4        V P                  VP                  4       4       \         P                  ! V4       \         P                  ! V4       EK)  	  R # )Ng?)r   args)timeoutr   )Nirb   g      gg0.+)r   r   r   r   r   r    r   r   r   r   
assertTrueis_aliver%   assertFalser(   )r+   
timeout_msrX   r>   rZ   poll_threads   &     r   !test_poll_blocks_with_negative_ms+PollTests.test_poll_blocks_with_negative_ms   s     AJ 779DA{{}Ha/#**(--zmTKS)OOK0023 HHQ [1134HHQKHHQK# Ar   rA   N)rB   rC   rD   rE   r;   r[   r   r   rp   rw   r   r   r   reap_threadsr   r   
skipUnlessr   r   rF   rM   rN   s   @r   r   r      s     /2b'EX z"S # S8F" F F "" #6 $GH"" # Ir   r   __main__)r   rc   r#   r   r   r   r   test.supportr   r   r   r   r   test.support.os_helperr   r   AttributeErrorr   r   TestCaser   rB   mainrA   r   r   <module>r      s    
        * )7
KK t $M!! M` zMMO y  7


5
667s   A? ?B