
    /hh                         S SK r S SKrS SKrS SKrS SKJr  \" \S5      (       d  \R                  " S5      eS r " S S\R                  5      r
\S:X  a  \R                  " 5         gg)	    N)cpython_onlydevpollz$test works only on Solaris OS familyc                 X    / nU  H!  u  p4XA-  (       d  M  UR                  U5        M#     U$ )N)append)readyflagmatchfdmodes        :/opt/python-3.13.8/usr/lib/python3.13/test/test_devpoll.pyfind_ready_matchingr      s-    E;;LL  L    c                   B    \ rS rSrS rS rS rS rS r\	S 5       r
Srg	)
DevPollTests   c                    [         R                  " 5       nSnSn[        U5      n/ n/ n0 n0 n[        U5       H  n	[        R
                  " 5       u  pUR                  U
5        UR                  U
[         R                  5        UR                  U[         R                  5        UR                  U
5        UR                  U5        XU
'   XU'   M     / nU(       Ga{  UR                  5       n[        U[         R                  5      nU(       d  U R                  S5        [        R                  " U5      n[        R                   " X5        UR                  5       n[        U[         R                  5      nU(       d  U R                  S5        U R#                  X   /U5        US   n
[        R$                  " X5      nU R#                  [        U5      U5        UR                  U5        [        R&                  " Xz   5        [        R&                  " U
5        UR)                  Xz   5        UR)                  U
5        UR+                  Xz   5        U(       a  GM{  U R#                  X/U-  5        g )N   s    This is a test.zno pipes ready for writingzno pipes ready for readingr   )selectr   lenrangeospiperegistermodifyPOLLINPOLLOUTr   pollr   failrandomchoicewriteassertEqualread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_devpoll1DevPollTests.test_devpoll1   s    NN	!c(y!AWWYFBJJrNHHR'JJr6>>*NN2NN2GG " FFHE/v~~FM 		67}-BHHRFFHE/v}}EM 		67cgY6q!B''"&CSXw/KKHHSWLL!LLNN37#) g, 	uy01r   c                    [         R                  " 5       n[        R                  " 5       u  p#UR	                  U5        UR                  S5        U R                  [        UR
                  S5        U R                  [        UR
                  S5        U R                  [        UR
                  S5        UR                  S5        UR                  S5        UR                  S5        U R                  [        UR
                  S5        U R                  [        UR
                  S	5        U R                  [        UR
                  S
5        g )Ni   l         r      i   @l        l                        )r   r   r   r   r   r   assertRaisesOverflowErrorr'   pollsterwrs       r   test_timeout_overflow"DevPollTests.test_timeout_overflowJ   s    >>#wwy!b-;-A-Aaag-@-@-@r   c                    [        [        S5      nU R                  UR                  5        UR	                  5       n[
        R                  " 5       nU R                  UR	                  5       [        5        U R                  UR                  5        UR                  5         U R                  UR                  5        U R                  [        UR                  5        UR                  5         U R                  [        UR                  U[
        R                  5        U R                  [        UR                   5        U R                  [        UR"                  U[
        R                  5        U R                  [        UR$                  U5        g )Nrb)open__file__
addCleanupr$   filenor   r   assertIsInstanceintassertFalseclosed
assertTruer>   
ValueErrorr   r   r   r   r%   )r'   	open_filer
   r   s       r   
test_closeDevPollTests.test_close[   s   4(		(.." 	gnn.4( 	'*gnn5 	 	*gnnb&--H*gll3*g&6&6FMMJ*g&8&8"=r   c                     [         R                  " 5       nU R                  UR                  5        U R	                  [
        R                  " UR                  5       5      S5        g )NF)r   r   rJ   r$   r"   r   get_inheritablerK   )r'   r   s     r   test_fd_non_inheritable$DevPollTests.test_fd_non_inheritables   s@    .."&++GNN,<=uEr   c                    [         R                  " 5       n[        R                  " 5       u  p#UR	                  U5        U R                  [        UR                  SS5        U R                  [        UR                  SS5        U R                  [        UR                  SS5        U R                  [        UR                  SS5        g )Nr   r:   r=   r<   )	r   r   r   r   r   r>   rQ   r?   r   r@   s       r   test_events_mask_overflow&DevPollTests.test_events_mask_overflowx   s    >>#wwy!*h&7&7B?-):):AwG*hooq"=-!WEr   c                    SSK Jn  [        R                  " 5       n[        R
                  " 5       u  p4UR                  U5        U R                  [        UR                  SUS-   5        U R                  [        UR                  SUS-   5        g )Nr   )	USHRT_MAXr<   )
	_testcapir]   r   r   r   r   r   r>   r?   r   )r'   r]   rA   rB   rC   s        r   "test_events_mask_overflow_c_limits/DevPollTests.test_events_mask_overflow_c_limits   sf    '>>#wwy!-):):Ay1}M-!Y]Kr    N)__name__
__module____qualname____firstlineno__r7   rD   rS   rW   rZ   r   r_   __static_attributes__ra   r   r   r   r      s5    02dA">0F
F L Lr   r   __main__)r   r   r   unittesttest.supportr   hasattrSkipTestr   TestCaser   rb   mainra   r   r   <module>rn      si   
 
    %vy!!


B
CCtL8$$ tLn zMMO r   