Your IP : 216.73.216.85
��Yf� � @ s� d Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z e e d � sx e j d � � Gd d � d e j
� Z e d k r� e j
� d S)z
Tests for kqueue wrapper.
� N�kqueueztest works only on BSDc @ sX e Z d Z d d � Z d d � Z d d � Z d d � Z d d
� Z d d � Z d
S)�
TestKQueuec C sp t j � } | j | j � d k | j � � | j | j � | j � | j | j � | j t | j � d S)Nr )�selectr �
assertTrue�fileno�closed�close�assertRaises�
ValueError)�self�kq� r
�5/opt/alt/python35/lib64/python3.5/test/test_kqueue.py�test_create_queue s "
zTestKQueue.test_create_queuec
C s� d d l m } m } m } m } t j t j t j � } | j t j
| � t j | � } t j d � } | j
| j | � | j
| j t j � | j
| j t j � | j
| j d � | j
| j d � | j
| j d � | j
| | � | j | | � | j | | k � | j | | k � x\ | | | | f D]H } | j t | | d � | j t | | d � | j t | | d � q<Wt j | t j � } | j
| j | � | j
| j t j � | j
| j t j � | j
| j d � | j
| j d � | j
| j d � | j
| | � | j | | � t j | t j t j � } | j
| j | � | j
| j t j � | j
| j t j � | j
| j d � | j
| j d � | j
| j d � | j
| | � | j | | � t j d d d d d d
� } | j
| j d � | j
| j d � | j
| j d � | j
| j d � | j
| j d � | j
| j d
� | j
| | � | j | | � d } t j | d d d | d | � } | j
| j | � | j
| j d � | j
| j d � | j
| j d � | j
| j | d � | j
| j | � | j
| | � | j | | � d } t j d d | � } | j
| j d � | j
| j d � | j
| j | � | j
| j d � | j
| j d � | j
| j d � | j
| | � | j | | � d
} t j d d d | � } | j
| j d � | j
| j d � | j
| j d � | j
| j | � | j
| j d � | j
| j d � | j
| | � | j | | � 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 j � } | j d � | j � t j � } | j d � y! | j d | j � d f � Wn? t k
r� } z | j | j d t j
� WYd d } ~ Xn X| j � \ } } t j
� } t j
j | j � � } t j | j � t j t j t j B� } | j | g d � t j | j � t j t j t j B� } | j | g d � t j | j � t j t j t j B� } | j | g d � t j | j � t j t j t j B� } | j | g d � | j d d d � } t d d � | D� � } | j | t | j � t j f | j � t j f g � � | j d � | j d � xV t d
� D]; }
| j d d d � } t | � d k r~Pt j d � qPW| j d � t d
d � | D� � } | j | t | j � t j f | j � t j f | j � t j f | j � t j f g � � t j | j � t j t j � } | j | g d � t j | j � t j t j � } | j | g d � t j | j � t j t j � } | j | g d d � | j g d d � } t d d � | D� � } | j | t | j � t j f g � � | j � | j � | j � d S)N� 127.0.0.1r Fr r c s s! | ] } | j | j f Vq d 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 | j f Vq d S)N)r# r$ )r0 r1 r
r
r r2 � s g�G�z��?c s s! | ] } | j | j f Vq d S)N)r# r$ )r0 r1 r
r
r r2 � s )r/ r )�socketZbindZlistenZsetblockingZconnectZgetsockname�OSErrorr"