Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/test/__pycache__/test_kqueue.cpython-34.pyo

�
f f� �@s�dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	e
ed�s�ejd��nGdd�dej�Z
dd	�Zed
kr�e�ndS)z
Tests for kqueue wrapper.
�N)�support�kqueueztest works only on BSDc@sXeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
TestKQueuecCsptj�}|j|j�dk|j��|j|j�|j�|j|j�|jt|j�dS)Nr)�selectr�
assertTrue�fileno�closed�close�assertRaises�
ValueError)�self�kq�r�5/opt/alt/python34/lib64/python3.4/test/test_kqueue.py�test_create_queues"
zTestKQueue.test_create_queuec
Cs�ddlm}m}m}m}tjtjtj�}|j	tj
|�tj|�}tjd�}|j
|j|�|j
|jtj�|j
|jtj�|j
|jd�|j
|jd�|j
|jd�|j
||�|j||�|j||k�|j||k�x\||||fD]H}|jt||d�|jt||d�|jt||d�q<Wtj|tj�}|j
|j|�|j
|jtj�|j
|jtj�|j
|jd�|j
|jd�|j
|jd�|j
||�|j||�tj|tjtj�}|j
|j|�|j
|jtj�|j
|jtj�|j
|jd�|j
|jd�|j
|jd�|j
||�|j||�tjddddd	d
�}|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jd	�|j
|jd
�|j
||�|j||�d}	tj|	ddd|	d|	�}|j
|j|	�|j
|jd�|j
|jd�|j
|jd�|j
|j|	d�|j
|j|	�|j
||�|j||�d}	tjdd|	�}|j
|jd�|j
|jd�|j
|j|	�|j
|jd�|j
|jd�|j
|jd�|j
||�|j||�d
}	tjddd|	�}|j
|jd�|j
|jd�|j
|jd�|j
|j|	�|j
|jd�|j
|jd�|j
||�|j||�dS)Nr)�lt�le�gt�gei���ev�����i�i��l��)�operatorrrrr�os�open�devnull�O_WRONLY�
addCleanupr	r�kevent�assertEqual�ident�filter�KQ_FILTER_READ�flags�	KQ_EV_ADDZfflags�dataZudataZassertNotEqualrr
�	TypeError�KQ_FILTER_WRITEZ
KQ_EV_ONESHOT)
rrrrr�fdr�other�opZbignumrrr�test_create_events�""zTestKQueue.test_create_eventcCs0tj�}|jd�|jd�tj�}|jd�y!|jd|j�df�Wn?tk
r�}z|j|jdt	j
�WYdd}~XnX|j�\}}tj
�}tj
j|j��}tj|j�tjtjtjB�}|j|gd�tj|j�tjtjtjB�}|j|gd�tj|j�tjtjtjB�}|j|gd�tj|j�tjtjtjB�}|j|gd�|jddd�}	tdd�|	D��}	|j|	t|j�tjf|j�tjfg��|jd�|jd	�xYtd
�D]>}
|jddd�}	t|	�dkr�Pntjd�qSW|jd�td
d�|	D��}	|j|	t|j�tjf|j�tjf|j�tjf|j�tjfg��tj|j�tjtj�}|j|gd�tj|j�tjtj�}|j|gd�tj|j�tjtj�}|j|gdd�|jgdd�}	tdd�|	D��}	|j|	t|j�tjfg��|j�|j�|j�dS)N�	127.0.0.1rrFrcss!|]}|j|jfVqdS)N)r$r%)�.0�errr�	<genexpr>�sz.TestKQueue.test_queue_event.<locals>.<genexpr>sHello!sworld!!!�
g�?z'timeout waiting for event notificationscss!|]}|j|jfVqdS)N)r$r%)r1r2rrrr3�sg�G�z��?css!|]}|j|jfVqdS)N)r$r%)r1r2rrrr3�s)r0r)�socketZbindZlistenZsetblockingZconnectZgetsockname�OSErrorr#�args�errnoZEINPROGRESSZacceptrrZfromfdrr"r+r(�KQ_EV_ENABLE�controlr&�set�send�range�len�timeZsleepZfailZKQ_EV_DELETEr	)rZserverSocketZclientr2ZserverZaddrr
Zkq2rZevents�irrr�test_queue_eventrs�


!-




zTestKQueue.test_queue_eventcCs�tj�}tj�\}}|jd�tj|tjtjtjB�}tj|tjtjtjB�}|j	||gdd�}|j
|�|j|djtj
@�|j|j|dj�d�|j�|j�|j�dS)Nsfoorr)rrr5Z
socketpairr<r"r&r(r9r:r�assertFalser'ZKQ_EV_ERRORr#Zrecvr)r	)rr
�a�bZevent1Zevent2�rrrr�testPair�s
""
 

zTestKQueue.testPaircCs�ttd�}|j|j�|j�}tj�}|j|j�t�|j	|j
�|j�|j|j
�|jt
|j�|j�|jt
|jdd�dS)N�rbr)r�__file__r!r	rrrZassertIsInstance�intrBrrr
rr:)rZ	open_filer,rrrr�
test_close�s

zTestKQueue.test_closecCs?tj�}|j|j�|jtj|j��d�dS)NF)rrr!r	r#r�get_inheritabler)rrrrr�test_fd_non_inheritable�sz"TestKQueue.test_fd_non_inheritableN)	�__name__�
__module__�__qualname__rr/rArFrJrLrrrrrsYSrcCstjt�dS)N)rZrun_unittestrrrrr�	test_main�srP�__main__)�__doc__r8rrr5�sysr?ZunittestZtestr�hasattrZSkipTestZTestCaserrPrMrrrr�<module>s�