Your IP : 216.73.216.85


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



��Yf� �@s�dZddlZddlZddlZddlZddlZddlZddlZeed�sxej	d��Gdd�dej
�Zedkr�ej
�dS)z
Tests for kqueue wrapper.
�N�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/python35/lib64/python3.5/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�
addCleanuprr�kevent�assertEqual�ident�filter�KQ_FILTER_READ�flags�	KQ_EV_ADDZfflags�dataZudataZassertNotEqualrr	�	TypeError�KQ_FILTER_WRITEZ
KQ_EV_ONESHOT)
rrrrr�fdr�other�opZbignumr
r
r�test_create_events�""zTestKQueue.test_create_eventcCs*tj�}|jd�|j�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	�xVtd
�D];}
|jddd�}	t|	�dkr~Ptjd�qPW|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.1rFrrcss!|]}|j|jfVqdS)N)r#r$)�.0�er
r
r�	<genexpr>�sz.TestKQueue.test_queue_event.<locals>.<genexpr>sHello!sworld!!!�
g�?z'timeout waiting for event notificationscss!|]}|j|jfVqdS)N)r#r$)r0r1r
r
rr2�sg�G�z��?css!|]}|j|jfVqdS)N)r#r$)r0r1r
r
rr2�s)r/r)�socketZbindZlistenZsetblockingZconnectZgetsockname�OSErrorr"�args�errnoZEINPROGRESSZacceptrrZfromfdrr!r*r'�KQ_EV_ENABLE�controlr%�set�send�range�len�timeZsleepZfailZKQ_EV_DELETEr)rZserverSocketZclientr1ZserverZaddrrZkq2rZevents�ir
r
r�test_queue_eventqs�


!-




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)rrr4Z
socketpairr;r!r%r'r8r9r�assertFalser&ZKQ_EV_ERRORr"Zrecvr(r)rr�a�bZevent1Zevent2�rr
r
r�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 rrrrZassertIsInstance�intrArrr	r
r9)rZ	open_filer+rr
r
r�
test_close�s

zTestKQueue.test_closecCs?tj�}|j|j�|jtj|j��d�dS)NF)rrr rr"r�get_inheritabler)rrr
r
r�test_fd_non_inheritable�sz"TestKQueue.test_fd_non_inheritableN)	�__name__�
__module__�__qualname__rr.r@rErIrKr
r
r
rrsYSr�__main__)�__doc__r7rrr4�sysr>Zunittest�hasattrZSkipTestZTestCaserrL�mainr
r
r
r�<module>s�