Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_epoll.cpython-38.pyc

U

i�f$�
@s�dZddlZddlZddlZddlZddlZddlZeed�sHe�d��ze�	�Wn:e
k
r�Zzejejkr|e�d���W5dZ[XYnXGdd�dej
�Zedkr�e��dS)	z
Tests for epoll wrapper.
�N�epollztest works only on Linux 2.6zkernel doesn't support epoll()c@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�	TestEPollcCst�d�|_|jg|_dS)N)�	127.0.0.1r)�socketZ
create_server�serverSocket�connections��self�r
�4/opt/alt/python38/lib64/python3.8/test/test_epoll.py�setUp+szTestEPoll.setUpcCs|jD]}|��qdS)N)r�close)r	Zsktr
r
r�tearDown/s
zTestEPoll.tearDownc
Cs�t��}|�d�z|�d|j��df�Wn6tk
rd}z|�|jdtj	�W5d}~XYn
Xt
d��|j��\}}|j�
||f�||fS)NFr�rz&Connect should have raised EINPROGRESS)rZsetblockingZconnectrZgetsockname�OSError�assertEqual�args�errnoZEINPROGRESS�AssertionErrorZacceptr�extend)r	�client�e�serverZaddrr
r
r�_connected_pair3s
&zTestEPoll._connected_pairc
Cs�zt�d�}Wn.tk
r<}ztt|���W5d}~XYnX|�|��dk|���|�|j�|��|�|j�|�	t
|j�ttd�r�t�dtj���tjtjd���tjdd���dS)N�r�
EPOLL_CLOEXEC�����flags)
�selectrrr�str�
assertTrue�fileno�closedr
�assertRaises�
ValueError�hasattrr)r	�eprr
r
r�test_createAs
zTestEPoll.test_createcCs�|�ttjddd�|�ttjd�|�ttjd�|�ttjd�|�ttjdg�|�ttji�|�ttjd�|�ttjd�|jttjdd�ttd	�r�|jttjd
d�dS)Nr��Zfoor
r���)�sizehintriD0r)r$�	TypeErrorrrr%r&rrr
r
r�test_badcreateQs
zTestEPoll.test_badcreatec	CsPt�d��"}|�|��d�|�|j�W5QRX|�|j�|�t|j�dS)Nrr)	rrZ
assertGreaterr"�assertFalser#r!r$r%)r	r'r
r
r�test_context_manager`s
zTestEPoll.test_context_managercCsN|��\}}t�d�}z4|�|��tjtjB�|�|��tjtjB�W5|��Xt�d�}z,|�|tjtjB�|�|tjtjB�W5|��Xt�d�}z�|�t	|jt
�tjtjB�|�t	|jdtjtjB�|�t|jdtjtjB�|�t|jdtjtjB�|�|tjtjB�|�t|j|tjtjB�W5|��XdS)Nr)ri')
rrrr
�registerr"�EPOLLIN�EPOLLOUTr$r-�objectr%r)r	rrr'r
r
r�test_addgs<





�
�
�
�
�zTestEPoll.test_addc
Cs�|��\}}t�d��~}tj�|���}|�|��tjtjB�|�|��tjtjB�|�dd�}|�dd�}|�	t
|�d�|�	t
|�d�W5QRXz|�dd�Wn8tk
r�}z|�	|jdt
j|�W5d}~XYnX|�d�dS)Nr)r�g�������?rz%epoll on closed fd didn't raise EBADF)rrrZfromfdr"r1r2r3�pollr�lenrrrZEBADFZfail)r	rrr'Zep2�eventsZevents2rr
r
r�test_fromfd�s(zTestEPoll.test_fromfdcCs�|��\}}t�d�}|�|��tjtjBtjB�|�|��tjtjBtjB�t�	�}|�
dd�}t�	�}|�||dk||�|��tjf|��tjfg}|�t
|�t
|��|j
ddd�}|�|�|�d�|�d�t�	�}|�
dd�}t�	�}|�||d	k�|��tjtjBf|��tjtjBfg}|�t
|�t
|��|�|���|�|��tj�t�	�}|�
dd�}t�	�}|�||d	k�|��tjfg}|�||�dS)
Nrrr6g�������?)ZtimeoutZ	maxeventssHello!sworld!!!��?�{�G�z�?)rrrr1r"r2r3ZEPOLLET�time�	monotonicr7r/r�sortedZsendall�
unregister�modify)r	rrr'�nowr9�thenZexpectedr
r
r�test_control_and_wait�sH

�
��


�zTestEPoll.test_control_and_waitcCs,|�ttjd�|�tt��jdtj�dS)Nr+r)r$r%rrr1r2rr
r
r�test_errors�s�zTestEPoll.test_errorscCsl|��\}}|��}t�d�}|�|�t��}|�dd�}t��}|�||dk�|�	�|�
|�dS)Nrrr6r<)rr"rrr1r=r>r7r/r
r@)r	rr�fdr'rBr9rCr
r
r�test_unregister_closed�s

z TestEPoll.test_unregister_closedcCs�ttd�}|�|j�|��}t��}|�|��t�|�	|j
�|��|�|j
�|�t
|j�|��|�t
|j|tj�|�t
|jd�|�t
|j|tj�|�t
|j|�dS)N�rbr;)�open�__file__�
addCleanupr
r"rrZassertIsInstance�intr/r#r!r$r%rAr2r7r1r@)r	Z	open_filerFrr
r
r�
test_close�s
zTestEPoll.test_closecCs.t��}|�|j�|�t�|���d�dS)NF)rrrKr
r�os�get_inheritabler")r	rr
r
r�test_fd_non_inheritable�sz!TestEPoll.test_fd_non_inheritableN)�__name__�
__module__�__qualname__rrrr(r.r0r5r:rDrErGrMrPr
r
r
rr)s&/r�__main__)�__doc__rrNrrr=Zunittestr&ZSkipTestrrrZENOSYSZTestCaserrQ�mainr
r
r
r�<module>s$


Z