
"Ic           @   sL  d  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	 l
 Z
 d d k l Z d d Z d Z d Z d	 e i f d
     YZ d e i f d     YZ d e i e i f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d   Z e d j o e   n d S(   s   Test script for ftplib module.iN(   t   TestCase(   t   test_support(   t   HOSTs   abcde12345
i  s
   foo
bar
t   DummyDTPHandlerc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s,   t  i i |  |  | |  _ d |  i _ d  S(   Nt    (   t   asynchatt
   async_chatt   __init__t	   baseclasst   last_received_data(   t   selft   connR   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR      s    	c         C   s   |  i  i |  i d  7_ d  S(   Ni   (   R   R	   t   recv(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   handle_read   s    c         C   s   |  i  i d  |  i   d  S(   Ns   226 transfer complete(   R   t   pusht   close(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   handle_close"   s    (   t   __name__t
   __module__R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR      s   		t   DummyFTPHandlerc           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 d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s^   t  i i |  |  |  i d  g  |  _ d  |  _ d  |  _ d |  _ d |  _	 |  i
 d  d  S(   Ns   
R   s   220 welcome(   R   R   R   t   set_terminatort	   in_buffert   Nonet   dtpt   last_received_cmdR	   t   next_responseR   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR   )   s    					c         C   s   |  i  i |  d  S(   N(   R   t   append(   R
   t   data(    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   collect_incoming_data3   s    c         C   s   d i  |  i  } g  |  _ |  i o |  i |  i  d |  _ n | i d  d i   } | |  _ | i d  } | d j o | | d } n d } t |  d |  o! t	 |  d |  } | |  n |  i d |  d  S(   NR   t    i    ii   t   cmd_s    550 command "%s" not understood.(
   t   joinR   R   R   t   splitt   lowerR   t   findt   hasattrt   getattr(   R
   t   linet   cmdt   spacet   argt   method(    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   found_terminator6   s    	
	c         C   s     d  S(   N(    (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   handle_errorI   s    c         C   s   t  i i |  | d  d  S(   Ns   
(   R   R   R   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR   L   s    c         C   s   t  t | i d   } d t | d   } | d d | d } t i | | f d d } t | d |  |  _ |  i d	  d  S(
   Nt   ,s   %d.%d.%d.%di   i   i   t   timeouti   R   s&   200 active data connection established(	   t   mapt   intR    t   tuplet   sockett   create_connectionR   R   R   (   R
   R(   t   addrt   ipt   portt   s(    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_portO   s    c   	      C   s   t  i    } | i |  i  i   d d f  | i d  | i d  | i   d  \ } } | i d d  } | d } | d } |  i d | | | f  | i   \ } } t | d |  |  _	 d  S(	   Ni    i   i   t   .R,   i   s$   227 entering passive mode (%s,%d,%d)R   (
   R1   t   bindt   getsocknamet   listent
   settimeoutt   replaceR   t   acceptR   R   (	   R
   R(   t   sockR4   R5   t   p1t   p2R   R3   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_pasvW   s      
 
c         C   sp   | i  | d  d d !\ } } } t |  } t i | | f d d } t | d |  |  _ |  i d  d  S(   Ni    i   iR-   i   R   s&   200 active data connection established(   R    R/   R1   R2   R   R   R   (   R
   R(   t   afR4   R5   R6   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_eprtb   s
    #c         C   s   t  i  t  i  } | i |  i  i   d d f  | i d  | i d  | i   d } |  i d |  | i   \ } } t | d |  |  _	 d  S(   Ni    i   i   i   s+   229 entering extended passive mode (|||%d|)R   (
   R1   t   AF_INET6R9   R:   R;   R<   R   R>   R   R   (   R
   R(   R?   R5   R   R3   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_epsvi   s     c         C   s   |  i  |  d  S(   N(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_echos   s    c         C   s   |  i  d  d  S(   Ns   331 username ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_userw   s    c         C   s   |  i  d  d  S(   Ns   230 password ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_passz   s    c         C   s   |  i  d  d  S(   Ns   230 acct ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_acct}   s    c         C   s   |  i  d  d  S(   Ns   350 rnfr ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_rnfr   s    c         C   s   |  i  d  d  S(   Ns   250 rnto ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_rnto   s    c         C   s   |  i  d  d  S(   Ns   250 dele ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_dele   s    c         C   s   |  i  d  d  S(   Ns
   250 cwd ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_cwd   s    c         C   s   |  i  d  d  S(   Ns   250 1000(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_size   s    c         C   s   |  i  d |  d  S(   Ns   257 "%s"(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_mkd   s    c         C   s   |  i  d  d  S(   Ns
   250 rmd ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_rmd   s    c         C   s   |  i  d  d  S(   Ns   257 "pwd ok"(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_pwd   s    c         C   s   |  i  d  d  S(   Ns   200 type ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_type   s    c         C   s   |  i  d  |  i   d  S(   Ns   221 quit ok(   R   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_quit   s    c         C   s   |  i  d  d  S(   Ns   125 stor ok(   R   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_stor   s    c         C   s.   |  i  d  |  i i  t  |  i i   d  S(   Ns   125 retr ok(   R   R   t	   RETR_DATAt   close_when_done(   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_retr   s    c         C   s.   |  i  d  |  i i  t  |  i i   d  S(   Ns   125 list ok(   R   R   t	   LIST_DATARW   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_list   s    c         C   s.   |  i  d  |  i i  t  |  i i   d  S(   Ns   125 nlst ok(   R   R   t	   NLST_DATARW   (   R
   R(   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   cmd_nlst   s    (   R   R   R   R   R*   R+   R   R7   RB   RD   RF   RG   RH   RI   RJ   RK   RL   RM   RN   RO   RP   RQ   RR   RS   RT   RU   RX   RZ   R\   (    (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR   '   s6   	
								
																	t   DummyFTPServerc           B   sb   e  Z e Z e i d   Z d   Z d   Z d   Z	 d   Z
 d   Z e Z d   Z d   Z RS(   c         C   s   t  i i |   t i i |   |  i | t i  |  i |  |  i	 d  t
 |  _ t  i   |  _ |  i i   d  \ |  _ |  _ d  S(   Ni   i   (   t	   threadingt   ThreadR   t   asyncoret
   dispatchert   create_socketR1   t   SOCK_STREAMR9   R;   t   Falset   activet   Lockt   active_lockR:   t   hostR5   (   R
   t   addressRC   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR      s    	c         C   sB   |  i  p t  t i   |  _ t i i |   |  i i   d  S(   N(   Re   t   AssertionErrorR^   t   Eventt   _DummyFTPServer__flagR_   t   startt   wait(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyRm      s    c         C   sv   t  |  _ |  i i   xI |  i o> t i o4 |  i i   t i d d d d  |  i i	   q Wt i
 d t   d  S(   NR-   g?t   counti   t
   ignore_all(   t   TrueRe   Rl   t   setR`   t
   socket_mapRg   t   acquiret   loopt   releaset	   close_all(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   run   s    	 c         C   s(   |  i  p t  t |  _  |  i   d  S(   N(   Re   Rj   Rd   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   stop   s    	c         C   s2   |  i    \ } } |  i |  |  _ |  i   d  S(   N(   R>   t   handlerR   (   R
   R   R3   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   handle_accept   s    c         C   s   |  i    d  S(   N(   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   handle_connect   s    c         C   s   d S(   Ni    (    (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   writable   s    c         C   s     d  S(   N(    (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR+      s    (   R   R   R   Rz   R1   t   AF_INETR   Rm   Rx   Ry   R{   R|   R   R}   R+   (    (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR]      s   
							t   TestFTPClassc           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 d   Z d   Z d   Z d   Z d   Z RS(   c         C   sZ   t  t d f  |  _ |  i i   t i d d  |  _ |  i i |  i i |  i i	  d  S(   Ni    R-   i   (
   R]   R   t   serverRm   t   ftplibt   FTPt   clientt   connectRh   R5   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   setUp   s    c         C   s   |  i  i   |  i i   d  S(   N(   R   R   R   Ry   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   tearDown   s    c         C   s   |  i  |  i i   d  d  S(   Ns   220 welcome(   t   assertEqualR   t
   getwelcome(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_getwelcome   s    c         C   sj   |  i  |  i i d  t d   |  i  |  i i d  t d   |  i  |  i i d  t d   d  S(   Nt   foos
   pass 12345s
   pass *****s
   PASS 12345s
   PASS *****(   R   R   t   sanitizet   repr(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_sanitize   s    ""c         C   s   |  i  t i |  i i d  |  i  t i |  i i d  |  i  t i |  i i d  |  i  t i |  i i d  |  i  t i |  i i d  d  S(   Ns   echo 400s   echo 499s   echo 500s   echo 599s   echo 999(   t   assertRaisesR   t
   error_tempR   t   sendcmdt
   error_permt   error_proto(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_exceptions   s
    c         C   sh   t  i t  i t  i t  i t  i t t f } x7 | D]/ } y | d   Wq1 t  i j
 o q1 Xq1 Wd  S(   Ns(   exception not included in all_errors set(	   R   t   error_replyR   R   R   t   Errort   IOErrort   EOFErrort
   all_errors(   R
   t
   exceptionst   x(    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_all_errors   s     c         C   s]   |  i  |  i i  |  i i t  |  i  |  i i  |  i i t  |  i |  i i  d  S(   N(   t
   assertTrueR   t   passiveservert   set_pasvRq   Rd   t   assertFalse(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_set_pasv  s
    c         C   s\   |  i  i d  |  i  i d  |  i t i |  i  i d  |  i t i |  i  i d  d  S(   Ns   echo 200s   echo 299s   echo 199s   echo 300(   R   t   voidcmdR   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_voidcmd  s    c         C   s   |  i  i   d  S(   N(   R   t   login(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt
   test_login  s    c         C   s   |  i  i d  d  S(   Nt   passwd(   R   t   acct(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt	   test_acct  s    c         C   sE   |  i  i d d  d |  i i _ |  i t i |  i  i d d  d  S(   Nt   at   bt   200(   R   t   renameR   Rz   R   R   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_rename  s    c         C   s?   |  i  i d  d |  i i _ |  i t i |  i  i d  d  S(   NR   t   199(   R   t   deleteR   Rz   R   R   R   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_delete!  s    c         C   s   |  i  i d  d  S(   NR   (   R   t   size(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt	   test_size&  s    c         C   s&   |  i  i d  } |  i | d  d  S(   Ns   /foo(   R   t   mkdR   (   R
   t   dir(    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_mkd)  s    c         C   s   |  i  i d  d  S(   NR   (   R   t   rmd(   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_rmd-  s    c         C   s#   |  i  i   } |  i | d  d  S(   Ns   pwd ok(   R   t   pwdR   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_pwd0  s    c         C   s3   |  i  |  i i   d  |  i  |  i i d   d  S(   Ns   221 quit ok(   R   R   t   quitR?   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt	   test_quit4  s    c         C   s9   g  } |  i  i d | i  |  i d i |  t  d  S(   Nt   retrR   (   R   t
   retrbinaryR   R   R   RV   (   R
   t   received(    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_retrbinary9  s    c         C   sE   g  } |  i  i d | i  |  i d i |  t i d d   d  S(   NR   R   s   
(   R   t	   retrlinesR   R   R   RV   R=   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_retrlines>  s    c            s   t  i  t  } |  i i d |  |  i |  i i i t  g    | i d  |  i i d | d   f d   |  i	    d  S(   Nt   stori    t   callbackc            s     i  d   S(   N(   R   R   (   R   (   t   flag(    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   <lambda>J  s    (
   t   StringIORV   R   t
   storbinaryR   R   Rz   R	   t   seekR   (   R
   t   f(    (   R   s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_storbinaryC  s    "c            s   t  i  t i d d   } |  i i d |  |  i |  i i i t  g    | i	 d  |  i i d | d   f d   |  i
    d  S(   Ns   
s   
R   i    s   stor fooR   c            s     i  d   S(   N(   R   R   (   R   (   R   (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR   T  s    (   R   RV   R=   R   t	   storlinesR   R   Rz   R	   R   R   (   R
   R   (    (   R   s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_storlinesM  s    "c         C   s7   |  i  i   |  i |  i  i   t i d  d   d  S(   Ns   
i(   R   t   nlstR   R[   R    (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt	   test_nlstW  s    c            sH   g    |  i  i   f d    |  i d i    t i d d   d  S(   Nc            s     i  |   S(    (   R   (   R   (   t   l(    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR   ]  s    R   s   
(   R   R   R   R   RY   R=   (   R
   (    (   R   s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_dir[  s    c         C   s*   |  i  i   |  i |  i i i d  d  S(   NR5   (   R   t   makeportR   R   Rz   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_makeport`  s    c         C   sT   |  i  i   \ } } t i | | f d  } | i   |  i |  i i i d  d  S(   Ni   t   pasv(	   R   t   makepasvR1   R2   R   R   R   Rz   R   (   R
   Rh   R5   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_makepasve  s    
(   R   R   R   R   R   R   R   R   R   R   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_ftplib.pyR      s2   																					
	
			t   TestIPv6Environmentc           B   s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s]   t  t d f d t i |  _ |  i i   t i   |  _ |  i i	 |  i i
 |  i i  d  S(   Ni    RC   (   R]   R   R1   RE   R   Rm   R   R   R   R   Rh   R5   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR   o  s    c         C   s   |  i  i   |  i i   d  S(   N(   R   R   R   Ry   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR   u  s    c         C   s   |  i  |  i i t i  d  S(   N(   R   R   RC   R1   RE   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_afy  s    c         C   s*   |  i  i   |  i |  i i i d  d  S(   Nt   eprt(   R   R   R   R   Rz   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR   |  s    c         C   sT   |  i  i   \ } } t i | | f d  } | i   |  i |  i i i d  d  S(   Ni   t   epsv(	   R   R   R1   R2   R   R   R   Rz   R   (   R
   Rh   R5   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR     s    
c            sA     f d   }   i  i t  |     i  i t  |   d  S(   Nc             s9   g  }    i  i d |  i    i d i |   t  d  S(   NR   R   (   R   R   R   R   R   RV   (   R   (   R
   (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR     s    (   R   R   Rq   Rd   (   R
   R   (    (   R
   s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   test_transfer  s
    (   R   R   R   R   R   R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR   m  s   					t   TestTimeoutsc           B   sY   e  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 d  t i	 |  i  |  _
 t  i d |  i d |  i |  i f  i   |  i i   |  i i   |  i
 t i _
 d  S(   Ni   t   targett   args(   R^   Rk   t   evtR1   R~   Rc   R?   R<   R   t	   bind_portR5   R_   R   Rm   Rn   t   clearR   R   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR     s    +c         C   s   |  i  i   d  S(   N(   R   Rn   (   R
   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR     s    c         C   s   | i  d  | i   zT y | i   \ } } Wn t i j
 o n# X| i d  | i   | i   Wd  | i   | i   Xd  S(   Ni   s   1 Hola mundo
(   R;   Rr   R>   R1   R-   t   sendR   (   R
   R   t   servR   R3   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR     s    
 

c         C   s~   |  i  t i   d  j  t i d  z t i d  } Wd  t i d   X|  i | i i	   d  |  i
 i   | i   d  S(   Ni   t	   localhost(   t   assert_R1   t   getdefaulttimeoutR   t   setdefaulttimeoutR   R   R   R?   t
   gettimeoutR   Rn   R   (   R
   t   ftp(    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   testTimeoutDefault  s    c         C   s   |  i  t i   d  j  t i d  z t i d d d  } Wd  t i d   X|  i | i i	   d  j  |  i
 i   | i   d  S(   Ni   R   R-   (   R   R1   R   R   R   R   R   R   R?   R   R   Rn   R   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   testTimeoutNone  s    c         C   sI   t  i t d d } |  i | i i   d  |  i i   | i   d  S(   NR-   i   (	   R   R   R   R   R?   R   R   Rn   R   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   testTimeoutValue  s    c         C   sS   t  i   } | i t d d |  i | i i   d  |  i i   | i	   d  S(   NR-   i   (
   R   R   R   R   R   R?   R   R   Rn   R   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   testTimeoutConnect  s
    c         C   sS   t  i d d  } | i t  |  i | i i   d  |  i i   | i	   d  S(   NR-   i   (
   R   R   R   R   R   R?   R   R   Rn   R   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   testTimeoutDifferentOrder  s
    c         C   sV   t  i   } d | _ | i t  |  i | i i   d  |  i i	   | i
   d  S(   Ni   (   R   R   R-   R   R   R   R?   R   R   Rn   R   (   R
   R   (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   testTimeoutDirectAccess  s    	(   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyR     s   								c       	   C   s   t  t g }  t i oG y t t d f d t i Wn t i j
 o q] X|  i t	  n t
 i   } z t
 i |    Wd  t
 i |   Xd  S(   Ni    RC   (   R   R   R1   t   has_ipv6R]   R   RE   t   errorR   R   R   t   threading_setupt   run_unittestt   threading_cleanup(   t   testst   thread_info(    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt	   test_main  s    
t   __main__(   t   __doc__R   R^   R`   R   R1   R   t   unittestR    t   testR   t   test.test_supportR   RV   RY   R[   R   R   R   Ra   R_   R]   R   R   R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_ftplib.pyt   <module>   s*   
2$\	