Sindbad~EG File Manager
a
��g�$ �
@ s� d dl Z d dlZd dlZd dlZd dlZd dlZeed�sDe�d��ze�� W n< e y� Z
z$e
j e jkrve�d��� W Y dZ
[
n
dZ
[
0 0 G dd� dej�Z
edkr�e�� dS )� N�epollztest works only on Linux 2.6zkernel doesn't support epoll()c @ st e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� ZdS )� TestEPollc C s t �d�| _| jg| _d S )N)� 127.0.0.1r )�socket�
create_server�serverSocket�connections��self� r �+/usr/local/lib/python3.9/test/test_epoll.py�setUp+ s zTestEPoll.setUpc C s | j D ]}|�� qd S )N)r �close)r
Zsktr r r �tearDown/ s
zTestEPoll.tearDownc
C s� t � � }|�d� z|�d| j�� d f� W n8 tyf } z | �|jd tj � W Y d }~nd }~0 0 t
d��| j�� \}}| j�
||f� ||fS )NFr � r z&Connect should have raised EINPROGRESS)r �setblocking�connectr �getsockname�OSError�assertEqual�args�errnoZEINPROGRESS�AssertionError�acceptr �extend)r
�client�e�server�addrr r r �_connected_pair3 s
*zTestEPoll._connected_pairc
C s� zt �d�}W n0 ty> } ztt|���W Y d }~n
d }~0 0 | �|�� dk|�� � | �|j � |�� | �|j� | � t
|j� tt d�r�t �dt j��� t jt jd��� t jdd��� d S )N� r �
EPOLL_CLOEXEC�����flags)
�selectr r r �str�
assertTrue�fileno�closedr �assertRaises�
ValueError�hasattrr! )r
�epr r r r �test_createA s "
zTestEPoll.test_createc C s� | � ttjddd� | � ttjd� | � ttjd � | � ttjd� | � ttjdg� | � ttji � | � ttjd� | � ttjd� | j ttjdd� ttd �r�| j ttjd
d� d S )Nr � � Zfoor r ���)�sizehintr! iD0 r# )r* � TypeErrorr% r r+ r, r r r r r �test_badcreateQ s
zTestEPoll.test_badcreatec C sd t �d��,}| �|�� d� | �|j� W d � n1 s<0 Y | �|j� | �t|j� d S )Nr r ) r% r Z
assertGreaterr( �assertFalser) r'