
H/\c           @   sa   d  d l  Z  d  d l  m Z d  d l j Z d e j f d     YZ e d k r] e j   n  d S(   iN(   t   sockett   Testc           B   s>   e  Z d Z d Z d Z d    Z d   Z d   Z d   Z	 RS(   c         C   sQ   |  j  j d  y& |  j  j   \ } } |  j |  Wn t j k
 rL n Xd  S(   Ni   (   t   servert   listent   acceptt   _close_on_teardownR    t   error(   t   selft   connt   _(    (    s@   lib/python2.7/site-packages/gevent/tests/test__socket_timeout.pyt   _accept   s    c         C   s~   t  t |   j   t j   |  _ |  j |  j  |  j j d  |  j j   d |  _ t	 j
 |  j  |  _ t	 j d  d  S(   Ns	   127.0.0.1i    i   (   s	   127.0.0.1i    (   t   superR   t   setUpR    R   R   t   bindt   getsocknamet   server_portt   geventt   spawnR
   t   acceptort   sleep(   R   (    (    s@   lib/python2.7/site-packages/gevent/tests/test__socket_timeout.pyR      s    c         C   sg   |  j  d  k	 r( |  j  j   d  |  _  n  |  j d  k	 rP |  j j   d  |  _ n  t t |   j   d  S(   N(   R   t   Nonet   killR   t   closeR   R   t   tearDown(   R   (    (    s@   lib/python2.7/site-packages/gevent/tests/test__socket_timeout.pyR      s    c         C   s   t  j d  t j   } |  j |  | j d |  j f  | j d  |  j t j   } | j	 d  Wd  QX| j
 } |  j | j d  |  j t |  d  d  S(   Ni    s	   127.0.0.1g?i   s	   timed out(   s	   timed out(   R   R   R    R   t   connectR   t
   settimeoutt   assertRaisesR   t   recvt	   exceptiont   assertEqualt   argst   str(   R   t   sockt   cmt   ex(    (    s@   lib/python2.7/site-packages/gevent/tests/test__socket_timeout.pyt   test_timeout&   s    	N(
   t   __name__t
   __module__R   R   R   R   R
   R   R   R#   (    (    (    s@   lib/python2.7/site-packages/gevent/tests/test__socket_timeout.pyR      s   					t   __main__(	   R   R    t   gevent.testingt   testingt	   greentestt   TestCaseR   R$   t   main(    (    (    s@   lib/python2.7/site-packages/gevent/tests/test__socket_timeout.pyt   <module>   s
   /