Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/test_epoll.cpython-34.pyc

�
f f�"�@sdZddlZddlZddlZddlZddlZddlZddlmZe	ed�sej
d��nyej�WnLek
r�Z
z,e
jejkr�ej
d��n�WYddZ
[
XnXGdd�dej�Zd	d
�Zedkre�ndS)z
Tests for epoll wrapper.
�N)�support�epollztest works only on Linux 2.6zkernel doesn't support epoll()c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�	TestEPollcCsBtj�|_|jjd�|jjd�|jg|_dS)N�	127.0.0.1r�)rr)�socket�serverSocketZbindZlisten�connections)�self�r�4/opt/alt/python34/lib64/python3.4/test/test_epoll.py�setUp,szTestEPoll.setUpcCs"x|jD]}|j�q
WdS)N)r	�close)r
Zsktrrr�tearDown2szTestEPoll.tearDowncCs�tj�}|jd�y$|jd|jj�df�Wn?tk
r~}z|j|jdtj	�WYdd}~Xn
Xt
d��|jj�\}}|jj
||f�||fS)NFz	127.0.0.1rrz&Connect should have raised EINPROGRESS)rZsetblockingZconnectrZgetsockname�OSError�assertEqual�args�errnoZEINPROGRESS�AssertionErrorZacceptr	�extend)r
�client�e�serverZaddrrrr�_connected_pair6s
$-zTestEPoll._connected_paircCs�ytjd�}Wn7tk
rL}ztt|���WYdd}~XnX|j|j�dk|j��|j|j�|j�|j|j�|j	t
|j�ttd�r�tjtj�j�|j	ttjdd�ndS)N�r�
EPOLL_CLOEXEC�flagsiD0)
�selectrrr�str�
assertTrue�fileno�closedr�assertRaises�
ValueError�hasattrr)r
�eprrrr�test_createDs%"
zTestEPoll.test_createcCs�|jttjddd�|jttjd�|jttjd�|jttjf�|jttjdg�|jttji�dS)Nr��Zfoo)r"�	TypeErrorrr)r
rrr�test_badcreateRszTestEPoll.test_badcreatec
Csetjd��-}|j|j�d�|j|j�WdQX|j|j�|jt|j�dS)Nrr)	rrZ
assertGreaterr �assertFalser!rr"r#)r
r%rrr�test_context_managerZs
zTestEPoll.test_context_managercCs�|j�\}}tjd�}zD|j|j�tjtjB�|j|j�tjtjB�Wd|j�Xtjd�}z8|j|tjtjB�|j|tjtjB�Wd|j�Xtjd�}z�|jt	|jt
�tjtjB�|jt	|jdtjtjB�|jt|jdtjtjB�|jt|jdtjtjB�|j|tjtjB�|jt|j|tjtjB�Wd|j�XdS)Nr'ri'���)
rrr�registerr �EPOLLIN�EPOLLOUTrr"r)�objectr#r)r
rrr%rrr�test_addas2 $zTestEPoll.test_addcCs=|j�\}}tjd�}tjj|j��}|j|j�tjtjB�|j|j�tjtjB�|jdd�}|jdd�}|j	t
|�d�|j	t
|�d�|j�y|jdd�WnBtk
r+}z"|j	|j
dtj|�WYdd}~XnX|jd�dS)Nr'r�g�������?rz%epoll on closed fd didn't raise EBADF)rrrZfromfdr r.r/r0�pollr�lenrrrrZEBADFZfail)r
rrr%Zep2�eventsZevents2rrrr�test_fromfd�s  
0zTestEPoll.test_fromfdcCsz|j�\}}tjd�}|j|j�tjtjBtjB�|j|j�tjtjBtjB�tj	�}|j
dd�}tj	�}|j||dk||�|j�|j�tjf|j�tjfg}|j�|j
||�|j
dddd�}|j|�|jd�|jd	�tj	�}|j
dd�}tj	�}|j||d
k�|j�|j�tjtjBf|j�tjtjBfg}|j�|j
||�|j|j��|j|j�tj�tj	�}|j
dd�}tj	�}|j||d
k�|j�tjfg}|j
||�dS)Nrrr3g�������?Ztimeoutg������@Z	maxeventssHello!sworld!!!g{�G�z�?)rrrr.r r/r0ZEPOLLET�time�	monotonicr4r+�sortr�send�
unregister�modify)r
rrr%�nowr6�thenZexpectedrrr�test_control_and_wait�sH






zTestEPoll.test_control_and_waitcCs<|jttjd�|jttj�jdtj�dS)Nr'r���r-)r"r#rrr.r/)r
rrr�test_errors�szTestEPoll.test_errorscCs�|j�\}}|j�}tjd�}|j|�tj�}|jdd�}tj�}|j||dk�|j	�|j
|�dS)Nrrr3g{�G�z�?)rr rrr.r8r9r4r+rr<)r
rr�fdr%r>r6r?rrr�test_unregister_closed�s

z TestEPoll.test_unregister_closedcCs�ttd�}|j|j�|j�}tj�}|j|j�t�|j	|j
�|j�|j|j
�|jt
|j�|j�|jt
|j|tj�|jt
|jd�|jt
|j|tj�|jt
|j|�dS)N�rbg�?)�open�__file__�
addCleanuprr rrZassertIsInstance�intr+r!rr"r#r=r/r4r.r<)r
Z	open_filerCrrrr�
test_close�s

zTestEPoll.test_closecCs?tj�}|j|j�|jtj|j��d�dS)NF)rrrHrr�os�get_inheritabler )r
rrrr�test_fd_non_inheritable�sz!TestEPoll.test_fd_non_inheritableN)�__name__�
__module__�__qualname__r
rrr&r*r,r2r7r@rBrDrJrMrrrrr*s&1rcCstjt�dS)N)rZrun_unittestrrrrr�	test_main�srQ�__main__)�__doc__rrKrrr8ZunittestZtestrr$ZSkipTestrrrZENOSYSZTestCaserrQrNrrrr�<module>s&�