mň
­fIc           @   s   d  Z  d k Z d k l Z e i d  Z d k Z d k Z d e i f d     YZ	 d e i f d     YZ
 d   Z e d	 j o e   n d S(
   s&   Unit tests for socket timeout feature.N(   s   test_supportt   networkt   CreationTestCasec           B   s_   t  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   s9   Test case for socket.gettimeout() and socket.settimeout()c         C   s   t  i  t  i t  i  |  _ d  S(   N(   t   sockett   AF_INETt   SOCK_STREAMt   selft   sock(   R   (    (    t.   /mit/python/lib/python2.4/test/test_timeout.pyt   setUp   s    c         C   s   |  i i   d  S(   N(   R   R   t   close(   R   (    (    R   t   tearDown   s    c         C   s    |  i |  i i   d  d  d  S(   Ns   timeout not disabled by default(   R   t   assertEqualR   t
   gettimeoutt   None(   R   (    (    R   t   testObjectCreation   s    c         C   s   |  i i d  |  i |  i i   d  |  i i d  |  i |  i i   d  |  i i d   |  i |  i i   d   d  S(   Nf7.3449999999999998i   (   R   R   t
   settimeoutR   R   R   (   R   (    (    R   t   testFloatReturnValue   s    c         C   sn   |  i i d  |  i t |  i i    t d   |  i i d  |  i t |  i i    t d   d  S(   Ni   f1.0f3.8999999999999999(   R   R   R   R   t   typeR   (   R   (    (    R   t   testReturnType&   s    %c         C   sÚ   |  i i d  |  i i d  |  i i d  |  i i d   |  i t |  i i d  |  i t |  i i d  |  i t |  i i f   |  i t |  i i g   |  i t |  i i h   |  i t |  i i d  d  S(   Ni    l    f0.0t    u    x0.00.0(   R   R   R   R   t   assertRaisest	   TypeError(   R   (    (    R   t   testTypeCheck.   s    c         C   sO   |  i t |  i i d  |  i t |  i i d  |  i t |  i i d  d  S(   Ni˙˙˙˙l˙˙˙˙ f-1.0(   R   R   t
   ValueErrorR   R   (   R   (    (    R   t   testRangeCheck;   s    c         C   sČ   |  i i d  |  i i d  |  i |  i i   d   |  i i d  |  i |  i i   d  |  i i d  |  i i d  |  i |  i i   d  |  i i d  |  i |  i i   d   d  S(   Ni
   i   i    f0.0(   R   R   R   t   setblockingR   R   R   (   R   (    (    R   t   testTimeoutThenBlockingA   s    c         C   sv   |  i i d  |  i i d  |  i |  i i   d  |  i i d  |  i i d  |  i |  i i   d  d  S(   Ni    i   (   R   R   R   R   R   R   (   R   (    (    R   t   testBlockingThenTimeoutO   s    (   t   __name__t
   __module__t   __doc__R   R
   R   R   R   R   R   R   R   (    (    (    R   R      s    								t   TimeoutTestCasec           B   se   t  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z RS(   s/   Test case for socket.socket() timeout functionsf2.0c         C   s1   t  i  t  i t  i  |  _ d |  _ d |  _ d  S(   Ns   www.python.orgiP   s	   127.0.0.1iűb  (   s   www.python.orgiP   (   s	   127.0.0.1iűb  (   R   R   R   R   R   t   addr_remotet
   addr_local(   R   (    (    R   R   e   s    	c         C   s   |  i i   d  S(   N(   R   R   R	   (   R   (    (    R   R
   j   s    c         C   sÁ   d } |  i i |  t i   i d  d d d g j o d	 |  _ n t i   } |  i
 t i |  i i |  i  t i   } t | |  } |  i | | |  i j  d | |  i | f  d  S(
   Nf0.001t   .iţ˙˙˙t   pythont   orgs   tut.fiiP   s<   timeout (%g) is more than %g seconds more than expected (%g)(   s   tut.fiiP   (   t   _timeoutR   R   R   R   t   getfqdnt   splitR    t   timet   _t1t   failUnlessRaisest   errort   connectt   _t2t   abst   _deltat   assert_t   fuzz(   R   R)   R/   R%   R-   (    (    R   t   testConnectTimeoutm   s    &
c         C   s   d } |  i i |  i  |  i i |  t i   } |  i t	 i
 |  i i d  t i   } t | |  } |  i | | |  i j  d | |  i | f  d  S(   Nf0.02i   s2   timeout (%g) is %g seconds more than expected (%g)(   R%   R   R   R,   R    R   R(   R)   R*   R   R+   t   recvR-   R.   R/   R0   R1   (   R   R)   R/   R%   R-   (    (    R   t   testRecvTimeout   s    c         C   sŤ   d } |  i i |  |  i i |  i  |  i i d  t i   } |  i	 t
 i |  i i  t i   } t | |  } |  i | | |  i j  d | |  i | f  d  S(   Ni   i   s2   timeout (%g) is %g seconds more than expected (%g)(   R%   R   R   R   t   bindR!   t   listenR(   R)   R*   R   R+   t   acceptR-   R.   R/   R0   R1   (   R   R)   R/   R%   R-   (    (    R   t   testAcceptTimeout   s    c         C   sš   d } t i t i t i  |  _ |  i i |  |  i i |  i  t	 i	   } |  i t i |  i i d  t	 i	   } t | |  } |  i | | |  i j  d | |  i | f  d  S(   Ni   i    s2   timeout (%g) is %g seconds more than expected (%g)(   R%   R   R   t
   SOCK_DGRAMR   R   R   R5   R!   R(   R)   R*   R+   t   recvfromR-   R.   R/   R0   R1   (   R   R)   R/   R%   R-   (    (    R   t   testRecvfromTimeout    s    c         C   s   d  S(   N(    (   R   (    (    R   t   testSend°   s    c         C   s   d  S(   N(    (   R   (    (    R   t
   testSendtoľ   s    c         C   s   d  S(   N(    (   R   (    (    R   t   testSendallş   s    (   R   R   R   R1   R   R
   R2   R4   R8   R;   R<   R=   R>   (    (    (    R   R   Z   s    								c           C   s!   t  i d  t  i t t  d  S(   NR    (   t   test_supportt   requirest   run_unittestR   R   (    (    (    R   t	   test_mainŔ   s    t   __main__(   R   t   unittestt   testR?   t   is_resource_enabledt   skip_expectedR(   R   t   TestCaseR   R   RB   R   (   R?   R   R   RD   R(   RG   R   RB   (    (    R   t   ?   s   			Mf	