+
    Bi%                        ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ]! ]R4      '       g   ]P                  ! R4      h ]P                  ! 4         ! R R]P                  4      t]R8X  d   ]P"                  ! 4        R# R#   ] d4   t]P                   ] P                  8X  d   ]P                  ! R4      hh RtAii ; i)	    N)supportepollztest works only on Linux 2.6zkernel doesn't support epoll()c                   n   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V tR# )	TestEPollc                `    \         P                  ! R4      V n        V P                  .V n        R# )	127.0.0.1N)r   r   )socketcreate_serverserverSocketconnectionsselfs   &&/usr/lib/python3.14/test/test_epoll.pysetUpTestEPoll.setUp,   s'    "001AB --.    c                L    V P                    F  pVP                  4        K  	  R # )N)r   close)r   skts   & r   tearDownTestEPoll.tearDown0   s    ##CIIK $r   c                   \         P                   ! 4       pVP                  R 4        VP                  RV P                  P	                  4       ^,          34       \        R4      h  \         d<   pT P                  TP                  ^ ,          \        P                  4        Rp?MRp?ii ; iT P                  P                  4       w  r4T P                  P                  Y34       Y3# )Fr   z&Connect should have raised EINPROGRESSN)r	   setblockingconnectr   getsocknameAssertionErrorOSErrorassertEqualargserrnoEINPROGRESSacceptr   extend)r   clienteserveraddrs   &    r   _connected_pairTestEPoll._connected_pair4   s    5!	KNNK):):)F)F)H)KLM !!IJJ  	;QVVAY(9(9::	; ((//1 01~s   2A% %B+01B&&B+c                     \         P                  ! ^4      pT P                  TP                  4       ^ 8  TP                  4       4       T P                  TP                  '       * 4       TP                  4        T P                  TP                  4       T P                  \        TP                  4       \        \         R4      '       d   \         P                  ! R\         P                  4      P                  4        \         P                  ! \         P                  R7      P                  4        \         P                  ! ^ R7      P                  4        R# R#   \         d   p\        \	        T4      4      hRp?ii ; i)   NEPOLL_CLOEXECflags)selectr   r   r   str
assertTruefilenoclosedr   assertRaises
ValueErrorhasattrr,   )r   epr%   s   &  r   test_createTestEPoll.test_createB   s    	)b!B 			a5BII&

		"*bii06?++LLV11288:LLv334::<LLq!'') ,  	) Q((	)s   E E=$E88E=c                $   V P                  \        \        P                  ^^^4       V P                  \        \        P                  R4       V P                  \        \        P                  R4       V P                  \        \        P                  R4       V P                  \        \        P                  R.4       V P                  \        \        P                  / 4       V P                  \        \        P                  ^ 4       V P                  \        \        P                  R4       V P                  \        \        P                  RR7       \        \        R4      '       d)   V P                  \        \        P                  RR7       R# R# )	   fooN)sizehintr,   iD0  r-    )r5   	TypeErrorr0   r   r6   r7   r   r   s   &r   test_badcreateTestEPoll.test_badcreateR   s    )V\\1a;)V\\59)V\\48)V\\26)V\\E7;)V\\26*fllA6*fllB7*fllR@6?++gv||5A ,r   c                f   \         P                  ! ^4      ;_uu_ 4       pV P                  VP                  4       ^ 4       V P	                  VP
                  4       RRR4       V P                  XP
                  4       V P                  \        VP                  4       R#   + '       g   i     LM; i)r+   N)	r0   r   assertGreaterr3   assertFalser4   r2   r5   r6   )r   r8   s   & r   test_context_managerTestEPoll.test_context_managera   so    \\"ryy{A.RYY'  			"*bii0	 s   <B  B0	c                   V P                  4       w  r\        P                  ! ^4      p VP                  VP	                  4       \        P
                  \        P                  ,          4       VP                  VP	                  4       \        P
                  \        P                  ,          4       VP                  4        \        P                  ! ^4      p VP                  V\        P
                  \        P                  ,          4       VP                  V\        P
                  \        P                  ,          4       VP                  4        \        P                  ! ^4      p V P                  \        VP                  \        4       \        P
                  \        P                  ,          4       V P                  \        VP                  R\        P
                  \        P                  ,          4       V P                  \        VP                  R\        P
                  \        P                  ,          4       V P                  \        VP                  R\        P
                  \        P                  ,          4       VP                  V\        P
                  \        P                  ,          4       V P                  \        VP                  V\        P
                  \        P                  ,          4       VP                  4        R#   TP                  4        i ; i  TP                  4        i ; i  TP                  4        i ; i)   Ni'  r/   )r(   r0   r   registerr3   EPOLLINEPOLLOUTr   r5   rA   objectr6   r   )r   r&   r$   r8   s   &   r   test_addTestEPoll.test_addh   s   --/\\!_	KK&//)IJKK&//)IJHHJ \\!_	KK @AKK @AHHJ\\!_	ifh$nnv>@id$nnv>@ j"++r$nnv>@ gr{{E$nnv>@ KK @Agr{{F$nnv>@ HHJ9 HHJ HHJ( HHJs&   BL A*L% (FL: L"%L7:Mc                   V P                  4       w  r\        P                  ! ^4      ;_uu_ 4       p\        P                  P                  VP	                  4       4      pVP                  VP	                  4       \        P                  \        P                  ,          4       VP                  VP	                  4       \        P                  \        P                  ,          4       VP                  ^^4      pVP                  R^4      pV P                  \        V4      ^4       V P                  \        V4      ^4       RRR4        XP                  ^^4       V P                  R4       R#   + '       g   i     L6; i  \         d>   pT P                  TP                  ^ ,          \        P                  T4        Rp?R# Rp?ii ; i)rJ   g?Nz%epoll on closed fd didn't raise EBADF)r(   r0   r   fromfdr3   rK   rL   rM   pollr   lenfailr   r   r    EBADF)r   r&   r$   r8   ep2eventsevents2r%   s   &       r   test_fromfdTestEPoll.test_fromfd   s$   --/\\!__,,%%biik2CLL&..6??*JKLL&..6??*JKWWQ]FhhsA&GS[!,S\1- 	?HHQN II=>! _  	8QVVAYQ77	8s$   DE-F  -E=	 G2GGc                   V P                  4       w  r\        P                  ! ^4      pVP                  VP	                  4       \        P
                  \        P                  ,          \        P                  ,          4       VP                  VP	                  4       \        P
                  \        P                  ,          \        P                  ,          4       \        P                  ! 4       pVP                  ^^4      p\        P                  ! 4       pV P                  Wd,
          R8  Wd,
          4       VP	                  4       \        P                  3VP	                  4       \        P                  3.pV P                  \        V4      \        V4      4       VP                  R^R7      pV P                  V4       VP                  R4       VP                  R4       . p\        P                   ! \        P"                  4       Fq  p\        P                  ! 4       pWSP                  R^4      ,          p\        P                  ! 4       pV P                  Wd,
          R8  4       \%        V4      ^8  g   Kq   M	  VP	                  4       \        P
                  \        P                  ,          3VP	                  4       \        P
                  \        P                  ,          3.pV P                  \        V4      \        V4      4       VP'                  VP	                  4       4       VP)                  VP	                  4       \        P                  4       \        P                  ! 4       pVP                  ^^4      p\        P                  ! 4       pV P                  Wd,
          R8  4       VP	                  4       \        P                  3.pV P                  WW4       R# )r+   g?)timeout	maxeventss   Hello!s   world!!!      ?{Gz?N)r(   r0   r   rK   r3   rL   rM   EPOLLETtime	monotonicrS   rF   r   sortedsendallr   
busy_retrySHORT_TIMEOUTrT   
unregistermodify)	r   r$   r&   r8   nowrX   thenexpected_s	   &        r   test_control_and_waitTestEPoll.test_control_and_wait   s   --/\\"
FMMONNV__4v~~E	G
FMMONNV__4v~~E	G nnA~~c)4:6]]_foo6]]_foo68)9: 2  	y!{# ##G$9$9:A.."Cggc1o%F>>#DTZ$./6{a ; ]]_fnnv&FG]]_fnnv&FGI)9: 	fmmo&
		&--/6??3nnA~~d*+]]_foo67*r   c                    V P                  \        \        P                  R4       V P                  \        \        P                  ! 4       P                  R\        P
                  4       R# )rJ   Nr@   r/   )r5   r6   r0   r   rK   rL   r   s   &r   test_errorsTestEPoll.test_errors   s?    *fllB7*flln&=&=r ..	*r   c                `   V P                  4       w  rVP                  4       p\        P                  ! ^4      pVP	                  V4       \
        P                  ! 4       pVP                  ^^4      p\
        P                  ! 4       pV P                  Wu,
          R8  4       VP                  4        V P                  \        4      ;_uu_ 4       pVP                  V4       RRR4       V P                  XP                  P                  \        P                   4       R#   + '       g   i     LF; i)r+   r`   N)r(   r3   r0   r   rK   rb   rc   rS   rF   r   r5   r   rh   r   	exceptionr    rV   )	r   r&   r$   fdr8   rj   rX   rk   cms	   &        r   test_unregister_closed TestEPoll.test_unregister_closed   s    --/]]_\\"
FnnA~~d*+w''2MM" (++U[[9 ('s   DD-	c                   \        \        R 4      pV P                  VP                  4       VP	                  4       p\
        P                  ! 4       pV P                  VP	                  4       \        4       V P                  VP                  4       VP                  4        V P                  VP                  4       V P                  \        VP                  4       VP                  4        V P                  \        VP                  V\
        P                  4       V P                  \        VP                   R4       V P                  \        VP"                  V\
        P                  4       V P                  \        VP$                  V4       R# )rbr_   N)open__file__
addCleanupr   r3   r0   r   assertIsInstanceintrF   r4   r2   r5   r6   ri   rL   rS   rK   rh   )r   	open_fileru   r   s   &   r   
test_closeTestEPoll.test_close   s   4(		( 	ellnc2& 	%*ell3 	 	*ellBG*ejj#6*ennb&..I*e&6&6;r   c                    \         P                  ! 4       pV P                  VP                  4       V P	                  \
        P                  ! VP                  4       4      R 4       R# )FN)r0   r   r}   r   r   osget_inheritabler3   )r   r   s   & r   test_fd_non_inheritable!TestEPoll.test_fd_non_inheritable  s>    $++ELLN;UCr   )r   r   N)__name__
__module____qualname____firstlineno__r   r   r(   r9   rB   rG   rO   rZ   rn   rq   rw   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r   *   sP     /* B1$L?*3+j*
:"<0D Dr   r   __main__)r    r   r0   r	   rb   unittesttestr   r7   SkipTestr   r   r%   ENOSYSTestCaser   r   mainr?   r   r   <module>r      s   0  	     vw


:
;;

LLN_D!! _DD zMMO O  
ww%,, @AA	
s   B B=
.B88B=