File: //usr/local/lib/python3.7/test/__pycache__/test_epoll.cpython-37.pyc
B
��g�# �
@ s� d Z ddlZddlZddlZddlZddlZddlZeed�sHe�d��ye� � W n: e
k
r� Z zejejkr|e�d��� W ddZ[X Y nX G dd� dej
�Zedkr�e�� dS ) z
Tests for epoll wrapper.
� 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 � � | _| j�d� | j�� | jg| _d S )N)z 127.0.0.1r )�socket�serverSocketZbindZlisten�connections)�self� r �+/usr/local/lib/python3.7/test/test_epoll.py�setUp+ s
zTestEPoll.setUpc C s x| j D ]}|�� qW d S )N)r �close)r Zsktr r r �tearDown1 s zTestEPoll.tearDownc
C s� t � � }|�d� y|�d| j�� d f� W n6 tk
rd } z| �|jd tj � W d d }~X Y n
X t
d��| j�� \}}| j�
||f� ||fS )NFz 127.0.0.1� r z&Connect should have raised EINPROGRESS)r ZsetblockingZconnectr Zgetsockname�OSError�assertEqual�args�errnoZEINPROGRESS�AssertionErrorZacceptr �extend)r �client�e�serverZaddrr r r �_connected_pair5 s
&zTestEPoll._connected_pairc
C s� yt �d�}W n. tk
r< } ztt|���W d d }~X Y nX | �|�� 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_createC 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"