python (3.11.7)
    e$                     D   d Z ddlZddlZddlZddlZddlZddlZ eed          s ej        d          	  ej	                     n.# e
$ r&Zej        ej        k    r ej        d           dZ[ww xY w G d dej
                  Zedk    r ej                     dS dS )	z
Tests for epoll wrapper.
    Nepollztest works only on Linux 2.6zkernel doesn't support epoll()c                   \    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Z
d Zd
 ZdS )	TestEPollc                 R    t          j        d          | _        | j        g| _        d S )N)	127.0.0.1r   )socket
create_serverserverSocketconnectionsselfs    C/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_epoll.pysetUpzTestEPoll.setUp+   s*    "01ABB -.    c                 B    | j         D ]}|                                 d S )N)r   close)r
   skts     r   tearDownzTestEPoll.tearDown/   s-    # 	 	CIIKKKK	 	r   c                    t          j                     }|                    d           	 |                    d| j                                        d         f           t          d          # t          $ r5}|                     |j        d         t          j
                   Y d }~nd }~ww xY w| j                                        \  }}| j        
                    ||f           ||fS )NFr      z&Connect should have raised EINPROGRESSr   )r   setblockingconnectr
   getsocknameAssertionErrorOSErrorassertEqualargserrnoEINPROGRESSacceptr   extend)r
   clienteserveraddrs        r   _connected_pairzTestEPoll._connected_pair3   s    5!!!	KNNK):)F)F)H)H)KLMMM !!IJJJ  	; 	; 	;QVAY(9::::::::	; (//11 0111v~s   4A- -
B,7+B''B,c                    	 t          j        d          }n.# t          $ r!}t          t	          |                    d }~ww xY w|                     |                                dk    |                                           |                     |j                    |                                 |                     |j                   | 	                    t          |j                   t          t           d          rt          j        dt           j                                                   t          j        t           j                                                   t          j        d                                           d S d S )N   r   
EPOLL_CLOEXECflags)
selectr   r   r   str
assertTruefilenoclosedr   assertRaises
ValueErrorhasattrr)   )r
   epr#   s      r   test_createzTestEPoll.test_createA   sF   	)b!!BB 	) 	) 	) Q(((	)		a555BI
&&&
	"""*bi0006?++ 	*LV12288:::Lv3444::<<<Lq!!!'')))))	* 	*s    
A=Ac                 6   |                      t          t          j        ddd           |                      t          t          j        d           |                      t          t          j        d            |                      t          t          j        d           |                      t          t          j        dg           |                      t          t          j        i            |                      t          t          j        d           |                      t          t          j        d           |                      t          t          j        d           t          t          d	          r)|                      t          t          j        d
           d S d S )Nr         foo r   )sizehintr)   iD0  r+   )r2   	TypeErrorr-   r   r3   r4   r   r   s    r   test_badcreatezTestEPoll.test_badcreateQ   s7   )V\1a;;;)V\5999)V\4888)V\2666)V\E7;;;)V\2666*flA666*flB777*flR@@@6?++ 	Bgv|5AAAAA	B 	Br   c                 V   t          j        d          5 }|                     |                                d           |                     |j                   d d d            n# 1 swxY w Y   |                     |j                   |                     t          |j                   d S )Nr(   r   )	r-   r   
assertGreaterr0   assertFalser1   r/   r2   r3   )r
   r5   s     r   test_context_managerzTestEPoll.test_context_manager`   s    
\"
 	(ryy{{A...RY'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	
	"""*bi00000s   AA$$A(+A(c                     |                                  \  }}t          j        d          }	 |                    |                                t          j        t          j        z             |                    |                                t          j        t          j        z             |                                 n# |                                 w xY wt          j        d          }	 |                    |t          j        t          j        z             |                    |t          j        t          j        z             |                                 n# |                                 w xY wt          j        d          }	 |                     t          |j        t                      t          j        t          j        z             |                     t          |j        d t          j        t          j        z             |                     t          |j        dt          j        t          j        z             |                     t          |j        dt          j        t          j        z             |                    |t          j        t          j        z             |                     t          |j        |t          j        t          j        z             |                                 d S # |                                 w xY w)Nr8   r*   i'