Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_poll.cpython-39.pyc

a

XC?h��@s�ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
z
ejWneyre�
d��Yn0dd�ZGdd�dej�Zedkr�e��dS)	�N)�TESTFN�reap_threads�cpython_onlyzselect.poll not definedcCs(g}|D]\}}||@r|�|�q|S)N)�append)�ready�flag�match�fd�mode�r�3/opt/alt/python39/lib64/python3.9/test/test_poll.py�find_ready_matchings
r
c@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_readersZbufrrr�
test_poll1sL







zPollTests.test_poll1c
Csht��\}}t�|�t�|�t��}|�|�|��}|�|d|tjf�tt	d��F}|�
�}t��}|�|�|��}|�|dd|�Wd�n1s�0Y|��}|�|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__rrrr�Nopeksr+c@seZdZdd�ZdS)z.PollTests.test_poll_unit_tests.<locals>.AlmostcSsdS)N�filenor)r"rrrr,osz5PollTests.test_poll_unit_tests.<locals>.Almost.filenoN)r(r)r*r,rrrr�Almostnsr-)rrrrrrrZPOLLNVAL�openrr,�unlink�assertRaises�	TypeErrorr �KeyError)
r"ZFDr&r#�r�fr	�pollsterr+r-rrr�test_poll_unit_testsLs4



2
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__r8rrrrZPOLLHUP�readline�failr)
r"�cmd�procr#r5ZtoutZfdlistr	�flags�linerrr�
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:)rrrr0�
OverflowErrorrC�
ValueErrorr)r"r5�xrrr�
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_MAXrI)
Z	_testcapirOrPrQrrrr0rKr)r"rOrPrQr5rrr�test_poll_c_limits�s
zPollTests.test_poll_c_limitsc
Cst��\}}|�tj|�|�tj|�g}td�D]&}t�|�}|�tj|�|�|�q4t��}|D]}|�	|tj
�qhtj|jd�}|�
�zRt�d�|D]}|�|�q�|�	|tj�|�t|j�Wt�|d�|��nt�|d�|��0dS)N�
)�targetg�?�spam)rrr@rr�duprrrrr�	threading�Thread�start�time�sleepr rr0rr�join)r"r3r&Zrfdsr$r	r5�trrr�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��.�+�)rT�argsg�������?)ZtimeoutrU)rrrrrrrWrXrYr\Z
assertTrueZis_aliverZassertFalser)r"Z
timeout_msr3r&r5Zpoll_threadrrr�!test_poll_blocks_with_negative_ms�s
z+PollTests.test_poll_blocks_with_negative_msN)r(r)r*r%r6rHrNrrRrr^�unittestZ
skipUnlessrWr`rrrrrs1,


r�__main__)rr<rrrWrZraZtest.supportrrrr�AttributeErrorZSkipTestr
ZTestCaserr(�mainrrrr�<module>s 
M