Your IP : 216.73.216.85


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

U

i�f��@s�ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZz
ejWne
k
rxe�d��YnXdd�ZGdd�dej�Zdd	�Zed
kr�e�dS)�N)�TESTFN�run_unittest�reap_threads�cpython_onlyzselect.poll not definedcCs(g}|D]\}}||@r|�|�q|S�N)�append)�ready�flag�match�fd�mode�r
�3/opt/alt/python38/lib64/python3.8/test/test_poll.py�find_ready_matchings
rc@s\eZdZdd�Zdd�Zdd�Zdd�Zed	d
��Ze	dd��Z
e�e
d
�e	dd���ZdS)�	PollTestscCsrt��}d}d}t|�}g}g}i}i}t|�D]Z}	t��\}
}|�|
�|�|
tj�|�|tj	�|�
|
�|�
|�|||
<|
||<q0g}|�r\|��}
t|
tj	�}|s�td��t
�|�}t�||�|��}
t|
tj�}|s�td��t
�|�}
t�|
|�}|�t|�|�|�
|�t�||
�t�|
�|�||
�|�|
�|�||
�q�|�||g|�dS)N�s This is a test.zno pipes ready for writingzno pipes ready for reading)�select�poll�len�range�os�pipe�register�modify�POLLIN�POLLOUTrr�RuntimeError�randomZchoice�write�read�assertEqual�close�
unregister�remove)�self�pZ	NUM_PIPESZMSGZMSG_LENZreadersZwritersZr2wZw2r�iZrdZwrZbufsrZ
ready_writersZ
ready_readersZbufr
r
r�
test_poll1sN








zPollTests.test_poll1c
	CsTt��\}}t�|�t�|�t��}|�|�|��}|�|d|tjf�tt	d��<}|�
�}t��}|�|�|��}|�|dd|�W5QRX|��}|�|d|tjf�t�t	�t��}|�t
|j|�|�t
|j|�t��}|�t|jd�t��}Gdd�d�}Gdd�d�}	|�t
|j|�d�|�t
|j|	�d�dS)Nr�w�c@seZdZdS)z,PollTests.test_poll_unit_tests.<locals>.NopeN)�__name__�
__module__�__qualname__r
r
r
r�Nopeksr-c@seZdZdd�ZdS)z.PollTests.test_poll_unit_tests.<locals>.AlmostcSsdS)N�filenor
)r$r
r
rr.osz5PollTests.test_poll_unit_tests.<locals>.Almost.filenoN)r*r+r,r.r
r
r
r�Almostnsr/)rrr!rrrr ZPOLLNVAL�openrr.�unlink�assertRaises�	TypeErrorr"�KeyError)
r$ZFDr(r%�r�fr�pollsterr-r/r
r
r�test_poll_unit_testsLs4




zPollTests.test_poll_unit_testsc
Cs�d}tj|dtjdd�}|��|�|jddd�|j}t��}|�	|tj
�dD]�}|�|�}|gkrjqR|d\}}|tj@r�|��}	|	dkrR|�
d�qRqR|tj
@r�|��}	|	s�q�|�|	d�qRqR|�
d	|�qRdS)
Nz?for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; doneTr)�shell�stdout�bufsize)ri�i�i�i@i�>���r<r<r<r<r<r<r<r<r<�z6error: pipe seems to be closed, but still returns datastesting...
z,Unexpected return value from select.poll: %s)�
subprocess�Popen�PIPE�	__enter__�
addCleanup�__exit__r:rrrrZPOLLHUP�readline�failr )
r$�cmd�procr%r7ZtoutZfdlistr�flags�liner
r
r�
test_poll2xs4�



zPollTests.test_poll2cCs�t��}|�d�|�t|jd�d}|dkr8|�d�|�t|jdd�|�t|jdd�|�t|jdd�|�t|jdd�dS)N�l�zOverflow must have occurredrr<)rrrr2�
OverflowErrorrE�
ValueErrorr)r$r7�xr
r
r�
test_poll3�s

zPollTests.test_poll3cCs~ddlm}m}m}t��}|�d�|�t|jd|d�|�t|j	d|d�|�t|j|d�|�t|j|d�dS)Nr)�	USHRT_MAX�INT_MAX�UINT_MAXrK)
Z	_testcapirQrRrSrrrr2rMr)r$rQrRrSr7r
r
r�test_poll_c_limits�s
zPollTests.test_poll_c_limitsc
Cs�t��\}}|�tj|�|�tj|�g}td�D]&}t�|�}|�tj|�|�|�q4t��}|D]}|�	|tj
�qhtj|jd�}|�
�z>t�d�|D]}|�|�q�|�	|tj�|�t|j�W5t�|d�|��XdS)N�
)�target�spamg�?)rrrBr!r�duprrrrr�	threading�Thread�startr�join�time�sleepr"rr2r)r$r5r(Zrfdsr&rr7�tr
r
r�test_threaded_poll�s*

zPollTests.test_threaded_pollz!Threading required for this test.cCs�dD]�}t��\}}t��}|�|tj�tj|j|fd�}|��|j	dd�|�
|���t�|d�|�	�|�
|���t�|�t�|�qdS)N)Ni���r<g�g��������g0��.�+�)rV�argsg�������?)ZtimeoutrW)rrrrrrrYrZr[r\Z
assertTrueZis_aliverZassertFalser!)r$Z
timeout_msr5r(r7Zpoll_threadr
r
r�!test_poll_blocks_with_negative_ms�s
z+PollTests.test_poll_blocks_with_negative_msN)r*r+r,r'r8rJrPrrTrr`�unittestZ
skipUnlessrYrbr
r
r
rrs1,


rcCstt�dSr)rrr
r
r
r�	test_main�srd�__main__)rr>rrrYr]rcZtest.supportrrrrr�AttributeErrorZSkipTestrZTestCaserrdr*r
r
r
r�<module>s"
M