
"Ic           @   s  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 Z d  d k l Z y e Wn e j
 o e Z n Xe Z h d d 6d d 6d6 d	 6d
 d 6d g d 6e i d  d 6e i d 6d d 6d d 6e i d  d 6e i d7  d 6e i e i d d d d d d   d 6g Z d  e i f d!     YZ d" e i f d#     YZ d$ e i f d%     YZ d& e i f d'     YZ d( e i f d)     YZ d a d*   Z d+   Z d, e i f d-     YZ  d. e i! f d/     YZ" d0 e i f d1     YZ# d2 e i f d3     YZ$ d4   Z% e& d5 j o e%   n d S(8   iN(   t   test_supports   foo@bar.baz.spamt   astringgHzns@t   afloati   i   t   anintl    t
   ashortlongs   .zyx.41t   anotherlists   my dog has fleast   abase64t   booleanu	   䀀怀耀t   unicodes   regular valueu   ukey䀀s   20050210T11:41:23t	   datetime1i  i
   i   i)   i   i    i   t	   datetime2t	   datetime3t   XMLRPCTestCasec           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 RS(   c         C   s1   |  i  t t i t i t f   d d  d  S(   Ni    (   t   assertEqualst   alistt	   xmlrpclibt   loadst   dumps(   t   self(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dump_load(   s    	c         C   s   t  i  d d d d d d  } t i | f  } t i | d d \ \ } } |  i | |  |  i | d   t i | d d	 \ \ } } |  i | t i d
   d  S(   Ni  i   i
   i   i)   i   t   use_datetimei   i    s   20050210T11:41:23(   t   datetimeR   R   R   R   t   Nonet   DateTime(   R   t   dtt   st   newdtt   m(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dump_bare_datetime,   s    c         C   s   t  i  d d d d d d  } t i | f  } t i | d d \ \ } } |  i | |  |  i | d   t i | d d \ \ } } |  i | t i d	   d  S(
   Ni   i   i
   i   i)   i   R   i    s   00010210T11:41:23(   R   R   R   R   R   R   R   (   R   R   R   R   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_datetime_before_1900:   s    c         C   s   t  i  i   } t i | i    } |  i | | j  |  i | | j  | t  i d d  } |  i | | j  |  i | | j   d  S(   Nt   secondsi   (   R   t   nowR   R   t	   timetuplet   assert_t	   timedelta(   R   R   R   t   then(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_cmp_datetime_DateTimeE   s    c         C   s   t  i   } t  i t  i | f d t  \ \ } } |  i t | i t   t  i | f d t } |  i t | t   d  S(   Nt   methodresponse(	   R   R   R   R   t   TrueR!   t
   isinstancet   valuet   str(   R   t   dt   new_dt   dummyR   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_bug_1164912N   s    c         C   sl   d t  f d     Y} |   } d | _ d | _ t i t i | f   \ \ } } |  i | | i  d  S(   Nt   Tc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR.   Y   s   id   t   Hello(   t   objectt   xt   yR   R   R   R   t   __dict__(   R   R.   t   tt   t2R,   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_newstyle_classX   s    			$c         C   s   |  i  t t i d  d  S(   Nl    ic   l                (   l                (   t   assertRaisest   OverflowErrorR   R   (   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dump_big_longa   s    c         C   s$   |  i  t t i h d d 6f  d  S(   Ni   i   i   (   i   i   i   (   R9   t	   TypeErrorR   R   (   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dump_bad_dictd   s    c         C   sK   d d d g } d d d | g } | i  |  |  i t t i | f  d  S(   Ni   i   i   i   i   (   t   appendR9   R<   R   R   (   R   t   lR6   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dump_recursive_seqg   s    c         C   sO   h d d 6d d 6} h d d 6| d 6} | | d <|  i  t t i | f  d  S(   Ni   t   1t   2i   t   3R*   R6   (   R9   R<   R   R   (   R   R*   R6   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dump_recursive_dictm   s    
c         C   s  t  i d j o# |  i t t i t d  f  n t i t i t i f  |  i t t i t i d f  |  i t t i t i d f  d   } t i	   } | i
 t i |  | i
 t i |  |  i t | i
 t i d |  |  i t | i
 t i d |  d  S(	   Nl    i   i   i"   c         S   s   d  S(   N(    (   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   dummy_write|   s    l        l    l        (   t   syst   maxintR9   R:   R   R   t   intt   MAXINTt   MININTt
   Marshallert   dump_int(   R   RE   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dump_big_ints   s      	 c         C   sp   t  d  g } t  d  g f } t i | d t } |  i | t i |  d d  |  i t t i | f  d  S(   Nt
   allow_nonei    (	   R   R   R   R   R&   R   R   R9   R<   (   R   R(   t   arg1t   strg(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dump_none   s    	c         C   s,  d } t  i   } t t  d  } t t   t  i d  z t i |  \ \ } } } Wd  t  i |  | p
 t  ` n X| i   } t oy |  i	 | d  |  i
 t | t   |  i	 | d g  |  i
 t | d d t   |  i
 t | d d t   n$ |  i	 | d	  |  i	 | d g  d  S(   Ns)  <?xml version='1.0' encoding='iso-8859-1'?>
                  <params>
                    <param><value>
                      <string>abc </string>
                      </value></param>
                    <param><value>
                      <struct>
                        <member>
                          <name>def </name>
                          <value><string>ghi </string></value>
                          </member>
                        </struct>
                      </value></param>
                  </params>
                  t   setdefaultencodings
   iso-8859-1u   abc u   def u   ghi i    i   s   abc s   def s   ghi (   u   def u   ghi (   s   def s   ghi (   RF   t   getdefaultencodingt   hasattrt   reloadRR   R   R   t   itemst   have_unicodeR   R!   R'   R   (   R   t   utf8t   old_encodingt   setdefaultencoding_existedR   R*   R   RV   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_default_encoding_issues   s&    
"(   R/   R0   R   R   R   R$   R-   R8   R;   R=   R@   RD   RM   RQ   R[   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR   &   s   						
								t   HelperTestCasec           B   s   e  Z d    Z RS(   c         C   sO   |  i  t i d  d  |  i  t i d  d  |  i  t i d  d  d  S(   Ns   a&bs   a&amp;bs   a<bs   a&lt;bs   a>bs   a&gt;b(   t   assertEqualR   t   escape(   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_escape   s    (   R/   R0   R_   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR\      s   t   FaultTestCasec           B   s   e  Z d    Z d   Z RS(   c         C   sH   t  i d d  } |  i t |  d  |  i t |  t |   d  S(   Ni*   s
   Test Faults   <Fault 42: 'Test Fault'>(   R   t   FaultR]   t   reprR)   (   R   t   f(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt	   test_repr   s    c         C   s   t  i d d  } t  i | f  } t  i |  \ \ } } |  i | h d d 6d d 6 |  i | d   t  i   i |  } |  i t  i t  i |  d  S(   Ni*   s
   Test Faultt	   faultCodet   faultString(   R   Ra   R   R   R   R   RK   R9   (   R   Rc   R   t   newfR   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dump_fault   s    (   R/   R0   Rd   Rh   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR`      s   	t   DateTimeTestCasec           B   sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   t  i   } d  S(   N(   R   R   (   R   R6   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_default   s    c         C   sD   d } t  i |  } |  i t |  t i d t i |    d  S(   Ngl]ޮAs   %Y%m%dT%H:%M:%S(   R   R   R]   R)   t   timet   strftimet	   localtime(   R   R*   R6   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt	   test_time   s    c      	   C   s/   d } t  i |  } |  i t |  d
  d  S(   Ni  i   i	   i
   i&   i2   i   i   i    s   20070609T10:38:50(	   i  i   i	   i
   i&   i2   i   i   i    (   R   R   R]   R)   (   R   R*   R6   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_time_tuple   s    c         C   sD   t  i d  } t i |  } |  i t |  t  i d |   d  S(   Ngl]ޮAs   %Y%m%dT%H:%M:%S(   Rk   Rm   R   R   R]   R)   Rl   (   R   R*   R6   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_time_struct   s    c         C   sG   t  i  d d d d d d  } t i |  } |  i t |  d  d  S(   Ni  i   i   i   i   i   s   20070102T03:04:05(   R   R   R   R]   R)   (   R   R*   R6   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_datetime_datetime   s    c         C   sW   t  i  d d d d d d  } t i |  } d t |  } |  i t |  |  d  S(   Ni  i   i   i   i   i   s$   <DateTime '20070102T03:04:05' at %x>(   R   R   R   t   idR]   Rb   (   R   R*   R6   t   val(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyRd      s    c         C   sy   d } t  i   } | i |  t  i t i d d d d d d   } |  i | |  t  i |  } |  i | |  d  S(   Ns    20070908T07:11:13  i  i	   i   i   i   i   (   R   R   t   decodeR   R]   t	   _datetime(   R   R*   t   t1t   trefR7   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_decode   s    '(	   R/   R0   Rj   Rn   Ro   Rp   Rq   Rd   Rx   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyRi      s   						t   BinaryTestCasec           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s&   t  i   } |  i t |  d  d  S(   Nt    (   R   t   BinaryR]   R)   (   R   R6   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyRj      s    c         C   s/   d } t  i |  } |  i t |  |  d  S(   Ns   abc123(   R   R{   R]   R)   (   R   R*   R6   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_string   s    c         C   sm   d } t  i |  } t i   } | i |  |  i t |  |  t i |  } |  i t |  |  d  S(   Ns   abc123(   t   base64t   encodestringR   R{   Rt   R]   R)   t   _binary(   R   R*   t   deRv   R7   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyRx     s    (   R/   R0   Rj   R|   Rx   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyRy      s   		c         C   sN  d d d     Y} d   } d t  i  f d     Y} z y | d d t d	 t } | i i d
  | i   | i i   d a | i   | i   | i	   | i
 t  | i
 d   d  | i
 |  | i |    |  i   x& | d j o | i   | d 8} q WWn t i j
 o n XWd  | i i   d  a |  i   Xd  S(   Nt   TestInstanceClassc           B   s   e  Z d    Z d   Z RS(   c         S   s   | | S(   N(    (   R   R3   R4   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   div  s    c         S   s   | d j o d Sd  S(   NR   s   This is the div function(    (   R   t   name(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   _methodHelp  s    (   R/   R0   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR     s   	c           S   s   t  S(   s   This is my function(   R&   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   my_function  s    t   MyXMLRPCServerc           B   s   e  Z d    Z RS(   c         S   s,   |  i  i   \ } } | i t  | | f S(   N(   t   sockett   acceptt   setblockingR&   (   R   R   t   port(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   get_request   s    (   R/   R0   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR     s   t	   localhosti    t   logRequestst   bind_and_activatei   i   c         S   s   |  | S(    (    (   R3   R4   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   <lambda>2  s    t   add(    (   R   i    (   t   SimpleXMLRPCServert   FalseR   t
   settimeoutt   server_bindt   getsocknamet   PORTt   server_activatet    register_introspection_functionst   register_multicall_functionst   register_functiont   powt   register_instancet   sett   handle_requestt   timeoutt   closeR   (   t   evtt   numrequestsR   R   R   t   serv(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   http_server  s6    	 	




 
	c         C   s   y; |  i  d j p |  i d j o t S|  i i d  } Wn t j
 o t |   } n X| o d | i   j o t St S(   s   Returns True if the given ProtocolError is the product of a server-side
       exception caused by the 'temporarily unavailable' response sometimes
       given by operations on non-blocking sockets.is   X-exceptions   temporarily unavailableN(	   t   errcodet   headersR   R&   t   gett   AttributeErrorR)   t   lowerR   (   t   et   exc_mess(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   is_unavailable_exceptionE  s     t   SimpleServerTestCasec           B   sk   e  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   sd   t  t i _ t i   |  _ |  i d f } t i d t d |  i   |  i i	   |  i i
   d  S(   Ni   t   targett   args(   R&   R   t   _send_traceback_headert	   threadingt   EventR   t   ThreadR   t   startt   waitt   clear(   R   t	   serv_args(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   setUp`  s    c         C   s   |  i  i   t t i _ d  S(   N(   R   R   R   R   R   (   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   tearDownm  s    c         C   s   y3 t  i d t  } |  i | i d d  d  WnU t  i t i f j
 o= } t |  p' |  i	 d | t
 | d d  f  q n Xd  S(   Ns   http://localhost:%di   i   s   %s
%sR   Rz   i  (   R   t   ServerProxyR   R]   R   t   ProtocolErrorR   t   errorR   t   failt   getattr(   R   t   pR   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_simple1t  s     c         C   sb   t  i d t  } | i d d  | i   } | i   |  i | i d  |  i | i d  d  S(   NR   t   POSTs   /this-is-not-validi  s	   Not Found(	   t   httplibt   HTTPConnectionR   t   requestt   getresponseR   R]   t   statust   reason(   R   t   connt   response(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   XXXtest_404  s    
c         C   s   y` t  i d t  } | i i   } t d d d d d d d d	 g  } |  i t |  |  WnU t  i t i	 f j
 o= } t
 |  p' |  i d
 | t | d d  f  q n Xd  S(   Ns   http://localhost:%dR   R   R   R   s   system.listMethodss   system.methodHelps   system.methodSignatures   system.multicalls   %s
%sR   Rz   (   R   R   R   t   systemt   listMethodsR   R]   R   R   R   R   R   R   (   R   R   t   metht   expected_methodsR   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_introspection1  s    c         C   s   y9 t  i d t  } | i i d  } |  i | d  WnU t  i t i f j
 o= } t	 |  p' |  i
 d | t | d d  f  q n Xd  S(   Ns   http://localhost:%dR   s   This is the div functions   %s
%sR   Rz   (   R   R   R   R   t
   methodHelpR]   R   R   R   R   R   R   (   R   R   t   divhelpR   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_introspection2  s    c         C   s   y9 t  i d t  } | i i d  } |  i | d  WnU t  i t i f j
 o= } t	 |  p' |  i
 d | t | d d  f  q n Xd  S(   Ns   http://localhost:%dR   s   This is my functions   %s
%sR   Rz   (   R   R   R   R   R   R]   R   R   R   R   R   R   (   R   R   t
   myfunctionR   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_introspection3  s    c         C   s   y9 t  i d t  } | i i d  } |  i | d  WnU t  i t i f j
 o= } t	 |  p' |  i
 d | t | d d  f  q n Xd  S(   Ns   http://localhost:%dR   s   signatures not supporteds   %s
%sR   Rz   (   R   R   R   R   t   methodSignatureR]   R   R   R   R   R   R   (   R   R   t   divsigR   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_introspection4  s    c         C   s   y t  i d t  } t  i |  } | i d d  | i d d  | i d d  |   \ } } } |  i | d  |  i | d  |  i | d  WnU t  i t	 i
 f j
 o= } t |  p' |  i d | t | d	 d
  f  q n Xd  S(   Ns   http://localhost:%di   i   i   i   i   i*   s   %s
%sR   Rz   i   i  i   (   R   R   R   t	   MultiCallR   R   R   R]   R   R   R   R   R   R   (   R   R   t	   multicallt
   add_resultt
   pow_resultt
   div_resultR   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_multicall  s    c         C   s   yo t  i d t  } t  i |  } | i   |   } |  i | i d d d  |  i | i d d d  WnU t  i t i	 f j
 o= } t
 |  p' |  i d | t | d d	  f  q n Xd  S(
   Ns   http://localhost:%di    Re   i   Rf   sJ   <type 'exceptions.Exception'>:method "this_is_not_exists" is not supporteds   %s
%sR   Rz   (   R   R   R   R   t   this_is_not_existsR]   t   resultsR   R   R   R   R   R   (   R   R   R   t   resultR   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_non_existing_multicall  s    
	c         C   s@   |  i  t t i t d  |  i t i t d   |  i   d  S(   Nt   __addt   title(   R9   R   R   t   resolve_dotted_attributeR)   R!   R   (   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_dotted_attribute  s    	(   R/   R0   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR   _  s   										t   FailingMessageClassc           B   s   e  Z d    Z RS(   c         C   s1   | i    } | d j o d St i i |  |  S(   Ns   content-lengths   I am broken(   R   t	   mimetoolst   Messaget   __getitem__(   R   t   key(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR     s    (   R/   R0   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR     s   t   FailingServerTestCasec           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   sX   t  i   |  _ |  i d f } t  i d t d |  i   |  i i   |  i i   d  S(   Ni   R   R   (   R   R   R   R   R   R   R   R   (   R   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR     s
    c         C   s,   |  i  i   t t i _ t i t i _ d  S(   N(	   R   R   R   R   R   R   R   t   SimpleXMLRPCRequestHandlert   MessageClass(   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR     s    c         C   s   t  i  i } |  i | t  t t  i  _ y3 t i d t  } |  i | i d d  d  WnU t i	 t
 i f j
 o= } t |  p' |  i d | t | d d  f  q n Xd  S(   Ns   http://localhost:%di   i   s   %s
%sR   Rz   i  (   R   R   R]   R   R&   R   R   R   R   R   R   R   R   R   R   (   R   t   flagvalR   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt
   test_basic
  s     c         C   s   t  t i _ y' t i d t  } | i d d  Wn t i t	 i
 f j
 oi } t |  oR t | d  oB |  i | i i d  d  j  |  i | i i d  d  j  q n X|  i d  d  S(   Ns   http://localhost:%di   i   R   s   X-exceptions   X-tracebacks   ProtocolError not raised(   R   R   R   R   R   R   R   R   R   R   R   R   RT   t
   assertTrueR   R   R   R   (   R   R   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_fail_no_info  s    (c         C   s   t  t i _ t t i _ y' t i d t  } | i	 d d  Wn t i
 t i f j
 ol } t |  oU t | d  oE d } |  i | i i d  |  |  i | i i d  d  j	  q n X|  i d  d  S(	   Ns   http://localhost:%di   i   R   s5   invalid literal for int() with base 10: 'I am broken's   x-exceptions   x-tracebacks   ProtocolError not raised(   R   R   R   R   R&   R   R   R   R   R   R   R   R   R   RT   R]   R   R   R   R   R   (   R   R   R   t   expected_err(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_fail_with_info,  s    ((   R/   R0   R   R   R   R   R   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR     s
   	
			t   CGIHandlerTestCasec           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C   s   t  i   |  _ d  S(   N(   R   t   CGIXMLRPCRequestHandlert   cgi(   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR   B  s    c         C   s   d  |  _ d  S(   N(   R   R   (   R   (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR   E  s    c         C   s   d t  i d <t i } t t i d  t _ |  i i   t i i	   | t _ t t i d  i
   } | i   d } d i | i   d d ! } |  i | d	  |  i | d
  t  i t i  d t  i d <d  S(   Nt   GETt   REQUEST_METHODt   wt   ri   t    i   i   t   400s   Bad RequestRz   (   t   ost   environRF   t   stdoutt   openR    t   TESTFNR   R   R   t   readt   splitt   joinR]   t   remove(   R   t   tmpt   handleR   t   message(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_cgi_getH  s    		c         C   s   d } t  d d  i |  t i } t i } t  d d  t _ t  t i d  t _ |  i i   t i i	   t i i	   | t _ | t _ t  t i d  i
   } |  i t i t i | d  t i d  t i t i  d  S(   Ns  <?xml version='1.0'?>
<methodCall>
    <methodName>test_method</methodName>
    <params>
        <param>
            <value><string>foo</string></value>
        </param>
        <param>
            <value><string>bar</string></value>
        </param>
     </params>
</methodCall>
s   xmldata.txtR   R   i,   (   R   t   writeRF   t   stdinR   R    R  R   R   R   R  R9   R   Ra   R   R   R  (   R   t   datat   tmp1t   tmp2R  (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   test_cgi_xmlrpc_response]  s    				(   R/   R0   R   R   R	  R  (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyR   A  s   			c          C   sa   t  t t t t g }  t i d j o+ |  i t  |  i t	  |  i t
  n t i |    d  S(   Nt   win32(   R   R\   Ri   Ry   R`   RF   t   platformR>   R   R   R   R    t   run_unittest(   t   xmlrpc_tests(    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt	   test_main  s    	t   __main__i   (	   i  i   i
   i   i)   i   i    i   i('   R}   R   RF   Rk   t   unittestR   R   R   R   R   R   R   t   testR    R   t	   NameErrorR   RW   R&   R{   R   R   t   TestCaseR   R\   R`   Ri   Ry   R   R   R   R   R   R   R   R   R   R  R/   (    (    (    s-   /mit/python/lib/python2.6/test/test_xmlrpc.pyt   <module>   s\   



((	3	JA	