File: //usr/local/lib/python3.7/test/__pycache__/test_kqueue.cpython-37.pyc
B
��g9# � @ sn d Z ddlZddlZddlZddlZddlZddlZeed�sHe�d��G dd� dej �Z
edkrje�� dS )z
Tests for kqueue wrapper.
� N�kqueueztest works only on BSDc @ sD e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dS )�
TestKQueuec C sT t �� }| �|�� dk|�� � | �|j � |�� | �|j� | �t|j� d S )Nr )�selectr �
assertTrue�fileno�closed�close�assertRaises�
ValueError)�self�kq� r
�,/usr/local/lib/python3.7/test/test_kqueue.py�test_create_queue s zTestKQueue.test_create_queuec
C s* ddl m}m}m}m} t�tjtj�}| � tj
|� t�|�}t�d�}| �
|j|� | �
|jtj� | �
|jtj� | �
|jd� | �
|jd� | �
|jd� | �
||� | �||� | �||k � | �||k� xD||||fD ]4}| �t||d � | �t||d� | �t||d� q�W t�|tj�}| �
|j|� | �
|jtj� | �
|jtj� | �
|jd� | �
|jd� | �
|jd� | �
||� | �||� t�|tjtj�}| �
|j|� | �
|jtj� | �
|jtj� | �
|jd� | �
|jd� | �
|jd� | �
||� | �||� t�ddddd d
�}| �
|jd� | �
|jd� | �
|jd� | �
|jd� | �
|jd � | �
|jd
� | �
||� | �||� d} t�| ddd| d | �}| �
|j| � | �
|jd� | �
|jd� | �
|jd� | �
|j| d � | �
|j| � | �
||� | �||� d} t�dd| �}| �
|jd� | �
|jd� | �
|j| � | �
|jd� | �
|jd� | �
|jd� | �
||� | �||� d
} t�ddd| �}| �
|jd� | �
|jd� | �
|jd� | �
|j| � | �
|jd� | �
|jd� | �
||� | �||� d S )Nr )�lt�le�gt�gei� � �ev� � � � � i� i�� l �� )�operatorr r r r �os�open�devnull�O_WRONLY�
addCleanupr r �kevent�assertEqual�ident�filter�KQ_FILTER_READ�flags� KQ_EV_ADDZfflags�dataZudataZassertNotEqualr r � TypeError�KQ_FILTER_WRITEZ
KQ_EV_ONESHOT)
r r r r r �fdr �other�opZbignumr
r
r �test_create_event s�
zTestKQueue.test_create_eventc
C s t � � }|�d� |�� t � � }|�d� y|�d|�� d f� W n6 tk
r| } z| �|jd t j
� W d d }~X Y nX |�� \}}t�
� }tj
�|�� �}t�|�� tjtjtjB �}|�|gd� t�|�� tjtjtjB �}|�|gd� t�|�� tjtjtjB �}|�|gd� t�|�� tjtjtjB �}|�|gd� |�d dd�} tdd� | D ��} | �| t|�� tjf|�� tjfg�� |�d � |�d
� xDtd�D ].}
|�d dd�} t| �dk�r�P t�d� �q�W | �d
� tdd� | D ��} | �| t|�� tjf|�� tjf|�� tjf|�� tjfg�� t�|�� tjtj�}|�|gd� t�|�� tjtj�}|�|gd� t�|�� tjtj�}|�|gdd� |�g dd�} tdd� | D ��} | �| t|�� tjfg�� |�� |�� |�� d S )N)z 127.0.0.1r Fz 127.0.0.1r r r c s s | ]}|j |jfV qd S )N)r# r$ )�.0�er
r
r � <genexpr>� s z.TestKQueue.test_queue_event.<locals>.<genexpr>s Hello!s world!!!�
g �?z'timeout waiting for event notificationsc s s | ]}|j |jfV qd S )N)r# r$ )r/ r0 r
r
r r1 � s g�G�z��?c s s | ]}|j |jfV qd S )N)r# r$ )r/ r0 r
r
r r1 � s )�socketZbindZlistenZsetblockingZconnectZgetsockname�OSErrorr"