#!۵SSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJr SSK r SSK r SSK r SSKr SSKrSSKrSSKrSSKrSSKrSSKJr SSKJr SSKJr SSKJr SSKJrJrJr SSKr\R>"SS 9 S S S S S/\ R@"S5S\!"S5SSS\ RD"S5\ RD"S5\ RD"\R"SS SSSS55S./r#"SS\RH5r%"SS\RH5r&"SS \RH5r'"S!S"\RH5r("S#S$\RH5r)"S%S&\RH5r*S=q+=q,q-SMS'jr.SNS(jr/S)r0S*r1"S+S,\RH5r2"S-S.\25r3"S/S0\25r4"S1S2\25r5"S3S4\25r6"S5S6\65r7"S7S8\65r8\Rr"\SLS95"S:S;\255r:\Rr"\SLS95"S<S=\RH55r;"S>S?\25r<"S@SA\RH5r="SBSC\ RR|5r?"SDSE\RH5r@\RSOSFj5rB"SGSH\RH5rC"SISJ\RH5rDSKrE\FSL:Xa\R"5 gg!\a SrGNrf=f)PN)mock)support) os_helper) socket_helper)threading_helper) ALWAYS_EQLARGESTSMALLESTT)modulezfoo@bar.baz.spamgHzns@iz.zyx.41my dog has fleasFu 䀀怀耀z regular value20050210T11:41:23) r )rrrrrr)astringafloatanint ashortlong anotherlistabase64b64bytes b64bytearraybooleanunicodeuukey䀀 datetime1 datetime2 datetime3c\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrg)XMLRPCTestCase0c[R"[45n[R"U5nUR [USS5 g)Nr) xmlrpclibdumpsalistloads assertEqual)selfdumploads 7/opt/alt/python313/lib64/python3.13/test/test_xmlrpc.pytest_dump_loadXMLRPCTestCase.test_dump_load2s8x(t$ Q +c[R"SSSSSS5nURU[R"S55 [R"U45n[R "USS 9up4UunURXQ5 UR [U5[R5 URU5 [R "US S 9up4UunURXQ5 UR [U5[R5 URU5 [R "USS 9up4UunURXQ5 UR [U5[R5 URU5 [R "US S 9up4UunURXQ5 UR [U5[R5 URU5 g) Nrr rrrrrTuse_builtin_typesF) use_datetime datetimer+r'DateTimer(r*assertIstype assertIsNoner,dtsresultmnewdts r/test_dump_bare_datetime&XMLRPCTestCase.test_dump_bare_datetime7s~   tQBB 7 Y//0CDE OORE "OOA>  # d5k8#4#45 !OOA?  # d5k9#5#56 !OOAD9  # d5k8#4#45 !OOAE:  # d5k9#5#56 !r2cL[R"SSSSSS5nURU[R"S55 [R"U45n[R "USS 9up4UunURXQ5 UR [U5[R5 URU5 [R "US S 9up4UunURXQ5 UR [U5[R5 URU5 g) Nrr rrrrz00010210T11:41:23Tr4Fr7r=s r/test_datetime_before_1900(XMLRPCTestCase.test_datetime_before_1900Ys   q1b"b" 5 Y//0CDE OORE "OOA>  # d5k8#4#45 !OOA?  # d5k9#5#56 !r2c"[R"5n[R"[R"U4SS95uup#UR UR [ 5 [R"U4SS9nUR U[ 5 g)NTmethodresponse)r'r9r*r(assertIsInstancevaluestr)r,dnew_ddummyr?s r/test_bug_1164912XMLRPCTestCase.test_bug_1164912kso    %OOIOOQD;?-AB% ekk3/ OOUHT : a%r2c"SS[5nU"5nSUlSUl[R"[R "U455uup4UR X2R5 g)Nc\rSrSrSrg)-XMLRPCTestCase.test_newstyle_class..TvN)__name__ __module__ __qualname____firstlineno____static_attributes__rWr2r/TrUvs r2r]dHello)objectxyr'r*r(r+__dict__)r,r]tt2rPs r/test_newstyle_class"XMLRPCTestCase.test_newstyle_classusR   C"!)>?" ZZ(r2cVUR[[RSS-45 g)Nr c) assertRaises OverflowErrorr'r(r,s r/test_dump_big_long!XMLRPCTestCase.test_dump_big_long~s -1b5(Cr2cTUR[[RSS045 g)Nrr rrj TypeErrorr'r(rls r/test_dump_bad_dict!XMLRPCTestCase.test_dump_bad_dicts )Y__|oFr2c/SQnSSSU/nURU5 UR[[RU45 g)Nrprq)appendrjrsr'r()r,lrds r/test_dump_recursive_seq&XMLRPCTestCase.test_dump_recursive_seqs7  q1I   )Y__qd;r2clSSS.nSUS.nX!S'UR[[RU45 g)Nr)12rq)3rNrdrrr,rNrds r/test_dump_recursive_dict'XMLRPCTestCase.test_dump_recursive_dicts3NN# )Y__qd;r2cJ[RS:a/UR[[R [ S545 [R "[R[R45 UR[[R [RS-45 UR[[R [RS- 45 Sn[R"5nUR[RU5 UR[RU5 UR[UR[RS-U5 UR[UR[RS- U5 g)NircgNrWr?s r/ dummy_write5XMLRPCTestCase.test_dump_big_int..dummy_write r2) sysmaxsizerjrkr'r(intMAXINTMININT Marshallerdump_intr,rrAs r/test_dump_big_int XMLRPCTestCase.test_dump_big_ints# ;;   mY__"5zm - ))9+;+;<= -$++A-/ 1 -$++A-/ 1   " 9##[1 9##[1 -#**1,k ; -#**1,k ;r2c[R"[S545 [R"[[R5[[R545 [R"[[RS-5[[RS- 545 Sn[R "5nUR [RU5 UR [RU5 UR [RS-U5 UR [RS- U5 g)Nr*cgrrWrs r/r4XMLRPCTestCase.test_dump_double..dummy_writerr2)r'r(floatrrr dump_doublers r/test_dump_doubleXMLRPCTestCase.test_dump_doublesw)*y//0y//02 3y//"45y//"457 8   " i&& 4 i&& 4 i&&+[9 i&&+[9r2c[S/-n[S/-4n[R"USS9nURU[R"U5SS5 UR [ [RU45 g)NT) allow_noner)r)r'r(r+r*rjrs)r,rLarg1strgs r/test_dump_noneXMLRPCTestCase.test_dump_nonesi t5 #//$/215 7 )Y__tg>r2cSS0n[R"U4SS9nSU-nUR[R"U5SSU5 UR SS5nUR[R"U5SSU5 [R"U4SSS 9nUR[R"U5SSU5 UR SS5nUR[R"U5SSU5 S n[R"U4SUS 9nUR[R"U5SSU5 UR[R"U5S U5 g) Nukey€¤u value€¤ iso-8859-15encodingz,rxmlcharrefreplaceT)rrJu method€¤)r methodnamer)r'r(r+r*encode)r,rLrrs r/test_dump_encoding!XMLRPCTestCase.test_dump_encodingsM "$x-@=D .q1!4e<{{=*=> .q1!4e<x-.24 .q1!4e<{{=*=> .q1!4e<' x-*46 .q1!4e< .q1:>r2cZSnURU[R"U55 [[[R4HnU"U5n[R "U45n[R "USS9upVUunURXq5 UR[U5[5 URU5 [R "USS9upVUunURXq5 UR[U5[R5 URU5 M g)Nr Tr4F) r+r'Binarybytes bytearrayr(r*r:r;r<)r,sampletype_rLr?r@rAnewvalues r/test_dump_bytesXMLRPCTestCase.test_dump_bytess$ !1!1&!9:Iy'7'77E&ME)A!TBIF KX   X . MM$x.% 0   a !UCIF KX   X . MM$x.)*:*: ;   a 8r2c[RnSnURU[RU5 SnURU[RU5 SnURU[RU5 g)Nz6zTzab)r' ResponseErrorrjr*)r,rdatas r/test_loads_unsupported%XMLRPCTestCase.test_loads_unsupportedsf!// G -$?4 -$?5 -$?r2c SU-n[R"U40UD6upVUunURXr5 UR[ U5[ U55 UR U5 g)Nz1%s)r'r*r+r:r;r<)r,r?rLkwargsr-r@rArs r/ check_loadsXMLRPCTestCase.check_loadssZBQFOOD3F3   ) d8nd5k2 !r2c URnU"SS5 U"SS5 U"SS5 U"SS5 U"SS5 U"S S5 U"S S 5 U"S S 5 U"S[R"S55 U"SSSS9 U"S[R"S55 U"S[R"SSSSSS5SS9 U"SSS/5 U"SSSS.5 g)Nstringzstringu4𝔘𝔫𝔦𝔠𝔬𝔡𝔢 stringu#𝔘𝔫𝔦𝔠𝔬𝔡𝔢 stringz2056183947izz-2056183947iuqz2056183947z46093.78125g@z0Fz%AGJ5dGUgc3RyaW5n/w==s byte stringTr4z620050210T11:41:23rrr rrrrzR12rzb2a1)ab)rr'rr9r8r,checks r/test_load_standard_types'XMLRPCTestCase.test_load_standard_typess   h! '2 DFkl %z2 & 4 #Z0 ,k: $e, 556 8 5$ > F  !45 7 FaRR8 $ &  "#Q ) "#+ -r2cURnU"SS5 U"SS5 U"SS5 U"SS5 U"SS5 U"S S 5 U"S S 5 U"S [R"S55 g)Nzz z 205z20561iQPz9876543210l` z-98765432100123456789l5?4*UUz93.78125grW@z.9876543210.0123456789z9876543210.0123456789)rdecimalDecimalrs r/test_load_extension_types(XMLRPCTestCase.test_load_extension_typessr   h k4  nc" & #Z0 =" $ '2 >oo56 8r2cURnSn[R"U5 SUS--nUR[5 U"SUS3S5 SSS5 UR[5 U"SUS3S5 SSS5 SSS5 g!,(df  NB=f!,(df  N(=f!,(df  g=f)Nir~rzzz z )rradjust_int_max_str_digitsrj ValueError)r,r maxdigitsr?s r/test_limit_intXMLRPCTestCase.test_limit_int$s    . .y 9y1}%A"":.aS'./"":. QC}5t</ : 9.... : 9s;B/B B/.B<B/ B B/ B, (B// B=c[RR5nURUR S5SS/045 g)Nz user@host.tldzhost.tld) AuthorizationzBasic dXNlcg==)xmlrpcclient Transportr+ get_host_info)r,transps r/test_get_host_info!XMLRPCTestCase.test_get_host_info.sA((* --o>%?@"F Gr2cSSKnSn[RR S5R 5 g![a SnN=f=f![ a URUS5 g[a URU5 gf=f)NrTFzhttps://localhost:9999z&xmlrpc client's error with SSL support) ssl ImportErrorrr ServerProxy bad_functionNotImplementedError assertFalseOSError assertTrue)r,rhas_ssls r/test_ssl_presence XMLRPCTestCase.test_ssl_presence5s~  G % MM % %&> ? L L N  G  # P   W&N O % OOG $ %s&7-A AA B'BBc~^"SS[RR5nU4Sjn[RR[R S4U5mUR TR5 [R"US9nUR5 UR UR5 SR"TR6n[R"U5nUR!UR#5S5 UR!UR#5S5 SSS5 g!,(df  g=f)Nc(\rSrSrSrSrSrSrSrg)@XMLRPCTestCase.test_keepalive_disconnect..RequestHandleriDHTTP/1.1Fc[URRS55nURR U5 UR (aSUlg[R"SSS9nUR5nUR[RR5 URS[U55 UR!5 UR"R%U5 SUlSUlg)NContent-LengthT)rxrIF)rheadersgetrfilereadhandledclose_connectionr'r(r send_responsehttp HTTPStatusOK send_headerlen end_headerswfilewrite)r,lengthresponses r/do_POSTHXMLRPCTestCase.test_keepalive_disconnect..RequestHandler.do_POSTHsT\\--.>?@ '<<,0D)$??4E#??,""4??#5#56  !13x=A  "   *# (-%r2cgrrW)r,formatargss r/ log_messageLXMLRPCTestCase.test_keepalive_disconnect..RequestHandler.log_messageWsr2)rrN) rXrYrZr[protocol_versionrrrr\rWr2r/RequestHandlerrDs) G . r2rc>TRR[S55 TR5 TR5 gNr)socket settimeoutrhandle_request)serversr/ run_server.run_server[s1 MM $ $U1X .  ! ! #  ! ! #r2r)targetz http://{}:{}/rx)rr BaseHTTPRequestHandler HTTPServerrHOST addCleanup server_close threadingThreadstartjoinrserver_addressr'rr+method)r,rrthreadurlpr s @r/test_keepalive_disconnect(XMLRPCTestCase.test_keepalive_disconnectCs T[[?? . $ ''););Q(?P ++,!!4   $$$f&;&;<  " "3 '1   QXXZ +   QXXZ +( ' 's $AD.. D<rWN)rXrYrZr[r0rCrFrQrfrmrtr{rrrrrrrrrrrrrrr\rWr2r/r$r$0su, D$&)DG< < ;,: ??*!& @-6 8=G %%,r2r$cN\rSrSr"SS\5rSrSrSrSr Sr S r S r g ) SimpleXMLRPCDispatcherTestCaseikc\rSrSrSrSrg)*SimpleXMLRPCDispatcherTestCase.DispatchExcilzKRaised inside the dispatched functions when checking for chained exceptionsrWN)rXrYrZr[__doc__r\rWr2r/ DispatchExcr$ls r2r&c^SnU4Sjn[RR5nURU5 TR TR 5nUR SU5 SSS5 TRWRRU45 TRURR5 TRURR5 g!,(df  N=f)z$Calls explicitly registered functionrpc&>TRU5er)r&)paramsr,s r/dispatched_funcQSimpleXMLRPCDispatcherTestCase.test_call_registered_func..dispatched_funcws""6* *r2r*N) rr SimpleXMLRPCDispatcherregister_functionrjr& _dispatchr+ exceptionrr< __cause__ __context__)r, exp_paramsr* dispatcherexc_ctxs` r/test_call_registered_func8SimpleXMLRPCDispatcherTestCase.test_call_registered_funcps   +]]99; $$_5   t// 0G  !2J ?1 **//*? '++556 '++778 1 0s C!! C/cSn"SS5n[RR5nURU"55 UR UR 5nUR SU5 SSS5 URWRRU45 URURR5 URURR5 g!,(df  N=f)z3Calls a registered instance attribute as a functionrpc\rSrSrSrSrg)OSimpleXMLRPCDispatcherTestCase.test_call_instance_func..DispatchedClassic,[RU5err"r&)r,r)s r/r*_SimpleXMLRPCDispatcherTestCase.test_call_instance_func..DispatchedClass.dispatched_funcs4@@HHr2rWN)rXrYrZr[r*r\rWr2r/DispatchedClassr9s Ir2r=r*N rr r,register_instancerjr&r.r+r/rr<r0r1)r,r2r=r3r4s r/test_call_instance_func6SimpleXMLRPCDispatcherTestCase.test_call_instance_funcs   I I]]99; $$_%67   t// 0G  !2J ?1 **//*? '++556 '++778 1 0s C)) C7cSnSn"SS5n[RR5nURU"55 UR UR 5nUR X5 SSS5 URWRRX45 URURR5 URURR5 g!,(df  N=f)z4Calls the registered instance's `_dispatch` functionrrpc\rSrSrSrSrg)LSimpleXMLRPCDispatcherTestCase.test_call_dispatch_func..TestInstanceic,[RX5err;)r,rr)s r/r.VSimpleXMLRPCDispatcherTestCase.test_call_dispatch_func..TestInstance._dispatchs4@@$$r2rWN)rXrYrZr[r.r\rWr2r/ TestInstancerDs $r2rGNr>)r, exp_methodr2rGr3r4s r/test_call_dispatch_func6SimpleXMLRPCDispatcherTestCase.test_call_dispatch_funcs    $ $ ]]99; $$\^4   t// 0G   81 **//*1IJ '++556 '++778 1 0s C** C8c[RR5nURSSS9 UR [ S5 UR SS5 SSS5 g!,(df  g=f)z2Calls explicitly registered function which is NoneNrnameparam)rr r,r-assertRaisesRegex Exceptionr.r,r3s r/test_registered_func_is_none;SimpleXMLRPCDispatcherTestCase.test_registered_func_is_nonesU]]99; $$T$9  # #Ix 8  : 69 8 8s A!! A/c[RR5nUR[ 55 UR [ S5 URSS5 SSS5 g!,(df  g=f)z>Attempts to call nonexistent function on a registered instancerrNN)rr r,r?r`rPrQr.rRs r/test_instance_has_no_func8SimpleXMLRPCDispatcherTestCase.test_instance_has_no_funcsR]]99; $$VX.  # #Ix 8  : 69 8 8s A** A8c[RR5nUR[S5 UR SS5 SSS5 g!,(df  g=f)z2Calls a function that the dispatcher cannot locaterrNN)rr r,rPrQr.rRs r/test_cannot_locate_func6SimpleXMLRPCDispatcherTestCase.test_cannot_locate_funcsB]]99;  # #Ix 8  : 69 8 8s A ArWN) rXrYrZr[rQr&r5r@rIrSrVrYr\rWr2r/r"r"ks,i9$9&9*777r2r"c\rSrSrSrSrg)HelperTestCaseicUR[R"S5S5 UR[R"S5S5 UR[R"S5S5 g)Nza&bza&bzabza>b)r+r'escaperls r/ test_escapeHelperTestCase.test_escapesS ))%0)< ))%0(; ))%0(;r2rWN)rXrYrZr[r_r\rWr2r/r\r\s)r'Faultr+reprrM)r,fs r/ test_reprFaultTestCase.test_reprs? OOB - a"<= a#a&)r2c[R"SS5n[R"U45n[R"U5uup4UR USSS.5 UR US5 [R "5RU5nUR [R[RU5 g)Nrrd) faultCode faultString)r'rer(r*r+rrj)r,rgr?newfrAs r/test_dump_faultFaultTestCase.test_dump_faults OOB - OOQD !__Q'  R MN D!  " ( ( + )//9??A>r2cUR[[RR[ S5 UR [RR [ S55 gN__addtitle)rjAttributeErrorrr resolve_dotted_attributerMrrls r/test_dotted_attribute#FaultTestCase.test_dotted_attributesC . --@@#w P  >>sGLMr2rWN)rXrYrZr[rhrnrvr\rWr2r/rbrbs* ?Nr2rbcD\rSrSrSrSrSrSrSrSr Sr S r S r g ) DateTimeTestCaseicT[R"S5n[R"/SQ5nX!l[R "5n[ R"5nUR[U5[R"SU55 SSS5 g!,(df  g=f)Nztime.localtime) ir1rr%Y%m%dT%H:%M:%S) rpatchtime struct_time return_value localtimer'r9r+rMstrftime)r,localtime_mock time_structrrds r/ test_defaultDateTimeTestCase.test_defaultst ZZ( )^**35K*5 '(I""$A   SV!]]+)r8r'r9idr+rf)r,rNrdvals r/rhDateTimeTestCase.test_reprsN   d1Qq1 -   q ! 4r!u < a#&r2c "Sn[R"5nURU5 [R"[R"SSSSSS55nUR X#5 [R "U5nUR XC5 g)Nz 20070908T07:11:13 rrr{rr)r'r9decoder8r+ _datetime)r,rNt1trefres r/ test_decodeDateTimeTestCase.test_decode sq "    ! ! !!("3"3D1Qr""EF "   # "r2c[RR5n[R"UR 55nUR X!:H5 UR X:H5 U[R "SS9-nUR X2:5 UR X#:5 URS5nUR X$:H5 UR XB:H5 [R"UR 55nUR XT:5 UR XE:5 URS5nUR 5nURUS:H5 UR X&:g5 URU[U5:H5 UR X':g5 UR[5 U[S5: SSS5 UR[5 X&: SSS5 UR[5 U[U5:* SSS5 UR[5 X': SSS5 UR U[:H5 URU[:g5 UR U[:5 URU[:5 UR U[:*5 URU[:5 URU[ :5 UR U[ :5 URU[ :*5 UR U[ :5 g!,(df  GNp=f!,(df  GN`=f!,(df  GNF=f!,(df  GN6=f)Nrw)secondsrasciii)r8nowr'r9 timetupler timedeltarrrrrjrsrrr r )r,rdtimethendstr dtime_thendbytesdtuples r/test_comparison DateTimeTestCase.test_comparisons##%""3==?3  %  %X''22  &  %||-.  &  &''(89   *+ )*W% $' ( )F"334 (   y ) E$K *   y ) N*   y ) Yv& &*   y ) O* *+ )+, ( ) () ')* )* () (*+ )*%* ) ) ) ) ) ) )s04L, L>M.M", L;> M  M" M1rWN) rXrYrZr[rrrrrrhrrr\rWr2r/ryrys-JN 6 F 6' #,+r2ryc&\rSrSrSrSrSrSrg)BinaryTestCaseiDcd[R"5nUR[U5S5 g)Nr'rr+rM)r,rds r/rBinaryTestCase.test_defaultKs$     Q$r2c~Sn[R"U5nUR[U5[US55 gNs abc123zlatin-1rrs r/ test_stringBinaryTestCase.test_stringOs2 )   Q  QQ !23r2c@Sn[R"U5n[R"5nUR U5 UR [ U5[ US55 [R"U5nUR [ U5[ US55 gr)base64 encodebytesr'rrr+rM_binary)r,rNderres r/rBinaryTestCase.test_decodeTsv )    "     "  R#a"34   r " R#a"34r2rWN)rXrYrZr[rrrr\rWr2r/rrDs%4 5r2rc"SS5n"SS[RR5nU(d[RRnU"SUUSSS9nUR 5 UR R 5uqqS[[4-q UR5 UR5 UR5 UR[5 URS S 5 URS 5nURS S 9S5nU"5n URU SS9 UR!5 US:aUR#5 US-nUS:aMUR R'5 SqUR!5 g![$a N9f=f!UR R'5 SqUR!5 f=f)Nc4\rSrSrSrSr"SS5rSrg)&http_server..TestInstanceClassiec X-$rrWr,rarbs r/div*http_server..TestInstanceClass.divf 6Mr2cUS:XaggNrThis is the div functionrWr,rMs r/ _methodHelp2http_server..TestInstanceClass._methodHelpiu}1r2c$\rSrSr\S5rSrg).http_server..TestInstanceClass.Fixtureimcg)N42rWrWr2r/getData6http_server..TestInstanceClass.Fixture.getDatansr2rWN)rXrYrZr[ staticmethodrr\rWr2r/Fixturerms   r2rrWN)rXrYrZr[rrrr\rWr2r/TestInstanceClassres  2  r2rc\rSrSrSrSrg)#http_server..MyXMLRPCServerircbURR5upURS5 X4$NTr accept setblockingr,r?ports r/ get_request/http_server..MyXMLRPCServer.get_requests+kk((*GA MM$ 7Nr2rWNrXrYrZr[rr\rWr2r/MyXMLRPCServerrr r2r localhostrF)r logRequestsbind_and_activate http://%s:%dcU$rrW)ras r/http_server..sr2têštcgThis is my functionTrWrWr2r/ my_function http_server..my_functionsr2addrLc X-$rrWrarbs r/_http_server.._s 5Lr2T)allow_dotted_namesrr)rr SimpleXMLRPCServerSimpleXMLRPCRequestHandler server_bindr  getsocknameADDRPORTURLserver_activate register_introspection_functionsregister_multicall_functionsr-powr?setr  TimeoutErrorclose) evt numrequestsrequestHandlerrrrservrr testInstances r/ http_serverrds  99 AA *N#+&+u FD# [[,,. d dD\)  --/ ))+ s# {H5        U  +  , (*  |E  Ao    ! 1 KAo         s%DF FFFF.G c"SS5nSn"SS[RR5nU(d[RRn"SSU5n"SS 5nU"S US S S 9nURR S 5 UR 5 URR5uqq S[[4-q UR5 /SQn U Hgn URU [RR55n U R5 U R5 U R!U 4SjS5 Mi UR#U S5R![$5 UR#U S5R!SS5 URSU"55 UR'5 US:aUR)5 US-nUS:aMURR-5 Sq UR'5 g![*a N9f=f!URR-5 Sq UR'5 f=f)Nc \rSrSrSrSrSrg),http_multi_server..TestInstanceClassic X-$rrWrs r/r0http_multi_server..TestInstanceClass.divrr2cUS:XaggrrWrs r/r8http_multi_server..TestInstanceClass._methodHelprr2rWN)rXrYrZr[rrr\rWr2r/rrs   2r2rcgrrWrWr2r/r&http_multi_server..my_functionsr2c\rSrSrSrSrg))http_multi_server..MyXMLRPCServericbURR5upURS5 X4$rrrs r/r5http_multi_server..MyXMLRPCServer.get_requestrr2rWNrrWr2r/rr&rr2rc\rSrSr/rSrg)+http_multi_server..MyRequestHandlerirWN)rXrYrZr[ rpc_pathsr\rWr2r/MyRequestHandlerr*s r2r,c\rSrSrSSjrSrg)+http_multi_server..BrokenDispatcheriNc[S5e)Nzbroken dispatcher) RuntimeError)r,rdispatch_methodpaths r/_marshaled_dispatch?http_multi_server..BrokenDispatcher._marshaled_dispatchs23 3r2rWNN)rXrYrZr[r3r\rWr2r/BrokenDispatcherr.s 4r2r6rF)rrrqr) /foo/foo/bar/foo?k=v /foo#frag /foo?k=v#fragr//RPC2?k=v#fragcU$rrW)rs r/r#http_multi_server..sqr2testrrc X-$rrWrs r/rrAsACr2r /is/broken)rr MultiPathXMLRPCServerr r r r r r r rradd_dispatcherr,rrr-get_dispatcherrrr rr) rrrrrrr,r6rpathsr2rNs r/http_multi_serverrIs22<< AA>44 *,<&+u FDKK1"[[,,. d dD\)   D##D&--*N*N*PQA . . 0 * * ,   0& 9  E!H%77< E!H%77O L*:*<=  Ao    ! 1 KAo         s%EH HHHH.I cURS:Xd URcgURRS5nU(aSUR 5;aggg![a [ U5nN5f=f)zReturns 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.rNT X-exceptionztemporarily unavailable)errcoderrrtrMlower)eexc_messs r/is_unavailable_exceptionrPsi  99?aii/99==/ -1AABx q6sAAA10A1c(^U(dS$U4SjnU$)NcU$rrW)funcs r/r)make_request_and_skipIf..sDr2c>U4SjnU$)Nc>[R"[5R5 [R"T5e![R[ 4an[ U5(deSnANFSnAff=fr) r'rrr ProtocolErrorrrPunittestSkipTest)r,rNreasons r/make_request_and_skipImake_request_and_skipIf..decorator..make_request_and_skipsb %%c*668##F+ +++W5 /223 s(AA6A11A6rW)rSr[rZs r/ decorator*make_request_and_skipIf..decorators ,%$r2rW) conditionrZr]s ` r/make_request_and_skipIfr`s   % r2c8\rSrSrSrSr\"\5rSr Sr Sr g)BaseServerTestCasei NrcS[RRl[R "5UlUR URUR4n[R"URUS9nUR5 URUR5 UR R5 UR R5 g)NTrr)rr r_send_traceback_headerrEventr request_countrr threadFuncrrrwaitclearr, serv_argsrs r/setUpBaseServerTestCase.setUpsBF ((???$XXt1143F3FG !!yI   $   r2cvURR5 S[RRlgNF)rrirr rrerls r/tearDownBaseServerTestCase.tearDown!s%  CH ((?r2r) rXrYrZr[rrgrrrhrmrqr\rWr2r/rbrb s!NMk*J Hr2rbc\rSrSrSrSrSrSrSrSr Sr \ "\ RRS :S 5S 5rS rS rSrSrSrSrSrSrSrSrg)SimpleServerTestCasei(c <[R"[5nURUR SS5S5 g![R [ 4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)Nrr rr) r'rrr+rrWrrPfailgetattrr,rrNs r/ test_simple1!SimpleServerTestCase.test_simple1)s| E%%c*A   QUU1QZ .''1 E+A.. aIr)BCDD/ Es ?''1 E+A.. aIr)BCDD/ Erc R[R"[5nURR S5nUR US5 g![R [4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)Nrzsignatures not supportedrxrr) r'rrrmethodSignaturer+rWrrPryrz)r,rdivsigrNs r/test_introspection4(SimpleServerTestCase.test_introspection4s E%%c*AXX--e4F   V%? @''1 E+A.. aIr)BCDD/ Erc [R"[5n[R"U5nUR SS5 UR SS5 UR SS5 U"5up4nURUS5 URUS5 URUS5 g![R[4aBn[U5(d(URU<S [US S 5<35 SnAgSnAgSnAff=f) Nr rqrrrrxrwrxrr) r'rr MultiCallrrrr+rWrrPryrz)r,r multicall add_result pow_result div_resultrNs r/test_multicall#SimpleServerTestCase.test_multicalls E%%c*A!++A.I MM!A  MM!A  MM#b !1: .JJ   Z -   Z .   Z 1''1 E+A.. aIr)BCDD/ EsB&B))D3DDc [R"[5n[R"U5nUR 5 U"5nUR UR SSS5 UR UR SSS5 g![R[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f) Nrrkrrlz@:method "this_is_not_exists" is not supportedrxrr) r'rrrthis_is_not_existsr+resultsrWrrPryrz)r,rrr@rNs r/test_non_existing_multicall0SimpleServerTestCase.test_non_existing_multicalls E%%c*A!++A.I  ( ( *[F   V^^A.{;Q ?   V^^A.}=# $''1 E+A.. aIr)BCDD/ EsB BC*(3C%%C*cUR[[RR[ S5 UR [RR [ S55 UR5 grq)rjrtrr rurMrr|rls r/rv*SimpleServerTestCase.test_dotted_attributesQ . --@@#w P  >>sGLM r2c[R"S[[4-5nURR 5nUR US5 g)Nhttp://%s:%d/RPC2r)r'rr r rrr+)r,r rs r/test_allow_dotted_names_true1SimpleServerTestCase.test_allow_dotted_names_trues>&&':dD\'IJ~~%%' t$r2c[R"S[[4-5nUR UR SS5S5 g)Nrréuaé)r'rr r r+rr,r s r/test_unicode_host&SimpleServerTestCase.test_unicode_hosts7&&':dD\'IJ C0':r2c[R"[R"[[ 455nUR S[S[ S3RS55 SSS5 g!,(df  g=f)Nz@POST /RPC2 HTTP/1.0 Content-Length: 100 bye HTTP/1.1 Host: :z2 Accept-Encoding: identity Content-Length: 0 r)rrr create_connectionr r sendr)r,rs r/test_partial_post&SimpleServerTestCase.test_partial_postsb    8 8$ F G4 II $fAdV,22 39&/  CH G Gs 0A.. A<c[R"[5nURSS5 UR U"S5R S5 SSS5 UR W"S5R S5 g!,(df  N1=f)Nr rq transportr5)r'rrrassertNotEqual _connectionr+rs r/test_context_manager)SimpleServerTestCase.test_context_managersl  " "3 '6 JJq!    { 3 ? ? , .(  ,88% ' ( 's 5A;; B c [R"[5nURSS5 SSS5 UR W"S5R S5 g!,(df  N1=f![Ra NJf=f)Nr rrr5)r'rrrrer+rrs r/!test_context_manager_method_error6SimpleServerTestCase.test_context_manager_method_errorsh &&s+v 1c",  ,88% ' ,+   s-A+AA+ A($A+(A++BBrWN)rXrYrZr[r|rrrrrrr`rflagsoptimizerrrrrvrrrrrr\rWr2r/ruru(sE E EE7 E ESYY//14@B EB E EE"E*% ;C''r2ruc.\rSrSr\SSj5rSrSrg)SimpleServerEncodingTestCaseiNc[XUS5 g)Nr)r)rrrrs r/rh'SimpleServerEncodingTestCase.threadFuncsCnmDr2c ZSnSn[R"[5nURUR X5X-5 g![R [ R4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f)Nrrrxrrrrs r/test_server_encoding1SimpleServerEncodingTestCase.test_server_encodings   E%%c*A   QUU<<)6 8''6 E+A.. aIr)BCDD/ Es=A$B*(3B%%B*rWr5)rXrYrZr[rrhrr\rWr2r/rrsEE Er2rc\rSrSr\"\5rSrSrSr \ R"S5S5r \ R"S5S5r \ R"S5S5r\ R"S5S 5r\ R"S5S 5r\ R"S5S 5r\ R"S5S 5r\ R"S5S 5r\ R"S5S5rSrg)MultiPathServerTestCaseir c[R"[S-5nURUR SS5S5 UR [R URSS5 g)Nr7rrrw)r'rrr+rrjrerr,rs r/ test_path1"MultiPathServerTestCase.test_path1sL  ! !#f* - qT* )//155!Q7r2c[R"[S-5nURUR SS5S5 UR [R URSS5 g)Nr8rr)r'rrr+rrjrerrs r/ test_path2"MultiPathServerTestCase.test_path2 sL  ! !#j. 1 qS) )//155!Q7r2walltimec[R"[S-5nUR[RUR SS5 g)NrDrrr'rrrjrerrs r/ test_path3"MultiPathServerTestCase.test_path3s3  ! !#l"2 3 )//155!Q7r2c[R"[S-5nUR[RUR SS5 g)Nz/invalidrrrrs r/test_invalid_path)MultiPathServerTestCase.test_invalid_paths2  ! !#j. 1 )//155!Q7r2c~[R"[S-5nURUR 5S5 g)Nr;r'rrr+rBrs r/test_path_query_fragment0MultiPathServerTestCase.test_path_query_fragments-  ! !#o"5 6 ?3r2c~[R"[S-5nURUR 5S5 g)Nr:rrs r/test_path_fragment*MultiPathServerTestCase.test_path_fragments,  ! !#k/ 2 ;/r2c~[R"[S-5nURUR 5S5 g)Nr9rrs r/test_path_query'MultiPathServerTestCase.test_path_query$s,  ! !#j. 1 :.r2cx[R"[5nURUR 5S5 g)Nr=rrs r/test_empty_path'MultiPathServerTestCase.test_empty_path)s(  ! !# & 7+r2c~[R"[S-5nURUR 5S5 g)Nr<rrs r/test_root_path&MultiPathServerTestCase.test_root_path.s,  ! !#) , 3'r2c~[R"[S-5nURUR 5S5 g)Nr>rrs r/test_empty_path_query-MultiPathServerTestCase.test_empty_path_query3s,  ! !#, / 6*r2c~[R"[S-5nURUR 5S5 g)Nr?rrs r/test_empty_path_fragment0MultiPathServerTestCase.test_empty_path_fragment8s,  ! !#- 0 7+r2rWN)rXrYrZr[rrIrhrgrrrrequires_resourcerrrrrrrrrr\rWr2r/rrs3/0JM8 8  z*8+8 z*8+8 z*4+4 z*0+0 z*/+/ z*,+, z*(+( z*+++ z*,+,r2rc\\rSrSr"SS\R R 5r\rSr Sr g)BaseKeepaliveServerTestCasei@cT\rSrSr\R R rSr/r Sr Sr Sr g)*BaseKeepaliveServerTestCase.RequestHandleriCrcURR/5 [UR5S- UlURR U5$r ) myRequestsryrreqidx parentClasshandlerls r/r1BaseKeepaliveServerTestCase.RequestHandler.handleGs@ OO " "2 &doo.q0DK##**40 0r2cURRU5nURURR UR 5 U$r)rhandle_one_requestrrryraw_requestline)r,r@s r/r=BaseKeepaliveServerTestCase.RequestHandler.handle_one_requestKs>%%88>F OODKK ( / /0D0D EMr2)rN) rXrYrZr[rr r rrrrrr\rWr2r/rrCs&mm>> %  1 r2rcN/URl[RU5$r)rrrbrmrls r/rm!BaseKeepaliveServerTestCase.setUpQs!)+&!''--r2rWN) rXrYrZr[rr r rrrmr\rWr2r/r r @s$ AA $N.r2r c\rSrSrSrSrg)KeepaliveServerTestCase1iXc[R"[5nURUR SS5S5 URUR SS5S5 URUR SS5S5 U"S5"5 UR[ UR R5S5 UR[ UR RS5S5 g)Nrrrwrrrr r'rrr+rrrrassertGreaterEqualrs r/test_two!KeepaliveServerTestCase1.test_twoYs  ! !# & qT* qT* qT* '  T00;;> % 2r2rc$\rSrSrSrSrSrSrg)GzipServerTestCase.TransportiFc[URSS55Ul[RR X5$)Nr0r)r getheaderresponse_lengthr'rparse_response)r,rs r/r9+GzipServerTestCase.Transport.parse_responses4!$X%7%78H!%L!MD &&55dE Er2cUR(aURSS5 [RR XU5$)NzContent-Encodinggzip) fake_gzip putheaderr'r send_content)r, connectionbodys r/r?)GzipServerTestCase.Transport.send_contents3~~$$%7@&&33DdK Kr2)r8N)rXrYrZr[r=r9r?r\rWr2r/rr5s  F Lr2rc.[RU5 gr)rbrmrls r/rmGzipServerTestCase.setUps  &r2cUR5nSUl[R"[US9nUR UR SS5S5 URRnSUlUR UR SS5S5 URRnURX4:5 U"S5"5 gNrrrrwrr) rencode_thresholdr'rrr+rrr2r)r,rdrrrs r/test_gzip_request$GzipServerTestCase.test_gzip_requests NN !  ! !# 3 qT*    . . qT*    . .  ' r2cPUR5nSUlSUl[R"[ US9nUR [R[R"S55nU URSS5 SSS5 U"S5"5 g!,(df  N=f)NTrGz\b400\brrr) rrHr=r'rrrPrWrecompiler)r,rdrcms r/test_bad_gzip_request(GzipServerTestCase.test_bad_gzip_requestsy NN !  ! !# 3  # #I$;$;$&JJz$:<  EE!QK ' Rs .B B%cUR5n[R"[US9nURR nSURlUR URSS5S5 URnSURlUR URSS5S5 U"S5"5 URnX0RlURXE:5 grF) rr'rrrrHr+rr8r)r,rdroldrrs r/test_gzip_response%GzipServerTestCase.test_gzip_responses NN   ! !# 3!!22/3, qT*  /0, qT* '  /2, r2rWN)rXrYrZr[rr r rrr'rrmrIrOrSr\rWr2r/r,r,sG2AA2$N LI'' L'   r2r,c\rSrSrSrSrg)GzipUtilTestCaseicSnSU-n[R"U5n[R"U5nUR[ U5U5 SUS--n[R"U5nUR [ S5 [R"U5 SSS5 [R"USS9 g!,(df  N$=f)Ni@rz#max gzipped payload length exceededr) max_decode)r' gzip_encode gzip_decoder+rrPr)r,max_gzip_decoderencodeddecodeds r/test_gzip_decode_limit'GzipUtilTestCase.test_gzip_decode_limits*&''-''0 W7!+,''-  # #J$IK  ! !' *K g"5 KKs B88 CrWN)rXrYrZr[r_r\rWr2r/rVrVs6r2rVc^\rSrSr"SS\R R 5r\r/SQr U4Sjr Sr Sr Sr S rS rS rS rU=r$) HeadersServerTestCaseic,^\rSrSrSrU4SjrSrU=r$)$HeadersServerTestCase.RequestHandleriNcV>URURl[TU]5$r)rr1 test_headerssuperrr,r1s r/r,HeadersServerTestCase.RequestHandler.do_POSTs *.,,DNN '7?$ $r2rW)rXrYrZr[rfrr\ __classcell__r1s@r/rrds  % %r2r)HostzAccept-Encodingz Content-Typez User-AgentrcB>SURl[TU] 5$r)rrfrgrmrhs r/rmHeadersServerTestCase.setUps+/(w}r2c([UR[UR55-5nUR [UR55U5 UR 5H&upEUR URU5U5 M( gr)sortedstandard_headerslistkeysassertListEqualitemsr+r)r,r additional expected_keyskeyrLs r/assertContainsAdditionalHeaders5HeadersServerTestCase.assertContainsAdditionalHeadersslt44tJOO @r2c[R"[/S9nURUR SS5S5 UR R nURU05 g)Nrrrrwrrs r/test_header_empty'HeadersServerTestCase.test_header_empty sO  ! !#r 2 q!d+%%22 ,,Wb9r2c[R"[SS9nURUR SS5S5 UR R nURUSS05 g)N)r|rrrrwr}r~rrs r/test_header_tuple'HeadersServerTestCase.test_header_tuplesU  ! !#/C D q!d+%%22 ,,Wx6GHr2c[R"[SS0R5S9nUR UR SS5S5 UR RnURUSS05 g)Nr}r~rrrrw) r'rrrur+rrrfryrs r/test_header_items'HeadersServerTestCase.test_header_itemssb  ! !#%/@/F/F/H I q!d+%%22 ,,Wx6GHr2rW)rXrYrZr[rr r rrrqrmryrrrrrr\rjrks@r/rbrbsU%AA% $N6I@:IIIr2rbc&\rSrSrSrSrSrSrg)ServerProxyTestCasei#cP[RRU5 SUlg)Nzhttp://fake.localhost)rXTestCasermrrls r/rmServerProxyTestCase.setUp$s%+r2c~[R"UR5nURU"S5"5S5 g)Nr)r'rrr+rs r/r&ServerProxyTestCase.test_close*s,  ! !$(( + 7t,r2c[R"5n[R"URUS9nUR U"S5U5 g)NrGr)r'rrrr+)r,rdrs r/r)"ServerProxyTestCase.test_transport.s:    !  ! !$((a 8 ;+r2)rN)rXrYrZr[rmr&r)r\rWr2r/rr#s+ -,r2rc,^\rSrSrSU4SjjrSrU=r$)FailingMessageClassi6cP>UR5nUS:Xag[TU] X5$)Nr0z I am broken)rMrgr)r,rxfailobjr1s r/rFailingMessageClass.get7s)iik " " w{3((r2rWr)rXrYrZr[rr\rjrks@r/rr6s ))r2rc2\rSrSrSrSrSrSrSrSr g) FailingServerTestCasei>cD[R"5UlURS4n[R"[US9nUR 5 UR UR5 URR5 URR5 g)Nrrd) rrfrrrrrrrirjrks r/rmFailingServerTestCase.setUp?se??$XXqM !!9E   $   r2cURR5 S[RRl[ RRnU[RRl grp) rrirr rrerr HTTPMessager  MessageClass)r, default_classs r/rqFailingServerTestCase.tearDownKsB  BG ((? // @M 00=r2c [RRRnUR US5 S[RRl[ R "[5nUR URSS5S5 g![ R[4aBn[U5(d(URU<S[USS5<35 SnAgSnAgSnAff=f) NFTrrrwrxrr)rr rrer+r'rrrrWrrPryrz)r,flagvalrrNs r/ test_basic FailingServerTestCase.test_basicTs--22II %(CG ((? E%%c*A   QUU1QZ .''1 E+A.. aIr)BCDD/ Ess NE$2 2r2rc## [Rn[R"[R"5US9[l[Rv U[lg!U[lf=f7f)z`A variation on support.captured_stdout() which gives a text stream having a `buffer` attribute. rN)rstdoutio TextIOWrapperBytesIO)r orig_stdouts r/captured_stdoutrsG **K!!"**,BCJ!jj  [ sAA3A# A3# A00A3c,\rSrSrSrSrSrSrSrg)CGIHandlerTestCaseicJ[RR5Ulgr)rr CGIXMLRPCRequestHandlercgirls r/rmCGIHandlerTestCase.setUps==88:r2cSUlgrrrls r/rqCGIHandlerTestCase.tearDowns r2c[R"5nSUS'[URRS9nURR 5 SSS5 WR S5 UR5nUR5SnSRUR5SS5nURUS 5 URUS 5 SSS5 g!,(df  N=f!,(df  g=f) NGETREQUEST_METHODrrr r rw400z Bad Request) rEnvironmentVarGuardrrrr seekrsplitrr+)r,envdata_outrrmessages r/ test_cgi_getCGIHandlerTestCase.test_cgi_gets  * * ,$)C !!$((*;*;<'')= MM! ]]_F\\^A&Fhhv||~a23G   VU +   Wm 4- ,=< - ,s##C0CBC0 C- )C00 C>c4Sn[R"5n[URRS9n[ R "5nURU5 URS5 [[U55US'URR5 SSS5 SSS5 SSS5 WRS5 UR5nUR[R[R USS5 XUR#S5SnUR%['[(R*"SU5R-S55[U55 g!,(df  N=f!,(df  N=f!,(df  N=f) Naw test_method foo bar rrCONTENT_LENGTH,zTRRU5 gr)logextend)rr,s r/r>UseBuiltinTypesTestCase.test_use_builtin_types..foobars HHOOD !r2T)rrr5r )rr8r'r(rr r,r-r3r+rr:r;r)r,expected_bytes expected_date marshaledrhandlermybytesmydates` r/test_use_builtin_types.UseBuiltinTypesTestCase.test_use_builtin_typess, ))$2r2rB OO^$CXN  "--66dd7D!!&)##I. TXX*(( N#BC d6lH$5$56 d7mU+r2ct[RRSS9nURUR5 g)NTr4)rr rrr5)r,rs r/*test_cgihandler_has_use_builtin_types_flagBUseBuiltinTypesTestCase.test_cgihandler_has_use_builtin_types_flags+--77$7O 112r2c[RRSSS9nUR5 UR UR 5 g)NrTr4)rr rrrr5rs r/,test_xmlrpcserver_has_use_builtin_types_flagDUseBuiltinTypesTestCase.test_xmlrpcserver_has_use_builtin_types_flags?112B"2$ 001r2)rN)rXrYrZr[rrrr\rWr2r/rrs,(32r2rcx[R"5n[R"[R/UQ76 gr)rthreading_setuprXaddModuleCleanupthreading_cleanup) thread_infos r/ setUpModulers*"224K .@@O;Or2__main__r5r)zutf-8)Hrr8rrrrXr xmlrpc.clientrr' xmlrpc.serverr http.clientr http.serverr rrLrrrBr test.supportrrrrr r r<rrequires_working_socketrrr9r)rr$r"r\rbryrr r rrrIrPr`rbrurrr rr#skipIfr,rVrbrrrrcontextmanagerrrrrrXmainrWr2r/rs  !  "&)55t,'#%%&9:)#$78)' ))*=> ));= )) ))$2r2rBD  $x,X&&x,v T7X%6%6T7n@DP" H**H6D'-D'NE#5E(8,08,z."4.0L:L&A:AD /@+@0@F /6x((606&:I.:I|,(++,&)$++11)K2H--K2\  ! !A**AH2h//2BP  z MMOU/ Ds,KK#"K#