{G_Tc @sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl mZyddlZWnek rdZnXyddlZWnek rdZnXyeWnek r!eZnXeZi dd6dd6dMd 6d d 6d gd 6ejdd6ejd6dd6dd6ejdd6ejdNd6ejejddddddd6gZd ejfd!YZd"ejfd#YZd$ejfd%YZd&ejfd'YZd(ejfd)YZ da!a"a#dd*Z$dd+Z%d,Z&ej'ed-d.ejfd/YZ(d0e(fd1YZ)d2e(fd3YZ*d4e(fd5YZ+d6e+fd7YZ,d8e+fd9YZ-ej'ed:d;e(fd<YZ.d=ejfd>YZ/d?ej0fd@YZ1ej'ed-dAejfdBYZ2dCejfdDYZ3dEdOdFYZ4dGej5fdHYZ6dIejfdJYZ7ej8dKZ9e:dLkre9ndS(PiN(t test_supportsfoo@bar.baz.spamtastringgHzns@tafloatiitanintlt ashortlongs.zyx.41t anotherlistsmy dog has fleastabase64tbooleanu 䀀怀耀tunicodes regular valueuukey䀀s20050210T11:41:23t datetime1ii i i)iiit datetime2t datetime3tXMLRPCTestCasecBs}eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d ZRS( cCs1|jttjtjtfdddS(Ni(t assertEqualtalistt xmlrpclibtloadstdumps(tself((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dump_load3s cCstjdddddd}tj|f}tj|dd\\}}|j|||j|dtj|dd \\}}|j|tjd dS( Niii i i)it use_datetimeiis20050210T11:41:23(tdatetimeRRRR tNonetDateTime(Rtdttstnewdttm((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dump_bare_datetime7scCstjdddddd}tj|f}tj|dd\\}}|j|||j|dtj|dd\\}}|j|tjd dS( Niii i i)iRis00010210T11:41:23(RRRRR RR(RRRRR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_datetime_before_1900EscCstjj}tj|j}|j||k|j||k|tjdd}|j||k|j||kdS(Ntsecondsi(RtnowRRt timetuplet assertTruet timedelta(RRRtthen((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_cmp_datetime_DateTimePscCsutj}tjtj|fdt\\}}|j|jttj|fdt}|j|tdS(Ntmethodresponse(RRRRtTruetassertIsInstancetvaluetstr(Rtdtnew_dtdummyR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_bug_1164912Ys  cCsldtfdY}|}d|_d|_tjtj|f\\}}|j||jdS(NtTcBseZRS((t__name__t __module__(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR.dsidtHello(tobjecttxtyRRRR t__dict__(RR.tttt2R,((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_newstyle_classcs    $cCs|jttjddS(Nlicl(l(t assertRaisest OverflowErrorRR(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dump_big_longlscCs$|jttjidd6fdS(Niii(iii(R9t TypeErrorRR(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dump_bad_dictoscCsKdddg}ddd|g}|j||jttj|fdS(Niiiii(tappendR9R<RR(RtlR6((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dump_recursive_seqrs cCsOidd6dd6}idd6|d6}||d<|jttj|fdS(Nit1t2it3R*R6(R9R<RR(RR*R6((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dump_recursive_dictxs cCs tjdkr1|jttjtdfntjtjtjf|jttjtjdf|jttjtjdfd}tj }|j tj||j tj||jt|j tjd||jt|j tjd|dS( Nliii"cSsdS(N((R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt dummy_writeslll( tsystmaxintR9R:RRtinttMAXINTtMININTt Marshallertdump_int(RRER((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dump_big_int~s     cCsptdg}tdgf}tj|dt}|j|tj|dd|jttj|fdS(Nt allow_nonei( RRRRR&R RR9R<(RR(targ1tstrg((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dump_nones   c Csd}tj}tjdNddl}|jdztj|\\}}}Wd|j|XWdQX|j}tr|j |d|j |t |j |d g|j |ddt |j |dd t n#|j |d |j |dgdS(Ns) abc def ghi RFis iso-8859-1uabc •udef –ughi —iisabc •sdef –sghi —(udef –ughi —(sdef –sghi —( RFtgetdefaultencodingRt CleanImporttsetdefaultencodingRRtitemst have_unicodeR R'R(Rtutf8t old_encodingttemp_sysRR*RRU((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_default_encoding_issuess"    (R/R0RRRR$R-R8R;R=R@RDRMRQRZ(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR 1s        tHelperTestCasecBseZdZRS(cCsO|jtjdd|jtjdd|jtjdddS(Nsa&bsa&bsabsa>b(R Rtescape(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_escapes(R/R0R](((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR[st FaultTestCasecBseZdZdZRS(cCsHtjdd}|jt|d|jt|t|dS(Ni*s Test Faults(RtFaultR treprR)(Rtf((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_reprscCstjdd}tj|f}tj|\\}}|j|idd6dd6|j|dtjj|}|jtjtj|dS(Ni*s Test Faultt faultCodet faultString(RR_RRR RRKR9(RRaRtnewfR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dump_faults(R/R0RbRf(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR^s tDateTimeTestCasecBsGeZdZdZdZdZdZdZdZRS(cCstj}dS(N(RR(RR6((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_defaultscCsDd}tj|}|jt|tjdtj|dS(Ngl]ޮAs%Y%m%dT%H:%M:%S(RRR R)ttimetstrftimet localtime(RR*R6((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_timesc Cs/d }tj|}|jt|d dS( Niii i i&i2iiis20070609T10:38:50( iii i i&i2iii(RRR R)(RR*R6((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_time_tuplescCsDtjd}tj|}|jt|tjd|dS(Ngl]ޮAs%Y%m%dT%H:%M:%S(RiRkRRR R)Rj(RR*R6((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_time_structscCsGtjdddddd}tj|}|jt|ddS(Niiiiiis20070102T03:04:05(RRRR R)(RR*R6((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_datetime_datetimescCsWtjdddddd}tj|}dt|}|jt||dS(Niiiiiis$(RRRtidR R`(RR*R6tval((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRbscCsyd}tj}|j|tjtjdddddd}|j||tj|}|j||dS(Ns 20070908T07:11:13 ii iii i (RRtdecodeRR t _datetime(RR*tt1ttrefR7((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_decodes  '( R/R0RhRlRmRnRoRbRv(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRgs      tBinaryTestCasecBs#eZdZdZdZRS(cCs&tj}|jt|ddS(Nt(RtBinaryR R)(RR6((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRhs cCs/d}tj|}|jt||dS(Ns abc123(RRyR R)(RR*R6((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_stringscCsmd}tj|}tj}|j||jt||tj|}|jt||dS(Ns abc123(tbase64t encodestringRRyRrR R)t_binary(RR*tdeRtR7((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRv s  (R/R0RhRzRv(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRws  cCsqdddY}d}dtjfdY}|sGtj}n|d|dtd t}zy|jjd |j|jj\aad ttfa |j |j |j |j t|j d d |j ||j||jx$|dkr2|j|d8}qWWntjk rJnXWd|jjda|jXdS(NtTestInstanceClasscBseZdZdZRS(cSs||S(N((RR3R4((s,/usr/local/lib/python2.7/test/test_xmlrpc.pytdivscSs|dkrdSdS(NRsThis is the div function((Rtname((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt _methodHelp"s (R/R0RR(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs cSstS(sThis is my function(R&(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt my_function&stMyXMLRPCServercBseZdZRS(cSs,|jj\}}|jt||fS(N(tsockettacceptt setblockingR&(RRtport((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt get_request+s (R/R0R(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR*st localhostit logRequeststbind_and_activateis http://%s:%dcSs||S(N((R3R4((s,/usr/local/lib/python2.7/test/test_xmlrpc.pytDstaddi((Ri(tSimpleXMLRPCServertSimpleXMLRPCRequestHandlertFalseRt settimeoutt server_bindt getsocknametADDRtPORTtURLtserver_activatet register_introspection_functionstregister_multicall_functionstregister_functiontpowtregister_instancetsetthandle_requestttimeouttcloseR(tevtt numrequeststrequestHandlerRRRtserv((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt http_servers:            c CsdddY}d}dtjfdY}|sGtj}nd|fdY}|d|d td t}|jjd |jzy|jj\aa d tt fa |j ddg}x:|D]2} |j | tj } | j| jqW|j|d jt|j|djdd|jx$|d krz|j|d8}qWWWntjk rnXWd|jjda |jXdS(NRcBseZdZdZRS(cSs||S(N((RR3R4((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRWscSs|dkrdSdS(NRsThis is the div function((RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRZs (R/R0RR(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRVs cSstS(sThis is my function(R&(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR^sRcBseZdZRS(cSs,|jj\}}|jt||fS(N(RRRR&(RRR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRcs (R/R0R(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRbstMyRequestHandlercBseZgZRS((R/R0t rpc_paths(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRlsRiRRis http://%s:%ds/foos/foo/baricSs||S(N((R3R4((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRsR((s localhosti(RtMultiPathXMLRPCServerRRRRRRRRRRtadd_dispatchertSimpleXMLRPCDispatcherRRtget_dispatcherRRRRRRR( RRRRRRRRtpathstpathR*((s,/usr/local/lib/python2.7/test/test_xmlrpc.pythttp_multi_serverUs>            cCsxy8|jdks!|jdkr%tS|jjd}Wntk rWt|}nX|rtd|jkrttStS(sReturns 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-exceptionstemporarily unavailableN( terrcodetheadersRR&tgettAttributeErrorR)tlowerR(tetexc_mess((s,/usr/local/lib/python2.7/test/test_xmlrpc.pytis_unavailable_exceptions s!Threading required for this test.tBaseServerTestCasecBs2eZdZdZeeZdZdZ RS(icCssttj_tj|_|j|j|jf}tjd|j d|j |jj d|jj dS(Nttargettargsi ( R&Rt_send_traceback_headert threadingtEventRt request_countRtThreadt threadFunctstarttwaittclear(Rt serv_args((s,/usr/local/lib/python2.7/test/test_xmlrpc.pytsetUps  cCs |jjdttj_dS(Ni (RRRRR(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttearDownsN( R/R0RRRt staticmethodRRRR(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs   tSimpleServerTestCasecBseZdZdZdZdZdZdZej e j j dkddZ d Zd Zd Zd Zd ZRS(cCsy/tjt}|j|jdddWnQtjtjfk r}t|s|j d|t |ddfqnXdS(Niis%s %sRRxi( Rt ServerProxyRR Rt ProtocolErrorRterrorRtfailtgetattr(RtpR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_simple1s   cCsd}d}y3tjt}|j|j||||WnQtjtjfk r}t|s|j d|t |ddfqnXdS(Ns*P\N{LATIN SMALL LETTER Y WITH CIRCUMFLEX}ts$h\N{LATIN SMALL LETTER O WITH HORN}ns%s %sRRx( RRRR RRRRRRR(Rt start_stringt end_stringRR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_nonasciis cCs9tjdttf}|j|jddddS(Nuhttp://%s:%d/RPC2tauéuaé(RRRRR R(Rtserver((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_unicode_hostscCsbtjtt}|jdd|j}|j|j|jd|j|j ddS(NtPOSTs/this-is-not-validis Not Found( thttplibtHTTPConnectionRRtrequestt getresponseRR tstatustreason(Rtconntresponse((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt XXXtest_404s   c Csy\tjt}|jj}tddddddddg}|jt||WnQtjtj fk r}t |s|j d |t |d d fqnXdS( NRRRRssystem.listMethodsssystem.methodHelpssystem.methodSignaturessystem.multicalls%s %sRRx( RRRtsystemt listMethodsRR RRRRRR(RRtmethtexpected_methodsR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_introspection1s cCsy5tjt}|jjd}|j|dWnQtjtjfk r}t |s|j d|t |ddfqnXdS(NRsThis is the div functions%s %sRRx( RRRRt methodHelpR RRRRRR(RRtdivhelpR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_introspection2s is)Docstrings are omitted with -O2 and abovecCsy5tjt}|jjd}|j|dWnQtjtjfk r}t |s|j d|t |ddfqnXdS(NRsThis is my functions%s %sRRx( RRRRRR RRRRRR(RRt myfunctionR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_introspection3 s cCsy5tjt}|jjd}|j|dWnQtjtjfk r}t |s|j d|t |ddfqnXdS(NRssignatures not supporteds%s %sRRx( RRRRtmethodSignatureR RRRRRR(RRtdivsigR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_introspection4s cCsytjt}tj|}|jdd|jdd|jdd|\}}}|j|d |j|d |j|d WnQtjt j fk r}t |s|j d|t |dd fqnXdS( Niiiiii*s%s %sRRxiii(RRRt MultiCallRRRR RRRRRR(RRt multicallt add_resultt pow_resultt div_resultR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_multicall%s cCsyktjt}tj|}|j|}|j|jddd|j|jdddWnQtjtj fk r}t |s|j d|t |ddfqnXdS( NiRciRdsJ:method "this_is_not_exists" is not supporteds%s %sRRx( RRRRtthis_is_not_existsR tresultsRRRRRR(RRRtresultR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_non_existing_multicall6s    cCs@|jttjtd|jtjtd|jdS(Nt__addttitle(R9RRtresolve_dotted_attributeR)R!R(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_dotted_attributeKs cCs0tjtt}|jdd|jdS(NRs*/RPC2 HTTP/1.0 Content-Length: 100 bye(RRRRRR(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_partial_postUs(R/R0RRRRRRtunittesttskipIfRFtflagstoptimizeRRRRRR(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs       tMultiPathServerTestCasecBs,eZeeZdZdZdZRS(icCsOtjtd}|j|jddd|jtj|jdddS(Ns/fooiii(RRRR RR9R_R(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_path1^scCsOtjtd}|j|jddd|jtj|jdddS(Ns/foo/bariii(RRRR RR9R_R(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_path2bs(R/R0RRRRRR(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR[s  tBaseKeepaliveServerTestCasecBs0eZdejfdYZeZdZRS(tRequestHandlercBs/eZejZdZgZdZdZRS(sHTTP/1.1cCs6|jjgt|jd|_|jj|S(Ni(t myRequestsR>tlentreqidxt parentClassthandle(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR pscCs0|jj|}|j|jj|j|S(N(Rthandle_one_requestRRR>traw_requestline(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR ts( R/R0RRRtprotocol_versionRR R (((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRls   cCsg|j_tj|S(N(RRRR(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRzs (R/R0RRRRR(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRis tKeepaliveServerTestCase1cBseZdZRS(cCstjt}|j|jddd|j|jddd|j|jddd|jt|jjd|jt|jjdddS( Niiiiiiii( RRRR RRRRtassertGreaterEqual(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_twos (R/R0R(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR stKeepaliveServerTestCase2cBs eZdZdZdZRS(icCs$tjt}|j|jddd|j|jddd|j|jddd |d|j|jddd |j|jddd |j|jddd |jt|jjd|jt|jjdd|jt|jjdddS( NiiRiiiiiiiii( RRRR RRRRR(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_closes  cCswtjt}|j|jddd|dj|j|jddd|jt|jjddS(Niit transportiii( RRRR RRRRR(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_transports (R/R0RRR(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs sgzip not availabletGzipServerTestCasecBsdeZdejfdYZeZdejfdYZdZdZ dZ dZ RS(RcBs eZejZdZdZRS(sHTTP/1.1cCs)t|jd|j_|jj|S(Nscontent-length(RHRt __class__tcontent_lengthRtdo_POST(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs(R/R0RRRR R(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs t TransportcBs eZeZdZdZRS(cCs.t|jdd|_tjj||S(Nscontent-lengthi(RHt getheadertresponse_lengthRRtparse_response(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRscCs2|jr|jddntjj|||S(NsContent-Encodingtgzip(t fake_gzipt putheaderRRt send_content(Rt connectiontbody((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs (R/R0RRRR(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs cCstj|dS(N(RR(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRscCs|j}d|_tjtd|}|j|jddd|jj }d|_|j|jddd|jj }|j ||kdS(NRiiiii( RRtencode_thresholdRRRR RRRR!(RR6RRtb((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_gzip_requests     cCsr|j}d|_t|_tjtd|}|jtj t j d}||j ddWdQXdS(NRs\b400\bii( RRR"R&RRRRtassertRaisesRegexpRtretcompileR(RR6Rtcm((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_bad_gzip_requests    cCs|j}tjtd|}|jj}d|j_|j|jddd|j }d|j_|j|jddd|j }||j_|j ||kdS(NRiiiii( RRRRRR"RR RRR!(RR6RtoldRR#((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_gsip_responses       ( R/R0RRRRRRRR$R)R+(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs  tServerProxyTestCasecBs#eZdZdZdZRS(cCs/tjj|tr"t|_n d|_dS(Nshttp://(RtTestCaseRRRturl(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs cCs/tj|j}|j|dddS(NR(RRR.R R(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRscCs>tj}tj|jd|}|j|d|dS(NR(RRRR.R (RR6R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs (R/R0RRR(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR,s tFailingMessageClasscBseZdZRS(cCs/|j}|dkrdStjj||S(Nscontent-lengths I am broken(Rt mimetoolstMessaget __getitem__(Rtkey((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR2 s  (R/R0R2(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR/stFailingServerTestCasecBs5eZdZdZdZdZdZRS(cCsXtj|_|jdf}tjdtd|j|jj|jjdS(NiRR(RRRRRRRR(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs  cCs,|jjttj_tjtj_dS(N( RRRRRR0R1Rt MessageClass(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs  cCstjj}|j|tttj_y/tjt}|j|jdddWnQtj t j fk r}t |s|j d|t|ddfqnXdS(Niis%s %sRRxi(RRR RR&RRRRRRRRRR(RtflagvalRR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_basic$s    cCsttj_y#tjt}|jddWn|tjt j fk r}t | rt |dr|j |jjddk|j |jjddkqnX|jddS(NiiRs X-exceptions X-tracebacksProtocolError not raised(R/RRR5RRRRRRRRthasattrR!RRRR(RRR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_fail_no_info6s &cCsttj_ttj_y#tjt}|j ddWntj t j fk r}t | rt|drd}|j|jjd||j|jjddk qnX|jddS(NiiRs5invalid literal for int() with base 10: 'I am broken's x-exceptions x-tracebacksProtocolError not raised(R/RRR5R&RRRRRRRRRR8R RRR!RR(RRRt expected_err((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_fail_with_infoFs  &(R/R0RRR7R9R;(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR4s    tCGIHandlerTestCasecBs,eZdZdZdZdZRS(cCstj|_dS(N(RtCGIXMLRPCRequestHandlertcgi(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR\scCs d|_dS(N(RR>(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR_sc Cstj}d|dRtseektreadtsplittjoinR (Rtenvtdata_outR Rtmessage((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_cgi_getbs   cCsd}tjn}tjY}tjD}|j||jdtt||d<|jj WdQXWdQXWdQX|jd|j }|j t j t j|d||jd}|jttjd|jdt|dS(Nsw test_method foo bar itCONTENT_LENGTHi,sRRFR9RR_RtfindR RHR&tsearchtgroup(RtdataRIRJtdata_inR tcontent((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyttest_cgi_xmlrpc_responsets     (R/R0RRRLRV(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR<[s   t FakeSocketcBsDeZdZdZdZdZdddZdZRS(cCstj|_dS(N(tStringIORS(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt__init__scCs|jj|t|S(N(RSROR(Rtbuf((s,/usr/local/lib/python2.7/test/test_xmlrpc.pytsendscCs|jj|dS(N(RSRO(RRZ((s,/usr/local/lib/python2.7/test/test_xmlrpc.pytsendallscCs |jjS(N(RStgetvalue(R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyR]stricCs tdS(N(t RuntimeError(RR3R4((s,/usr/local/lib/python2.7/test/test_xmlrpc.pytmakefilescCsdS(N((R((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs(R/R0RYR[R\R]R`R(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRWs     t FakeTransportcBseZdZdZRS(sA Transport instance that records instead of sending a request. This class replaces the actual socket used by httplib with a FakeSocket object that records the request. It doesn't provide a response. cCs,tjj||}t|_|_|S(N(RRtmake_connectionRWtsockt fake_socket(RthostR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRbs(R/R0t__doc__Rb(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRastTransportSubclassTestCasecBs5eZdZdZdZdZdZRS(cCsT|}tjdd|}y|jddWntk rO|jjSXdS(s0Return an HTTP request made via transport_class.shttp://example.com/RiiN(RRRR_RdR]R(Rttransport_classRtproxy((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt issue_requests    cCs9dtfdY}|j|}|jd|dS(Nt TestTransportcBseZdZRS(cSs'tjj|||jdddS(NsX-Testttest_custom_user_agent(RRtsend_user_agentR(RR((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRms(R/R0Rm(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRkss X-Test: test_custom_user_agent (RaRjtassertIn(RRktreq((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRlscCs9dtfdY}|j|}|jd|dS(NRkcBseZdZRS(cSs*tjj||||jdddS(NsX-Testttest_send_host(RRt send_hostR(RRRe((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRqs(R/R0Rq(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRkssX-Test: test_send_host (RaRjRn(RRkRo((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRpscCs9dtfdY}|j|}|jd|dS(NRkcBseZdZRS(cSs-tjj|||||jdddS(NsX-Testttest_send_request(RRt send_requestR(RRR.R!((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRss(R/R0Rs(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRkssX-Test: test_send_request (RaRjRn(RRkRo((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRrscCs9dtfdY}|j|}|jd|dS(NRkcBseZdZRS(cSs*|jddtjj|||dS(NsX-Testttest_send_content(RRRR(RRR!((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRs(R/R0R(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRkssX-Test: test_send_content (RaRjRn(RRkRo((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRts(R/R0RjRlRpRrRt(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyRgs  cCsttttttg}|jt|jt|jt |jt |jt |jt |jt |jttj|dS(N(R R[RgRwR^RgR>RR RRRR,R4R<Rt run_unittest(t xmlrpc_tests((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyt test_mains         t__main__i( iii i i)iiii((;R{RRFRiRRRR0RRRXtosR&ttestRRt ImportErrorRRRt NameErrorRRVR&RyRRR-R R[R^RgRwRRRRRRt skipUnlessRRRRR RRR,R1R/R4R<RWRRaRgt reap_threadsRwR/(((s,/usr/local/lib/python2.7/test/test_xmlrpc.pyts                       (( 8 >  @JC 5