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.pyc



��Yf��@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)�readyZflag�match�fd�mode�r�3/opt/alt/python35/lib64/python3.5/test/test_poll.py�find_ready_matchings

r
c@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�randomZchoice�write�read�assertEqual�close�
unregister�remove)�self�pZ	NUM_PIPESZMSGZMSG_LENZreadersZwritersZr2wZw2r�iZrd�wrZbufsrZ
ready_writersZ
ready_readersZbufrrr�
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__rrrr�Nopeosr,c@seZdZdd�ZdS)z.PollTests.test_poll_unit_tests.<locals>.AlmostcSsdS)N�filenor)r"rrrr-ssz5PollTests.test_poll_unit_tests.<locals>.Almost.filenoN)r)r*r+r-rrrr�Almostrsr.)rrrrrrrZPOLLNVAL�openrr-�unlink�assertRaises�	TypeErrorr �KeyError)
r"ZFDr'r#�r�fr	�pollsterr,r.rrr�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<r=r>r?���)rC)
rCrCrCrCrCrCrCrCrCrC)rr;r<r=r>r?rCrCrCrCrCrCrCrCrCrC)�
subprocess�Popen�PIPE�	__enter__�
addCleanup�__exit__r9rrrrZPOLLHUP�readline�failr)
r"�cmd�procr#r6ZtoutZfdlistr	�flags�linerrr�
test_poll2|s2	
	



zPollTests.test_poll2cCs�tj�}|jd�|jt|jd�d	}|dkrN|jd�|jt|jdd
�|jt|jdd�|jt|jdd�|jt|jdd
�dS)Nr@�@�r(�zOverflow must have occurredrlrSrClrCl)rrrr1�
OverflowErrorrKr)r"r6�xrrr�
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_MAXr@)
Z	_testcapirWrXrYrrrr1rTr)r"rWrXrYr6rrr�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)NrA�targetg�?sspam)rrrHrr�duprrrrr�	threadingZThread�start�timeZsleepr rr1rr�join)r"r4r'Zrfdsr$r	r6�trrr�test_threaded_poll�s*



zPollTests.test_threaded_pollN)r)r*r+r&r7rPrVrrZ�unittestZ
skipUnlessr]rrbrrrrrs1-rcCstt�dS)N)rrrrrr�	test_main�srd�__main__)rrDrrr]�ImportErrorr_rcZtest.supportrrrrr�AttributeErrorZSkipTestr
ZTestCaserrdr)rrrr�<module>s&
"
�