ó
úR‹_c           @   sI  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l m Z m Z d  d l Z d  d l  j	 Z
 d  d l Z d  d l Z d e j	 j j f d „  ƒ  YZ e
 j d ƒ d e j	 j j f d „  ƒ  Yƒ Z e j e e d	 ƒ d
 ƒ e
 j d ƒ d e j	 j j f d „  ƒ  Yƒ ƒ Z d e
 j f d „  ƒ  YZ e d k rEe
 j ƒ  n  d S(   iÿÿÿÿ(   t   sixN(   t   selectt   sockett
   TestSelectc           B   s   e  Z d  „  Z RS(   c         C   s   t  j  g  g  g  | ƒ d  S(   N(   R   (   t   selft   timeout(    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyt   wait   s    (   t   __name__t
   __module__R   (    (    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyR      s   s   Cant select on filest   TestSelectReadc           B   s8   e  Z d  „  Z e j e j j d ƒ d ƒ d „  ƒ Z RS(   c         C   sQ   t  j ƒ  \ } } z t j | g g  g  | ƒ Wd  t  j | ƒ t  j | ƒ Xd  S(   N(   t   ost   pipeR   t   close(   R   R   t   rt   w(    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyR      s
    t   freebsds*   skip because of a FreeBSD bug: kern/155606c      	   C   s·   t  t d ƒ ¢ } | j ƒ  } | j ƒ  y t j | g g  g  d ƒ WnX t k
 rp } |  j | j t j ƒ n= t j	 k
 rŸ } |  j | j
 d t j ƒ n X|  j d ƒ Wd  QXd  S(   Nt   rbi    s   exception not raised(   t   opent   __file__t   filenoR   R   t   OSErrort   assertEqualt   errnot   EBADFt   errort   argst   fail(   R   t   fpt   fdt   err(    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyt
   test_errno   s    
(	   R   R   R   t   unittestt   skipIft   syst   platformt
   startswithR   (    (    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyR	      s   		t   polls
   Needs polls   Cant poll on filest   TestPollReadc           B   sA   e  Z d  „  Z d „  Z e j e e j d ƒ d ƒ d „  ƒ Z	 RS(   c         C   su   t  j ƒ  \ } } z4 t j ƒ  } | j | t j ƒ | j | d ƒ Wd  | j | ƒ t  j | ƒ t  j | ƒ Xd  S(   Niè  (   R
   R   R   R$   t   registert   POLLINt
   unregisterR   (   R   R   R   R   R$   (    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyR   5   s    c         C   s&   t  j ƒ  } |  j t | j d ƒ d  S(   Ni   (   R   R$   t   assertRaisest   KeyErrorR(   (   R   R$   (    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyt    test_unregister_never_registeredC   s    t   libuvs‹   Depending on whether the fileno is reused or not this either crashes or does nothing.libuv won't open a watcher for a closed file on linux.c         C   s|   t  t d ƒ g } | j ƒ  } t j ƒ  } | j | t j ƒ | j ƒ  | j d ƒ } |  j | | t j	 f g ƒ Wd  QXd  S(   NR   i    (
   R   R   R   R   R$   R&   R'   R   R   t   POLLNVAL(   R   R   R   R$   t   result(    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyt   test_poll_invalidJ   s    
(
   R   R   R   R+   R   R    t   hasattrt   geventt   coreR/   (    (    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyR%   2   s   		t   TestSelectTypesc           B   s8   e  Z d  „  Z e e j d ƒ r- d „  Z n  d „  Z RS(   c         C   sG   t  j  ƒ  } z) t j t | j ƒ  ƒ g g  g  d ƒ Wd  | j ƒ  Xd  S(   Ngü©ñÒMbP?(   R   R   t   intR   R   (   R   t   sock(    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyt   test_int\   s    )t   longc         C   sM   t  j  ƒ  } z/ t j t j j | j ƒ  ƒ g g  g  d ƒ Wd  | j ƒ  Xd  S(   Ngü©ñÒMbP?(   R   R   R    t   builtinsR7   R   R   (   R   R5   (    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyt	   test_longd   s
    )c         C   s/   t  |  _ |  j t t j d g g  g  d ƒ d  S(   Nt   hellogü©ñÒMbP?(   t   Falset   switch_expectedR)   t	   TypeErrorR   (   R   (    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyt   test_stringl   s    	(   R   R   R6   R0   R    R8   R9   R>   (    (    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyR3   Z   s   	t   __main__(   t   gevent.testingR    R!   R
   R   R1   R   R   t   gevent.coret   testingt	   greentestt   gevent.testing.timingR   t   timingt   AbstractGenericWaitTestCaseR   t   skipOnWindowsR	   t
   skipUnlessR0   R%   t   TestCaseR3   R   t   main(    (    (    sR   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__select.pyt   <module>   s"   "&