Ñò
à"Ic        
   @   s¿   d  Z  d d k Z d d k Z d d k Z d d k Z d d k Z d d k Z d d k l Z e	 e d ƒ p e i
 d ƒ ‚ n d e i f d „  ƒ  YZ d „  Z e d	 j o e ƒ  n d S(
   s   
Tests for kqueue wrapper.
iÿÿÿÿN(   t   test_supportt   kqueues   test works only on BSDt
   TestKQueuec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sp   t  i ƒ  } |  i | i ƒ  d j | i ƒ  ƒ |  i | i ƒ | i ƒ  |  i | i ƒ |  i t | i ƒ d  S(   Ni    (   t   selectR   t   assert_t   filenot   closedt   closet   assertRaisest
   ValueError(   t   selft   kq(    (    s-   /mit/python/lib/python2.6/test/test_kqueue.pyt   test_create_queue   s    "
c         C   sZ  t  i i ƒ  } t i | ƒ } t i d ƒ } |  i | i | ƒ |  i | i t i ƒ |  i | i	 t i
 ƒ |  i | i d ƒ |  i | i d ƒ |  i | i d ƒ |  i | | ƒ |  i | | ƒ |  i t | | ƒ d ƒ |  i | | j  ƒ |  i | | j ƒ |  i t t | d  ƒ |  i t t | d ƒ |  i t t | d ƒ t i | t i ƒ } |  i | i | ƒ |  i | i t i ƒ |  i | i	 t i
 ƒ |  i | i d ƒ |  i | i d ƒ |  i | i d ƒ |  i | | ƒ |  i | | ƒ t i | t i t i ƒ } |  i | i | ƒ |  i | i t i ƒ |  i | i	 t i ƒ |  i | i d ƒ |  i | i d ƒ |  i | i d ƒ |  i | | ƒ |  i | | ƒ t i d d d d d	 d
 ƒ } |  i | i d ƒ |  i | i d ƒ |  i | i	 d ƒ |  i | i d ƒ |  i | i d	 ƒ |  i | i d
 ƒ |  i | | ƒ |  i | | ƒ d  S(   Niè  i    iÿÿÿÿi   t   evi   i   i   i   i   (   t   syst   stderrR   R   t   keventt   assertEqualt   identt   filtert   KQ_FILTER_READt   flagst	   KQ_EV_ADDt   fflagst   datat   udatat   assertNotEqualt   cmpR   R   t	   TypeErrort   Nonet   KQ_FILTER_WRITEt   KQ_EV_ONESHOT(   R
   t   fdR   t   other(    (    s-   /mit/python/lib/python2.6/test/test_kqueue.pyt   test_create_event   sX    c         C   s¼  t  i  ƒ  } | i d
 ƒ | i d ƒ t  i  ƒ  } | i t ƒ y! | i d | i ƒ  d f ƒ Wn2 t  i j
 o# } |  i | i	 d t
 i ƒ n X| i ƒ  \ } } t i i d ƒ o t i t i B} n d } t i ƒ  } t i i | i ƒ  ƒ } t i | i ƒ  t i t i t i Bƒ }	 | i |	 g d ƒ t i | i ƒ  t i t i t i Bƒ }	 | i |	 g d ƒ t i | i ƒ  t i t i t i Bƒ }	 | i |	 g d ƒ t i | i ƒ  t i t i t i Bƒ }	 | i |	 g d ƒ | i d  d d ƒ }
 g  } |
 D] } | | i | i | i f q~ }
 |
 i ƒ  |  i |
 | i ƒ  t i | f | i ƒ  t i | f g ƒ | i d ƒ | i d ƒ | i d  d d ƒ }
 xA t  d ƒ D]3 } t! |
 ƒ d j o Pn | i d  d d ƒ }
 q¬Wg  } |
 D] } | | i | i | i f qî~ }
 |
 i ƒ  |  i |
 | i ƒ  t i | f | i ƒ  t i | f | i ƒ  t i | f | i ƒ  t i | f g ƒ t i | i ƒ  t i t i" ƒ }	 | i |	 g d ƒ t i | i ƒ  t i t i" ƒ }	 | i |	 g d ƒ t i | i ƒ  t i t i" ƒ }	 | i |	 g d d ƒ | i g  d d	 ƒ }
 g  } |
 D] } | | i | i | i f qC~ }
 |
 i ƒ  |  i |
 | i ƒ  t i | f g ƒ | i# ƒ  | i# ƒ  | i# ƒ  d  S(   Ns	   127.0.0.1i    i   t   darwini   s   Hello!s   world!!!i   g®Gáz®ï?(   s	   127.0.0.1i    ($   t   sockett   bindt   listent   setblockingt   Falset   connectt   getsocknamet   errort   assertEqualst   argst   errnot   EINPROGRESSt   acceptR   t   platformt
   startswithR   R   t   KQ_EV_ENABLER   t   fromfdR   R   R   t   controlR   R   R   R   R   t   sortt   sendt   ranget   lent   KQ_EV_DELETER   (   R
   t   serverSockett   clientt   et   servert   addrR   R   t   kq2R   t   eventst   _[1]t   it   _[2]t   _[3](    (    s-   /mit/python/lib/python2.6/test/test_kqueue.pyt   test_queue_eventI   s    !3
	 3
	3
	

(   t   __name__t
   __module__R   R"   RF   (    (    (    s-   /mit/python/lib/python2.6/test/test_kqueue.pyR      s   		1c           C   s   t  i t ƒ d  S(   N(   R    t   run_unittestR   (    (    (    s-   /mit/python/lib/python2.6/test/test_kqueue.pyt	   test_main¢   s    t   __main__(   t   __doc__R$   R.   t   timeR   R   t   unittestt   testR    t   hasattrt   TestSkippedt   TestCaseR   RJ   RG   (    (    (    s-   /mit/python/lib/python2.6/test/test_kqueue.pyt   <module>   s   “	