;
Ìâ"Ic               @   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 m Z e	 e d ƒ p e j
 d ƒ ‚ n Gd „  d e j ƒ Z d „  Z e d	 k o e ƒ  n d S(
   u   
Tests for kqueue wrapper.
i    N(   u   supportu   kqueueu   test works only on BSDc             B   s)   |  Ee  Z d  „  Z d „  Z d „  Z d S(   c             C   sp   t  j ƒ  } |  j | j ƒ  d k | j ƒ  ƒ |  j | j ƒ | j ƒ  |  j | j ƒ |  j t | j ƒ d  S(   Ni    (   u   selectu   kqueueu   assert_u   filenou   closedu   closeu   assertRaisesu
   ValueError(   u   selfu   kq(    (    u-   /mit/python/lib/python3.0/test/test_kqueue.pyu   test_create_queue   s    "
c             C   sZ  t  j 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 t | | ƒ d ƒ |  j | | k  ƒ |  j | | k ƒ |  j t t | d  ƒ |  j t t | d ƒ |  j t t | d ƒ 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 | 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  S(   Niè  i    iÿÿÿÿi   u   evi   i   i   i   i   (   u   sysu   stderru   filenou   selectu   keventu   assertEqualu   identu   filteru   KQ_FILTER_READu   flagsu	   KQ_EV_ADDu   fflagsu   datau   udatau   assertNotEqualu   cmpu   assert_u   assertRaisesu	   TypeErroru   Noneu   KQ_FILTER_WRITEu   KQ_EV_ONESHOT(   u   selfu   fdu   evu   other(    (    u-   /mit/python/lib/python3.0/test/test_kqueue.pyu   test_create_event   sX    c             C   se  t  j  ƒ  } | j d ƒ | j d ƒ t  j  ƒ  } | j d ƒ y! | j d | j ƒ  d f ƒ WnD t  j k
 o5 } z |  j | j	 d t
 j ƒ WYd  d  } ~ Xn X| j ƒ  \ } } t j j d ƒ o t j t j B} n d } 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 ƒ }
 d „  |
 Dƒ }
 |
 j ƒ  |  j |
 | j ƒ  t j | f | j ƒ  t j | f g ƒ | j d ƒ | j d ƒ | j d  d d ƒ }
 xA t d	 ƒ D]3 } t |
 ƒ d k o Pn | j d  d d ƒ }
 q›Wd
 „  |
 Dƒ }
 |
 j ƒ  |  j |
 | 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 ƒ }
 d „  |
 Dƒ }
 |
 j ƒ  |  j |
 | j ƒ  t j | f g ƒ | j  ƒ  | j  ƒ  | j  ƒ  d  S(   Nu	   127.0.0.1i    i   u   darwini   c             S   s-   g  } |  ] } | | j  | j | j f q
 S(    (   u   identu   filteru   flags(   u   .0u   _[1]u   e(    (    u-   /mit/python/lib/python3.0/test/test_kqueue.pyu
   <listcomp>r   s    s   Hello!s   world!!!i   c             S   s-   g  } |  ] } | | j  | j | j f q
 S(    (   u   identu   filteru   flags(   u   .0u   _[1]u   e(    (    u-   /mit/python/lib/python3.0/test/test_kqueue.pyu
   <listcomp>   s    g®Gáz®ï?c             S   s-   g  } |  ] } | | j  | j | j f q
 S(    (   u   identu   filteru   flags(   u   .0u   _[1]u   e(    (    u-   /mit/python/lib/python3.0/test/test_kqueue.pyu
   <listcomp>™   s    (   u	   127.0.0.1i    F(!   u   socketu   bindu   listenu   setblockingu   Falseu   connectu   getsocknameu   erroru   assertEqualsu   argsu   errnou   EINPROGRESSu   acceptu   sysu   platformu
   startswithu   selectu	   KQ_EV_ADDu   KQ_EV_ENABLEu   kqueueu   fromfdu   filenou   keventu   KQ_FILTER_WRITEu   controlu   KQ_FILTER_READu   Noneu   sortu   sendu   rangeu   lenu   KQ_EV_DELETEu   close(   u   selfu   serverSocketu   clientu   eu   serveru   addru   flagsu   kqu   kq2u   evu   eventsu   i(    (    u-   /mit/python/lib/python3.0/test/test_kqueue.pyu   test_queue_eventI   s    !.
	 
	
	

N(   u   __name__u
   __module__u   test_create_queueu   test_create_eventu   test_queue_event(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_kqueue.pyu
   TestKQueue   s   
		1u
   TestKQueuec               C   s   t  j t ƒ d  S(   N(   u   supportu   run_unittestu
   TestKQueue(    (    (    u-   /mit/python/lib/python3.0/test/test_kqueue.pyu	   test_main¢   s    u   __main__(   u   __doc__u   socketu   errnou   timeu   selectu   sysu   unittestu   testu   supportu   hasattru   TestSkippedu   TestCaseu
   TestKQueueu	   test_mainu   __name__(    (    (    u-   /mit/python/lib/python3.0/test/test_kqueue.pyu   <module>   s   “	