
"Ic           @   s  d  d k  Z  d  d k l 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	 Z	 d  d k
 Z
 d  d k Z d  d k Z d  d k Z d  d k l Z d  d k Z e i Z d Z d e  i f d     YZ d e  i f d     YZ d	 f  d
     YZ d e e f d     YZ d e e f d     YZ d e f d     YZ d e  i e f d     YZ d e  i f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ  d e f d      YZ! d! e! f d"     YZ" d# e! f d$     YZ# d% e! f d&     YZ$ d' e% f d(     YZ& d) e& e f d*     YZ' d+ e  i f d,     YZ( d- e e f d.     YZ) d/ e e f d0     YZ* d1 e  i f d2     YZ+ d3 e f d4     YZ, d5 e f d6     YZ- d7 e  i f d8     YZ. d9 e  i f d:     YZ/ d; e f d<     YZ0 d= Z1 d> Z2 d? Z3 d@   Z4 dA e  i f dB     YZ5 dC e  i e f dD     YZ6 dE   Z7 e8 dF j o e7   n d S(G   iN(   t   test_support(   t   proxys   Michael Gilfix was here
t   SocketTCPTestc           B   s   e  Z d    Z d   Z RS(   c         C   sD   t  i  t  i t  i  |  _ t i |  i  |  _ |  i i d  d  S(   Ni   (   t   sockett   AF_INETt   SOCK_STREAMt   servR    t	   bind_portt   portt   listen(   t   self(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   setUp   s    c         C   s   |  i  i   d  |  _  d  S(   N(   R   t   closet   None(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   tearDown   s    (   t   __name__t
   __module__R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR      s   	t   SocketUDPTestc           B   s   e  Z d    Z d   Z RS(   c         C   s4   t  i  t  i t  i  |  _ t i |  i  |  _ d  S(   N(   R   R   t
   SOCK_DGRAMR   R    R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   #   s    c         C   s   |  i  i   d  |  _  d  S(   N(   R   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   '   s    (   R   R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   !   s   	t   ThreadableTestc           B   sM   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   s  Threadable Test class

    The ThreadableTest class makes it easy to create a threaded
    client/server pair from an existing unit test. To create a
    new threaded class from an existing unit test, use multiple
    inheritance:

        class NewClass (OldClass, ThreadableTest):
            pass

    This class defines two new fixture functions with obvious
    purposes for overriding:

        clientSetUp ()
        clientTearDown ()

    Any new test functions within the class must then define
    tests in pairs, where the test name is preceeded with a
    '_' to indicate the client portion of the test. Ex:

        def testFoo(self):
            # Server portion

        def _testFoo(self):
            # Client portion

    Any exceptions raised by the clients during their tests
    are caught and transferred to the main thread to alert
    the testing framework.

    Note, the server setup function cannot call any blocking
    functions that rely on the client thread during setup,
    unless serverExplicitReady() is called just before
    the blocking call (such as in setting up a client/server
    connection and performing the accept() in setUp().
    c         C   s4   |  i  |  _ |  i |  _ |  i |  _  |  i |  _ d  S(   N(   R   t   _ThreadableTest__setUpR   t   _ThreadableTest__tearDownt   _setUpt	   _tearDown(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   __init__Q   s    c         C   s   |  i  i   d S(   s   This method allows the server to explicitly indicate that
        it wants the client thread to proceed. This is useful if the
        server is about to execute a blocking routine that is
        dependent upon the client thread during its setup routine.N(   t   server_readyt   set(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   serverExplicitReadyX   s    c         C   s   t  i   |  _ t  i   |  _ t  i   |  _ t i d  |  _ |  i   } | i d  } | | d } t	 |  d |  } t
 i |  i | f  |  _ |  i   |  i i   p |  i i   n |  i i   d  S(   Ni   t   .t   _(   t	   threadingt   EventR   t   client_readyt   donet   Queuet   queuet   idt   rfindt   getattrt   threadt   start_new_threadt	   clientRunt   client_threadR   t   is_setR   t   wait(   R
   t
   methodnamet   it   test_method(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   _   s    
c         C   sK   |  i    |  i i   |  i i   p  |  i i   } |  i |  n d  S(   N(   R   R!   R,   R#   t   emptyt   gett   fail(   R
   t   msg(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   r   s
    
c         C   s   |  i  i   |  i i   |  i   t |  p t d  n y |   Wn% t j
 o } |  i i	 |  n X|  i
   d  S(   Ns%   test_func must be a callable function(   R   R,   R    R   t   clientSetUpt   callablet	   TypeErrort	   ExceptionR#   t   putt   clientTearDown(   R
   t	   test_funct   strerror(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR)   z   s    
c         C   s   t  d  d  S(   Ns    clientSetUp must be implemented.(   t   NotImplementedError(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4      s    c         C   s   |  i  i   t i   d  S(   N(   R!   R   R'   t   exit(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR9      s    (
   R   R   t   __doc__R   R   R   R   R)   R4   R9   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   +   s   $						t   ThreadedTCPSocketTestc           B   s&   e  Z d  d  Z d   Z d   Z RS(   t   runTestc         C   s$   t  i |  d | t i |   d  S(   Nt
   methodName(   R   R   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR      s    c         C   s   t  i  t  i t  i  |  _ d  S(   N(   R   R   R   t   cli(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4      s    c         C   s'   |  i  i   d  |  _  t i |   d  S(   N(   RB   R   R   R   R9   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR9      s    	(   R   R   R   R4   R9   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR?      s   	t   ThreadedUDPSocketTestc           B   s   e  Z d  d  Z d   Z RS(   R@   c         C   s$   t  i |  d | t i |   d  S(   NRA   (   R   R   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR      s    c         C   s   t  i  t  i t  i  |  _ d  S(   N(   R   R   R   RB   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4      s    (   R   R   R   R4   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRC      s   t   SocketConnectedTestc           B   s8   e  Z d  d  Z d   Z d   Z d   Z d   Z RS(   R@   c         C   s   t  i |  d | d  S(   NRA   (   R?   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR      s    c         C   s9   t  i |   |  i   |  i i   \ } } | |  _ d  S(   N(   R?   R   R   R   t   acceptt   cli_conn(   R
   t   connt   addr(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR      s    
c         C   s'   |  i  i   d  |  _  t i |   d  S(   N(   RF   R   R   R?   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR      s    	c         C   s6   t  i |   |  i i t |  i f  |  i |  _ d  S(   N(   R?   R4   RB   t   connectt   HOSTR   t	   serv_conn(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4      s    c         C   s'   |  i  i   d  |  _  t i |   d  S(   N(   RK   R   R   R?   R9   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR9      s    	(   R   R   R   R   R   R4   R9   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRD      s
   			t   SocketPairTestc           B   s8   e  Z d  d  Z d   Z d   Z d   Z d   Z RS(   R@   c         C   s'   t  i i |  d | t i |   d  S(   NRA   (   t   unittestt   TestCaseR   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR      s    c         C   s   t  i   \ |  _ |  _ d  S(   N(   R   t
   socketpairR   RB   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR      s    c         C   s   |  i  i   d  |  _  d  S(   N(   R   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR      s    c         C   s   d  S(   N(    (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4      s    c         C   s'   |  i  i   d  |  _  t i |   d  S(   N(   RB   R   R   R   R9   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR9      s    	(   R   R   R   R   R   R4   R9   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRL      s
   			t   GeneralModuleTestsc           B   s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   t  i  t  i t  i  } t |  } |  i | i   | i    | i   d  } y | i   Wn t j
 o n X|  i	 d  d  S(   Ns   Socket proxy still exists(
   R   R   R   R   t   assertEqualt   filenoR   R   t   ReferenceErrorR2   (   R
   t   st   p(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   test_weakref   s    
c         C   sa   d   } d   } d   } |  i  t i | d  |  i  t i | d  |  i  t i | d  d  S(   Nc          _   s   t  i  d  S(   N(   R   t   error(   t   argst   kwargs(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   raise_error   s    c          _   s   t  i  d  S(   N(   R   t   herror(   RX   RY   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   raise_herror   s    c          _   s   t  i  d  S(   N(   R   t   gaierror(   RX   RY   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   raise_gaierror   s    s   Error raising socket exception.(   t   failUnlessRaisesR   RW   (   R
   RZ   R\   R^   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testSocketError   s    			c         C   s<   t  i t  i t  i t  i t  i t  i t  i t  i d  S(   N(	   R   R   R   R   t   SOCK_RAWt   SOCK_RDMt   SOCK_SEQPACKETt
   SOL_SOCKETt   SO_REUSEADDR(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testCrucialConstants   s    c         C   s   t  i   } y t  i |  } Wn t  i j
 o d  SX|  i | i d  d j d  y t  i |  \ } } } Wn t  i j
 o d  SX| | g | } t  i |  } | | j o! |  i d | t	 |  f  n d  S(   NR   i    s   Error resolving host to ip.s=   Error testing host resolution mechanisms. (fqdn: %s, all: %s)(
   R   t   gethostnamet   gethostbynameRW   t   assert_t   findt   gethostbyaddrt   getfqdnR2   t   repr(   R
   t   hostnamet   ipt   hnamet   aliasest   ipaddrst   all_host_namest   fqhn(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testHostnameRes  s    c         C   sx   t  t d  od y# t i t  } t i t d  Wqt t j
 o. t i t  | j o |  i d  qp qt Xn d  S(   Nt   getrefcounti    s$   socket.getnameinfo loses a reference(   t   hasattrt   sysRv   R   R   t   getnameinfot   SystemErrorR2   (   R
   t   orig(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testRefCountGetNameInfo  s    c         C   s1   y t  i d d  Wn t  i j
 o n Xd  S(   Nt   xi    (   R}   i    i    i    (   R   Ry   RW   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testInterpreterCrash   s    c         C   s   h d t  i 6d t  i 6d t  i 6d t  i 6} x | i   D] \ } } d | >d } xK d d d d d d d	 f D]. } |  i | | @| | | | @  | @ qq W| |  } |  i | | @|  |  i t | d  q; Wd  S(   Ni    i   l    i   i    i  i   igE#i2Tvi"   i  l        (	   R   t   htonlt   ntohlt   htonst   ntohst   itemsRQ   t   assertRaisest   OverflowError(   R
   t   sizest   funct   sizet   maskR.   t   swapped(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testNtoH(  s      ,c         C   s   d d d d d d g } d d d	 d
 d d g } xB | D]: } t  i |  t  i |  t  i |  t  i |  q7 Wxf | D]^ } |  i t t  i |  |  i t t  i |  |  i t t  i |  |  i t t  i |  q| Wd  S(   Ni   i   i   l    l    l    iiil l l (   R   R   R   R   R   R   R   (   R
   t   good_valuest
   bad_valuest   k(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testNtoHErrors6  s      c      	   C   s.  |  i  } t i d j o
 d } n d } xG | D]6 } y t i | d  } PWq0 t i j
 o q0 Xq0 Wt i  t i |  } | | |  y t i | d  } Wn t i j
 o d  } n X| | |  | t i |  |  | t i | d  |  | d  j	 o | t i | d  |  n d  S(   Nt   linux2t   freebsd4t   freebsd5t   freebsd6t   freebsd7t   freebsd8t   darwint   daytimet   qotdt   domaint   echot   tcpt   udp(   R   R   R   R   R   R   s   darwin(   R   R   R   (   R   R   R   (   RQ   Rx   t   platformR   t   getservbynameRW   R   t   getservbyport(   R
   t   eqt   servicest   serviceR   t   port2t   udpport(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testGetServByD  s0    	

 		c         C   s  |  i  t i   d   t i   } |  i  | i   d   | i   t i d  |  i  t i   d  t i   } |  i  | i   d  | i   t i d   |  i  t i   d   t i   } |  i  | i   d   | i   |  i t t i d  |  i t	 t i d  d  S(   Ni
   it   spam(
   RQ   R   t   getdefaulttimeoutR   t
   gettimeoutR   t   setdefaulttimeoutR   t
   ValueErrorR6   (   R
   RT   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testDefaultTimeouth  s     


c            s  t  t d  p d  Sd d k l } l  l      f d   } |  i d | d   |  i d | d   |  i d	 | d
   |  i d | d   |  i d | d   |  i d | d   |  i d | d   |  i d	 | d
   |  i d | d   d  S(   Nt	   inet_ptoni(   t	   inet_atonR   R   c            s      |   S(    (    (   t   a(   R   R   (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   <lambda>  s    t       s   0.0.0.0s     s   255.0.255.0s   s   170.170.170.170s   s   1.2.3.4s   s   255.255.255.255(   Rw   R   R   R   R   t   assertEquals(   R
   t   ft   g(    (   R   R   s-   /mit/python/lib/python2.6/test/test_socket.pyt   testIPv4toString  s    c      	      s   t  t d  p d  Sy, d d k l  l   l } | p d  SWn t j
 o d  SX   f d   } |  i d | d   |  i d | d   |  i d	 d | d   |  i d | d   d  S(   NR   i(   R   t   AF_INET6t   has_ipv6c            s      |   S(    (    (   R   (   R   R   (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    t    i   s   ::s   0::0t    i   s   1::s   Ev V$s$   45ef:76cb:1a:56ef:afeb:bac:1924:aeaet                   R   t                 (   Rw   R   R   R   R   t   ImportErrorR   (   R
   R   R   (    (   R   R   s-   /mit/python/lib/python2.6/test/test_socket.pyt   testIPv6toString  s    	c            s   t  t d  p d  Sd d k l } l   l     f d   } |  i d | d   |  i d | d   |  i d	 | d
   |  i d | d   |  i d | d   |  i d | d   |  i d	 | d
   d  S(   Nt	   inet_ntopi(   t	   inet_ntoaR   R   c            s      |   S(    (    (   R   (   R   R   (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    s   1.0.1.0s     s   170.85.170.85s   UUs   255.255.255.255s   s   1.2.3.4s   (   Rw   R   R   R   R   R   (   R
   R   R   (    (   R   R   s-   /mit/python/lib/python2.6/test/test_socket.pyt   testStringToIPv4  s    c      
      s   t  t d  p d  Sy, d d k l  l   l } | p d  SWn t j
 o d  SX   f d   } |  i d | d   |  i d | d   |  i d | d   d  S(   NR   i(   R   R   R   c            s      |   S(    (    (   R   (   R   R   (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    s   ::R   i   s   ::1i   s   s!   aef:b01:506:1001:ffff:9997:55:170s   
 UpR   t                  t                  (   Rw   R   R   R   R   R   R   (   R
   R   R   (    (   R   R   s-   /mit/python/lib/python2.6/test/test_socket.pyt   testStringToIPv6  s    	c         C   s   t  i    } | i d  | i   \ } } | i   ~ t  i  t  i t  i  } | i d | f  | i   } t  i t  i    } |  i | d d | f j d | d  |  i	 | d |  d  S(   Ns   0.0.0.0i    s
   %s invalidi   (   s   0.0.0.0i    (
   R   t   bindt   getsocknameR   R   R   Rh   Rg   Ri   RQ   (   R
   t   tempsockt   hostR   t   sockt   namet
   my_ip_addr(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testSockName  s    
(c         C   sJ   t  i  t  i t  i  } | i t  i t  i  } |  i | d j d  d  S(   Ni    s   initial mode is reuse(   R   R   R   t
   getsockoptRd   Re   t   failIf(   R
   R   t   reuse(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testGetSockOpt  s    c         C   sc   t  i  t  i t  i  } | i t  i t  i d  | i t  i t  i  } |  i | d j d  d  S(   Ni   i    s   failed to set reuse mode(   R   R   R   t
   setsockoptRd   Re   R   R   (   R
   R   R   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testSetSockOpt  s    c         C   sL   t  i  t  i t  i  } | i d  | i   |  i t  i | i d  d  S(   Ni   R   (   R   R   R   t
   settimeoutR   R   RW   t   send(   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testSendAfterClose  s    
c         C   se   t  i  t  i t  i  } |  i | i t  i  |  i | i t  i  |  i | i d  | i   d  S(   Ni    (   R   R   R   RQ   t   familyt   typet   protoR   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testNewAttributes  s
    c         C   st   t  i d j o d  S|  i t t i d   |  i t t d   |  i t t d   |  i t t d   d  S(   Nt   ntt   ioctlt
   SIO_RCVALLt	   RCVALL_ONt
   RCVALL_OFF(   t   osR   Ri   Rw   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   test_sock_ioctl  s    (   R   R   RV   R`   Rf   Ru   R|   R~   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRP      s(   									$										t   BasicTCPTestc           B   s   e  Z d  d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d	   Z
 d
   Z d   Z d   Z d   Z d   Z d   Z RS(   R@   c         C   s   t  i |  d | d  S(   NRA   (   RD   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    c         C   s&   |  i  i d  } |  i | t  d  S(   Ni   (   RF   t   recvRQ   t   MSG(   R
   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testRecv	  s    c         C   s   |  i  i t  d  S(   N(   RK   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt	   _testRecv  s    c         C   sL   |  i  i t t  d  } |  i  i d  } | | } |  i | t  d  S(   Ni   i   (   RF   R   t   lenR   RQ   (   R
   t   seg1t   seg2R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testOverFlowRecv  s    
c         C   s   |  i  i t  d  S(   N(   RK   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testOverFlowRecv  s    c         C   s,   |  i  i d  \ } } |  i | t  d  S(   Ni   (   RF   t   recvfromRQ   R   (   R
   R3   RH   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testRecvFrom  s    c         C   s   |  i  i t  d  S(   N(   RK   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testRecvFrom   s    c         C   sX   |  i  i t t  d  \ } } |  i  i d  \ } } | | } |  i | t  d  S(   Ni   i   (   RF   R   R   R   RQ   (   R
   R   RH   R   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testOverFlowRecvFrom#  s    "
c         C   s   |  i  i t  d  S(   N(   RK   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testOverFlowRecvFrom*  s    c         C   sL   d } x+ |  i  i d  } | p Pn | | 7} q	 |  i | d d  d  S(   Nt    i   R   i   (   RF   R   RQ   (   R
   R3   t   read(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testSendAll-  s    c         C   s   d d } |  i  i |  d  S(   NR   i   (   RK   t   sendall(   R
   t	   big_chunk(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testSendAll7  s    
c         C   sb   t  t d  p d  S|  i i   } t i | t i t i  } | i d  } |  i | t	  d  S(   Nt   fromfdi   (
   Rw   R   RF   RR   R   R   R   R   RQ   R   (   R
   t   fdR   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt
   testFromFd;  s    c         C   s   |  i  i t  d  S(   N(   RK   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testFromFdD  s    c         C   s&   |  i  i d  } |  i | t  d  S(   Ni   (   RF   R   RQ   R   (   R
   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testShutdownG  s    c         C   s$   |  i  i t  |  i  i d  d  S(   Ni   (   RK   R   R   t   shutdown(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testShutdownL  s    (   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s   									
					t   BasicUDPTestc           B   sJ   e  Z d  d  Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   R@   c         C   s   t  i |  d | d  S(   NRA   (   RC   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   R  s    c         C   s,   |  i  i t t   } |  i | t  d  S(   N(   R   R   R   R   RQ   (   R
   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testSendtoAndRecvU  s    c         C   s#   |  i  i t d t |  i f  d  S(   Ni    (   RB   t   sendtoR   RJ   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testSendtoAndRecvZ  s    c         C   s2   |  i  i t t   \ } } |  i | t  d  S(   N(   R   R   R   R   RQ   (   R
   R3   RH   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   ]  s    c         C   s#   |  i  i t d t |  i f  d  S(   Ni    (   RB   R   R   RJ   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   b  s    c         C   s   |  i  t |  i i d  d  S(   Ni(   R   R   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testRecvFromNegativee  s    c         C   s#   |  i  i t d t |  i f  d  S(   Ni    (   RB   R   R   RJ   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testRecvFromNegativei  s    (	   R   R   R   R   R   R   R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   P  s   					t   TCPCloserTestc           B   s   e  Z d    Z d   Z RS(   c         C   s|   |  i  i   \ } } | i   |  i } t i | g g  g  d  \ } } } |  i | | g  |  i | i d  d  d  S(   Ng      ?i   R   (   R   RE   R   RB   t   selectRQ   R   (   R
   RG   RH   t   sdR   t   writet   err(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt	   testClosen  s    
	$c         C   s*   |  i  i t |  i f  t i d  d  S(   Ng      ?(   RB   RI   RJ   R   t   timet   sleep(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt
   _testClosew  s    (   R   R   R  R	  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR  l  s   		t   BasicSocketPairTestc           B   s8   e  Z d  d  Z d   Z d   Z d   Z d   Z RS(   R@   c         C   s   t  i |  d | d  S(   NRA   (   RL   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   }  s    c         C   s&   |  i  i d  } |  i | t  d  S(   Ni   (   R   R   RQ   R   (   R
   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    c         C   s   |  i  i t  d  S(   N(   RB   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    c         C   s   |  i  i t  d  S(   N(   R   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testSend  s    c         C   s&   |  i  i d  } |  i | t  d  S(   Ni   (   RB   R   RQ   R   (   R
   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt	   _testSend  s    (   R   R   R   R   R   R  R  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR
  {  s
   			t   NonBlockingTCPTestsc           B   s\   e  Z d  d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d	   Z
 RS(
   R@   c         C   s   t  i |  d | d  S(   NRA   (   R?   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    c         C   sp   |  i  i d  t i   } y |  i  i   Wn t i j
 o n Xt i   } |  i | | d j  d  d  S(   Ni    g      ?s    Error setting non-blocking mode.(   R   t   setblockingR  RE   R   RW   Ri   (   R
   t   startt   end(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testSetBlocking  s    c         C   s   d  S(   N(    (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testSetBlocking  s    c         C   s   |  i  i d  y |  i  i   \ } } Wn t i j
 o n X|  i d  t i |  i  g g  g   \ } } } |  i  | j o |  i  i   \ } } n |  i d  d  S(   Ni    s'   Error trying to do non-blocking accept.s'   Error trying to do accept after select.(   R   R  RE   R   RW   R2   R  (   R
   RG   RH   R   R  R  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt
   testAccept  s    $c         C   s*   t  i d  |  i i t |  i f  d  S(   Ng?(   R  R  RB   RI   RJ   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testAccept  s    c         C   s   |  i  i   \ } } d  S(   N(   R   RE   (   R
   RG   RH   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testConnect  s    c         C   s-   |  i  i d  |  i  i t |  i f  d  S(   Ni
   (   RB   R   RI   RJ   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testConnect  s    c         C   s   |  i  i   \ } } | i d  y | i t t   } Wn t i j
 o n X|  i d  t	 i	 | g g  g   \ } } } | | j o) | i t t   } |  i
 | t  n |  i d  d  S(   Ni    s%   Error trying to do non-blocking recv.s0   Error during select call to non-blocking socket.(   R   RE   R  R   R   R   R   RW   R2   R  RQ   (   R
   RG   RH   R3   R   R  R  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    !c         C   s:   |  i  i t |  i f  t i d  |  i  i t  d  S(   Ng?(   RB   RI   RJ   R   R  R  R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    (   R   R   R   R  R  R  R  R  R  R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR    s   							t   FileObjectClassTestCasec           B   s   e  Z d  Z d d  Z d   Z d   Z d   Z d   Z d   Z d   Z	 d	   Z
 d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   iR@   c         C   s   t  i |  d | d  S(   NRA   (   RD   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    c         C   s,   t  i |   |  i i d |  i  |  _ d  S(   Nt   rb(   RD   R   RF   t   makefilet   bufsizet	   serv_file(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    c         C   s:   |  i  i   |  i |  i  i  d  |  _  t i |   d  S(   N(   R  R   Ri   t   closedR   RD   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    	c         C   s&   t  i |   |  i i d  |  _ d  S(   Nt   wb(   RD   R4   RK   R  t   cli_file(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4     s    c         C   s:   |  i  i   |  i |  i  i  d  |  _  t i |   d  S(   N(   R  R   Ri   R  R   RD   R9   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR9     s    	c         C   sL   |  i  i t t  d  } |  i  i d  } | | } |  i | t  d  S(   Ni   (   R  R   R   R   RQ   (   R
   t	   first_segt
   second_segR3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testSmallRead  s    
c         C   s!   |  i  i t  |  i  i   d  S(   N(   R  R  R   t   flush(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testSmallRead  s    c         C   s#   |  i  i   } |  i | t  d  S(   N(   R  R   RQ   R   (   R
   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testFullRead  s    c         C   s!   |  i  i t  |  i  i   d  S(   N(   R  R  R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testFullRead  s    c         C   sH   d } x+ |  i  i d  } | p Pn | | 7} q	 |  i | t  d  S(   NR   i   (   R  R   RQ   R   (   R
   t   buft   char(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testUnbufferedRead  s    c         C   s!   |  i  i t  |  i  i   d  S(   N(   R  R  R   R"  (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testUnbufferedRead  s    c         C   s#   |  i  i   } |  i | t  d  S(   N(   R  t   readlineRQ   R   (   R
   t   line(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testReadline  s    c         C   s!   |  i  i t  |  i  i   d  S(   N(   R  R  R   R"  (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testReadline  s    c         C   s   |  i  i t d   } |  i d |  |  i  i t d   } |  i d |  |  i  i   } |  i d |  |  i  i   } |  i d |  |  i  i   } |  i t |  d  S(   Ns
   A baloo iss    a bears   
s   A BALOO IS A BEAR.
(   R  R   R   RQ   R*  R   (   R
   t
   a_baloo_ist   _a_bearR+  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testReadlineAfterRead  s    c         C   sA   |  i  i d  |  i  i d  |  i  i t  |  i  i   d  S(   Ns   A baloo is a bear
s   A BALOO IS A BEAR.
(   R  R  R   R"  (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testReadlineAfterRead$  s    c         C   sK   |  i  i t d   } |  i d |  |  i  i   } |  i d |  d  S(   Ns   End Of t   Line(   R  R   R   RQ   R*  (   R
   t   end_of_R+  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testReadlineAfterReadNoNewline*  s    c         C   s   |  i  i d  d  S(   Ns   End Of Line(   R  R  (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testReadlineAfterReadNoNewline0  s    c         C   s   |  i  |  i i  d  S(   N(   Ri   R  R  (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testClosedAttr3  s    c         C   s   |  i  |  i i  d  S(   N(   Ri   R  R  (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testClosedAttr6  s    (   R   R   R  R   R   R   R4   R9   R!  R#  R$  R%  R(  R)  R,  R-  R0  R1  R4  R5  R6  R7  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR    s(   									
								t!   UnbufferedFileObjectClassTestCasec           B   s&   e  Z d  Z d Z d   Z d   Z RS(   s  Repeat the tests from FileObjectClassTestCase with bufsize==0.

    In this case (and in this case only), it should be possible to
    create a file object, read a line from it, create another file
    object, read another line from it, without loss of data in the
    first file object's buffer.  Note that httplib relies on this
    when reading multiple requests from the same socket.i    c         C   sb   |  i  i   } |  i | d t  |  i i d d  |  _  |  i  i   } |  i | d t  d  S(   Ns   A. R  i    s   B. (   R  R*  RQ   R   RF   R  (   R
   R+  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testUnbufferedReadlineE  s
    c         C   s9   |  i  i d t  |  i  i d t  |  i  i   d  S(   Ns   A. s   B. (   R  R  R   R"  (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testUnbufferedReadlineM  s    (   R   R   R>   R  R9  R:  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR8  9  s   	t#   LineBufferedFileObjectClassTestCasec           B   s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR;  R  s   t$   SmallBufferedFileObjectClassTestCasec           B   s   e  Z d  Z RS(   i   (   R   R   R  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR<  W  s   t   NetworkConnectionTestc           B   s   e  Z d  Z d   Z RS(   s   Prove network connection.c         C   s+   t  i t |  i f  |  _ |  i |  _ d  S(   N(   R   t   create_connectionRJ   R   RB   RK   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4   ^  s    (   R   R   R>   R4   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR=  \  s   t   BasicTCPTest2c           B   s   e  Z d  Z RS(   sL   Tests that NetworkConnection does not break existing TCP functionality.
    (   R   R   R>   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR?  d  s   t   NetworkConnectionNoServerc           B   s   e  Z d    Z RS(   c            s,   t  i     |  i t i   f d    d  S(   Nc              s   t  i t   f  S(    (   R   R>  RJ   (    (   R   (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   m  s    (   R    t   find_unused_portR_   R   RW   (   R
   (    (   R   s-   /mit/python/lib/python2.6/test/test_socket.pyt   testWithoutServeri  s    (   R   R   RB  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR@  h  s   t   NetworkConnectionAttributesTestc           B   sz   e  Z d  d  Z d   Z d   Z d   Z e Z d   Z e Z d   Z	 e Z
 d   Z e Z d   Z e Z d	   Z RS(
   R@   c         C   s$   t  i |  d | t i |   d  S(   NRA   (   R   R   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   r  s    c         C   s   d  S(   N(    (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4   v  s    c         C   s'   |  i  i   d  |  _  t i |   d  S(   N(   RB   R   R   R   R9   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR9   y  s    	c         C   s   |  i  i   \ } } d  S(   N(   R   RE   (   R
   RG   RH   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _justAccept~  s    c         C   s;   t  i t |  i f d d |  _ |  i |  i i d  d  S(   Nt   timeouti   i   (   R   R>  RJ   R   RB   RQ   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testFamily  s    !c         C   ss   |  i  t i   d  j  t i d  z t i t |  i f  |  _ Wd  t i d   X|  i	 |  i i
   d  d  S(   Ni*   (   Ri   R   R   R   R   R>  RJ   R   RB   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testTimeoutDefault  s    c         C   sy   |  i  t i   d  j  t i d  z% t i t |  i f d d  |  _ Wd  t i d   X|  i	 |  i i
   d   d  S(   Ni   RE  (   Ri   R   R   R   R   R>  RJ   R   RB   RQ   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testTimeoutNone  s    %c         C   s>   t  i t |  i f d d |  _ |  i |  i i   d  d  S(   NRE  i   (   R   R>  RJ   R   RB   RQ   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testTimeoutValueNamed  s    !c         C   s;   t  i t |  i f d  |  _ |  i |  i i   d  d  S(   Ni   (   R   R>  RJ   R   RB   RQ   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testTimeoutValueNonamed  s    (   R   R   R   R4   R9   RD  t
   testFamilyRF  t   testTimeoutDefaultRG  t   testTimeoutNoneRH  t   testTimeoutValueNamedRI  t   testTimeoutValueNonamedRJ  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRC  p  s   					
	
	t   NetworkConnectionBehaviourTestc           B   sG   e  Z d  d  Z d   Z d   Z d   Z e Z d   Z d   Z RS(   R@   c         C   s$   t  i |  d | t i |   d  S(   NRA   (   R   R   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    c         C   s   d  S(   N(    (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4     s    c         C   s'   |  i  i   d  |  _  t i |   d  S(   N(   RB   R   R   R   R9   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR9     s    	c         C   s3   |  i  i   \ } } t i d  | i d  d  S(   Ni   s   done!(   R   RE   R  R  R   (   R
   RG   RH   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testInsideTimeout  s    c         C   sB   t  i t |  i f  |  _ } | i d  } |  i | d  d  S(   Ni   s   done!(   R   R>  RJ   R   RB   R   RQ   (   R
   R   t   data(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testInsideTimeout  s    c            sE   t  i t |  i f d d |  _   |  i t  i   f d    d  S(   NRE  i   c              s     i  d   S(   i   (   R   (    (   R   (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    (   R   R>  RJ   R   RB   R_   RE  (   R
   (    (   R   s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testOutsideTimeout  s    %(	   R   R   R   R4   R9   RQ  t   testOutsideTimeoutRS  RT  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRP    s   				t   Urllib2FileobjectTestc           B   s   e  Z d    Z RS(   c         C   s   d d d     Y} |   } t  i |  } | i   |  i | i  |   } t  i | d t } | i   |  i | i  d  S(   Nt
   MockSocketc           B   s    e  Z e Z d    Z d   Z RS(   c         S   s   d  S(   N(    (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR"    s    c         S   s   t  |  _ d  S(   N(   t   TrueR  (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    (   R   R   t   FalseR  R"  R   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRW    s   	R   (    (   R   t   _fileobjectR   Ri   R  RX  (   R
   RW  RT   R   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR    s    	
	
(   R   R   R  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRV    s   t   TCPTimeoutTestc           B   s#   e  Z d    Z d   Z d   Z RS(   c            s)     f d   }   i  t i | d  d  S(   Nc             s!     i  i d    i  i   d  S(   Ng      ?(   R   R   RE   (   RX   RY   (   R
   (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   raise_timeout  s    s*   Error generating a timeout exception (TCP)(   R_   R   RE  (   R
   R\  (    (   R
   s-   /mit/python/lib/python2.6/test/test_socket.pyt   testTCPTimeout  s    c         C   s   t  } y# |  i i d  |  i i   } WnQ t i j
 o |  i d  n0 t i j
 o t } n |  i d  n X| p |  i d  n d  S(   Ng        s%   caught timeout instead of error (TCP)s!   caught unexpected exception (TCP)s3   accept() returned success when we did not expect it(	   RY  R   R   RE   R   RE  R2   RW   RX  (   R
   t   okt   foo(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testTimeoutZero  s    
c            sM  t  t d  p d  S|  i i d  d t f d     Y    f d   } t i t i |  } z y t i d  z y |  i i   } Wnc t i	 j
 o |  i
 d  nO   j
 o n= |  i
 d t i   d  t i   f  n X|  i
 d	  Wd  t i d
  XWn    j
 o |  i
 d  n XWd  t i t i |  Xd  S(   Nt   alarmg      @t   Alarmc           B   s   e  Z RS(    (   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRb    s   c            s
      d  S(   N(    (   t   signalt   frame(   Rb  (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   alarm_handler  s    i   s   caught timeout instead of Alarms3   caught other exception instead of Alarm: %s(%s):
%ss   nothing caughti    s   got Alarm in wrong place(   Rw   Rc  R   R   R7   t   SIGALRMRa  RE   R   RE  R2   Rx   t   exc_infot	   tracebackt
   format_exc(   R
   Re  t	   old_alarmR_  (    (   Rb  s-   /mit/python/lib/python2.6/test/test_socket.pyt   testInterruptedTimeout  s0      	#(   R   R   R]  R`  Rk  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR[    s   		t   UDPTimeoutTestc           B   s   e  Z d    Z d   Z RS(   c            s)     f d   }   i  t i | d  d  S(   Nc             s$     i  i d    i  i d  d  S(   Ng      ?i   (   R   R   R   (   RX   RY   (   R
   (    s-   /mit/python/lib/python2.6/test/test_socket.pyR\    s    s*   Error generating a timeout exception (UDP)(   R_   R   RE  (   R
   R\  (    (   R
   s-   /mit/python/lib/python2.6/test/test_socket.pyt   testUDPTimeout  s    c         C   s   t  } y& |  i i d  |  i i d  } WnQ t i j
 o |  i d  n0 t i j
 o t } n |  i d  n X| p |  i d  n d  S(   Ng        i   s%   caught timeout instead of error (UDP)s!   caught unexpected exception (UDP)s1   recv() returned success when we did not expect it(	   RY  R   R   R   R   RE  R2   RW   RX  (   R
   R^  R_  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR`    s    
(   R   R   Rm  R`  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRl    s   	t   TestExceptionsc           B   s   e  Z d    Z RS(   c         C   sq   |  i  t t i t   |  i  t t i t i   |  i  t t i t i   |  i  t t i t i   d  S(   N(   Ri   t
   issubclassR   RW   R7   R[   R]   RE  (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testExceptionTree.  s    (   R   R   Rp  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRn  ,  s   t   TestLinuxAbstractNamespacec           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   il   c         C   s   d } t  i  t  i t  i  } | i |  | i d  t  i  t  i t  i  } | i | i    | i   |  i | i   |  |  i | i	   |  d  S(   Nt    python-test-hello i   (
   R   t   AF_UNIXR   R   R	   RI   R   RE   RQ   t   getpeername(   R
   t   addresst   s1t   s2(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testLinuxAbstractNamespace8  s    
c         C   sT   d d |  i  d } t i t i t i  } | i |  |  i | i   |  d  S(   NR   t   hi   (   t   UNIX_PATH_MAXR   Rs  R   R   RQ   R   (   R
   Ru  RT   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testMaxNameC  s    c         C   sF   d d |  i  } t i t i t i  } |  i t i | i |  d  S(   NR   Ry  (   Rz  R   Rs  R   R   RW   R   (   R
   Ru  RT   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testNameOverflowI  s    (   R   R   Rz  Rx  R{  R|  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyRq  4  s   		t   BufferIOTestc           B   s>   e  Z d  Z d d  Z d   Z d   Z d   Z d   Z RS(   sF   
    Test the buffer versions of socket.recv() and socket.send().
    R@   c         C   s   t  i |  d | d  S(   NRA   (   RD   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR   S  s    c         C   sh   t  i  d d d  } |  i i |  } |  i | t t   | i   t t   } |  i | t  d  S(   Nt   ct    i   (   t   arrayRF   t	   recv_intoRQ   R   R   t   tostring(   R
   R&  t   nbytesR3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testRecvIntoV  s
    c         C   s    t  t  } |  i i |  d  S(   N(   t   bufferR   RK   R   (   R
   R&  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testRecvInto]  s    c         C   sn   t  i  d d d  } |  i i |  \ } } |  i | t t   | i   t t   } |  i | t  d  S(   NR~  R  i   (   R  RF   t   recvfrom_intoRQ   R   R   R  (   R
   R&  R  RH   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testRecvFromIntoa  s
    c         C   s    t  t  } |  i i |  d  S(   N(   R  R   RK   R   (   R
   R&  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testRecvFromIntoh  s    (   R   R   R>   R   R  R  R  R  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR}  O  s   			i  i   i   c          C   s   t  t d  p t St i i d  p t St d  i i   }  z3 |  ~  } x# | D] } | i	 d  o t
 SqW WWd QXt i o	 d GHn t S(   s   Check if the TIPC module is loaded

    The TIPC module is not loaded automatically on Ubuntu and probably
    other Linux distros.
    t   AF_TIPCs   /proc/moduless   tipc Ns6   TIPC module is not loaded, please 'sudo modprobe tipc'(   Rw   R   RY  R   t   patht   isfilet   opent   __exit__t	   __enter__t
   startswithRX  R    t   verbose(   t   _[1]R   R+  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   isTipcAvailableq  s    # 
	t   TIPCTestc           B   s   e  Z d    Z RS(   c         C   s   t  i  t  i t  i  } t  i  t  i t  i  } | i t  i t  i d  t  i t t t	 f } | i
 |  t  i t t t	 t d d f } | i t |  | i d  \ } } |  i | i   |  |  i | t  d  S(   Ni   i   i    i   (   R   R  Rb   R   Rd   Re   t   TIPC_ADDR_NAMESEQt
   TIPC_STYPEt
   TIPC_LOWERt
   TIPC_UPPERR   t   TIPC_ADDR_NAMER   R   R   RQ   R   (   R
   t   srvRB   t   srvaddrt   sendaddrR3   t   recvaddr(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   testRDM  s    		(   R   R   R  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR    s   t   TIPCThreadableTestc           B   s8   e  Z d  d  Z d   Z d   Z d   Z d   Z RS(   R@   c         C   s'   t  i i |  d | t i |   d  S(   NRA   (   RM   RN   R   R   (   R
   RA   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    c         C   s   t  i  t  i t  i  |  _ |  i i t  i t  i d  t  i t t	 t
 f } |  i i |  |  i i d  |  i   |  i i   \ |  _ |  _ d  S(   Ni   i   (   R   R  R   R  R   Rd   Re   R  R  R  R  R   R	   R   RE   RG   t   connaddr(   R
   R  (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR     s    	
c         C   so   t  i d  t i t i t i  |  _ t i t t t	 t d d f } |  i i
 |  |  i i   |  _ d  S(   Ng?i   i    (   R  R  R   R  R   RB   R  R  R  R  RI   R   t   cliaddr(   R
   RH   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR4     s    	c         C   s<   |  i  i d  } |  i | t  |  i |  i |  i  d  S(   Ni   (   RG   R   RQ   R   R  R  (   R
   R3   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt
   testStream  s    c         C   s!   |  i  i t  |  i  i   d  S(   N(   RB   R   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   _testStream  s    (   R   R   R   R   R4   R  R  (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyR    s
   	
		c       
   C   s   t  t t t t t t g }  t i d j o |  i	 t
 t g  n |  i	 t t t t t t t t t g	  t t d  o |  i t  n t i d j o |  i t  n t   o |  i t  |  i t  n t i   } t i |    t i  |   d  S(   Nt   macRO   R   (!   RP   R   R  R[  Rn  R}  R?  Rx   R   t   extendR   Rl  R  R  R8  R;  R<  RV  R@  RC  RP  Rw   R   t   appendR
  Rq  R  R  R  R    t   threading_setupt   run_unittestt   threading_cleanup(   t   testst   thread_info(    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt	   test_main  s0    

t   __main__(9   RM   t   testR    t   errnoR   R  R'   R   R  Rh  R"   Rx   R   R  t   weakrefR   Rc  RJ   R   RN   R   R   R   R?   RC   RD   RL   RP   R   R   R  R
  R  R  R8  R;  R<  t   objectR=  R?  R@  RC  RP  RV  R[  Rl  Rn  Rq  R}  R  R  R  R  R  R  R  R   (    (    (    s-   /mit/python/lib/python2.6/test/test_socket.pyt   <module>   sj   	
b	 ,LDg69	$	