Your IP : 216.73.217.129


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_poll.cpython-35.opt-2.pyc



���]��@sddlZddlZddlZddlZyddlZWnek
rZdZYnXddlZddlZddlm	Z	m
Z
mZmZyej
Wn!ek
r�ejd��YnXdd�ZGdd�dej�Zdd	�Zed
kre�dS)�N)�TESTFN�run_unittest�reap_threads�cpython_onlyzselect.poll not definedcCs8g}x+|D]#\}}||@r
|j|�q
W|S)N)�append)�ready�flag�match�fd�mode�r�./opt/alt/python35/lib64/python3.5/test_poll.py�find_ready_matchings

rc@sveZdZdd�Zdd�Zdd�Zdd�Zed	d
��Ze	j
ed�edd
���Z
dS)�	PollTestscCstj�}d}d}t|�}g}g}i}i}x�t|�D]y}	tj�\}
}|j|
�|j|
tj�|j|tj	�|j
|
�|j
|�|||
<|
||<qIWg}x|r�|j�}
t|
tj	�}|std��t
j|�}tj||�|j�}
t|
tj�}|sTtd��t
j|�}
tj|
|�}|jt|�|�|j
|�tj||
�tj|
�|j||
�|j|
�|j||
�q�W|j||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�random�choice�write�read�assertEqual�close�
unregister�remove)�self�pZ	NUM_PIPESZMSGZMSG_LENZreadersZwritersZr2wZw2r�iZrd�wrZbufsrZ
ready_writersZ
ready_readers�bufrrr
�
test_poll1sN



	


zPollTests.test_poll1c
Cs�tj�\}}tj|�tj|�tj�}|j|�|j�}|j|d|tjf�tt	d�}|j
�}tj�}|j|�|j�}|j|dd|�|j�|j�}|j|d|tjf�tjt	�tj�}|jt
|j|�|jt
|j|�tj�}|jt|jd�tj�}Gdd�d�}Gdd�d�}	|jt
|j|�d�|jt
|j|	�d�dS)Nr�w�c@seZdZdS)z,PollTests.test_poll_unit_tests.<locals>.NopeN)�__name__�
__module__�__qualname__rrrr
�Nopeosr/c@seZdZdd�ZdS)z.PollTests.test_poll_unit_tests.<locals>.AlmostcSsdS)N�filenor)r$rrr
r0ssz5PollTests.test_poll_unit_tests.<locals>.Almost.filenoN)r,r-r.r0rrrr
�Almostrsr1)rrr!rrrr �POLLNVAL�openrr0�unlink�assertRaises�	TypeErrorr"�KeyError)
r$ZFDr*r%�r�fr
�pollsterr/r1rrr
�test_poll_unit_testsOs6





zPollTests.test_poll_unit_testsc
Cs7d}tj|dddtjdd�}|j�|j|jddd�|j}tj�}|j	|tj
�x�dD]�}|j|�}|gkr�q||d\}}|tj@r�|j�}	|	dkr||j
d�q|q||tj
@r|j�}	|	sP|j|	d�q|q||j
d|�q|WdS)Nz?for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done�shellT�stdout�bufsizer������@�>��
�z6error: pipe seems to be closed, but still returns datastesting...
z,Unexpected return value from select.poll: %s)rr?r@rArBrC���)rG)
rGrGrGrGrGrGrGrGrGrG)rr?r@rArBrCrGrGrGrGrGrGrGrGrGrG)�
subprocess�Popen�PIPE�	__enter__�
addCleanup�__exit__r=rrrr�POLLHUP�readline�failr )
r$�cmd�procr%r:ZtoutZfdlistr
�flags�linerrr
�
test_poll2|s2	
	



zPollTests.test_poll2cCs�tj�}|jd�|jt|jd�d	}|dkrN|jd�|jt|jdd
�|jt|jdd�|jt|jdd�|jt|jdd
�dS)NrD�@�r+�zOverflow must have occurredrlrXrGlrGl)rrrr5�
OverflowErrorrPr)r$r:�xrrr
�
test_poll3�s

zPollTests.test_poll3cCs�ddlm}m}m}tj�}|jd�|jt|jd|d�|jt|j	d|d�|jt|j|d�|jt|j|d�dS)Nr)�	USHRT_MAX�INT_MAX�UINT_MAXrD)
Z	_testcapir\r]r^rrrr5rYr)r$r\r]r^r:rrr
�test_poll_c_limits�s
zPollTests.test_poll_c_limitsz!Threading required for this test.cCsJtj�\}}|jtj|�|jtj|�g}xCtd�D]5}tj|�}|jtj|�|j|�qKWtj�}x!|D]}|j	|tj
�q�Wtjd|j�}|j
�zUtjd�x|D]}|j|�q�W|j	|tj�|jt|j�Wdtj|d�|j�XdS)NrE�targetg�?sspam)rrrLr!r�duprrrrr�	threading�Thread�start�time�sleepr"rr5rr�join)r$r8r*Zrfdsr&r
r:�trrr
�test_threaded_poll�s*



zPollTests.test_threaded_pollN)r,r-r.r)r;rUr[rr_�unittestZ
skipUnlessrbrrirrrr
rs1-rcCstt�dS)N)rrrrrr
�	test_main�srk�__main__)rrHrrrb�ImportErrorrerjZtest.supportrrrrr�AttributeErrorZSkipTestrZTestCaserrkr,rrrr
�<module>s&
"
�