Your IP : 216.73.216.196


Current Path : /opt/alt/python37/lib64/python3.7/test/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/test/__pycache__/test_poll.cpython-37.pyc

B

� f��@s�ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZy
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}x"|D]\}}||@r
|�|�q
W|S)N)�append)�ready�flag�match�fd�mode�r�3/opt/alt/python37/lib64/python3.7/test/test_poll.py�find_ready_matchings
rc@s\eZdZdd�Zdd�Zdd�Zdd�Zed	d
��Ze	dd��Z
e�e
d
�e	dd���ZdS)�	PollTestscCszt��}d}d}t|�}g}g}i}i}xft|�D]Z}	t��\}
}|�|
�|�|
tj�|�|tj	�|�
|
�|�
|�|||
<|
||<q2Wg}x�|�rb|��}
t|
tj	�}|s�td��t
�|�}t�||�|��}
t|
tj�}|s�td��t
�|�}
t�|
|�}|�t|�|�|�
|�t�||
�t�|
�|�||
�|�|
�|�||
�q�W|�||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
CsPt��\}}t�|�t�|�t��}|�|�|��}|�|d|tjf�tt	d�}|�
�}t��}|�|�|��}|�|dd|�|��|��}|�|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
�Nopelsr,c@seZdZdd�ZdS)z.PollTests.test_poll_unit_tests.<locals>.AlmostcSsdS)N�filenor)r#rrr
r-psz5PollTests.test_poll_unit_tests.<locals>.Almost.filenoN)r)r*r+r-rrrr
�Almostosr.)rrr rrrrZPOLLNVAL�openrr-�unlink�assertRaises�	TypeErrorr!�KeyError)
r#ZFDr'r$�r�fr
�pollsterr,r.rrr
�test_poll_unit_testsLs6





zPollTests.test_poll_unit_testsc
Cs�d}tj|dtjdd�}|��|�|jddd�|j}t��}|�	|tj
�x�dD]�}|�|�}|gkrlqT|d\}}|tj@r�|��}	|	dkrT|�
d�qTqT|tj
@r�|��}	|	s�P|�|	d�qTqT|�
d	|�qTWdS)
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__r9rrrrZPOLLHUP�readline�failr)
r#�cmd�procr$r6ZtoutZfdlistr
�flags�linerrr
�
test_poll2ys2




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;)rrrr1�
OverflowErrorrDr)r#r6�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_MAXrJ)
Z	_testcapirOrPrQrrrr1rLr)r#rOrPrQr6rrr
�test_poll_c_limits�s
zPollTests.test_poll_c_limitsc
Cs�t��\}}|�tj|�|�tj|�g}x2td�D]&}t�|�}|�tj|�|�|�q6Wt��}x|D]}|�	|tj
�qnWtj|jd�}|�
�zBt�d�x|D]}|�|�q�W|�	|tj�|�t|j�Wdt�|d�|��XdS)N�
)�targetg�?sspam)rrrAr r�duprrrrr�	threading�Thread�start�timeZsleepr!rr1rr�join)r#r4r'Zrfdsr%r
r6�trrr
�test_threaded_poll�s*



zPollTests.test_threaded_pollz!Threading required for this test.cCs�x�dD]�}t��\}}t��}|�|tj�tj|j|fd�}|��|j	dd�|�
|���t�|d�|�	�|�
|���t�|�t�|�qWdS)N)Ni���r;g�g��������g0��.�+�)rT�argsg�������?)Ztimeoutsspam)rrrrrrrVrWrXrZZ
assertTrueZis_aliverZassertFalser )r#Z
timeout_msr4r'r6Zpoll_threadrrr
�!test_poll_blocks_with_negative_ms�s

z+PollTests.test_poll_blocks_with_negative_msN)r)r*r+r&r7rIrNrrRrr\�unittestZ
skipUnlessrVr^rrrr
rs1-
rcCstt�dS)N)rrrrrr
�	test_main�sr`�__main__)rr=rrrVrYr_Ztest.supportrrrrr�AttributeErrorZSkipTestrZTestCaserr`r)rrrr
�<module>s"
N