`?SSKJr SSKrSSKrSSKrSSKrSSKrSSKJ r \ R"SS9 Sr Sr "SS \R5r\S :Xa\R "5 gg) )DocXMLRPCServerN)supportT)modulec(^U(dS$U4SjnU$)NcU$N)funcs :/opt/alt/python313/lib64/python3.13/test/test_docxmlrpc.py)make_request_and_skipIf..sDc>U4SjnU$)Nc>URRSS5 URR5 [R"T5e)NGET/)clientrequest getresponseunittestSkipTest)selfreasons r make_request_and_skipImake_request_and_skipIf..decorator..make_request_and_skips8 KK  s + KK # # %##F+ +rr )r rrs r decorator*make_request_and_skipIf..decorators ,%$rr ) conditionrrs ` r make_request_and_skipIfr s   % rc[SSS9nURS5 URS5 URS5 "SS[5nUR 5 UR U"55 S nS [4S jn"S S 5nURU5 URS5 URU5 UR U"55 U$! UR5 e=f)N) localhostrF) logRequestsz"DocXMLRPCServer Test DocumentationzDocXMLRPCServer Test DocszmThis is an XML-RPC server's documentation, but the server can be used by POSTing to /RPC2. Try self.add, too.c\rSrSrSrSrg)make_server..TestClass%cXlg)z7Test method's docs. This method truly does very little.Narg)rr(s r test_method*make_server..TestClass.test_method&srr'N)__name__ __module__ __qualname____firstlineno__r)__static_attributes__r rr TestClassr$%s rr0c X-$)zAdd two instances together. This follows PEP008, but has nothing to do with RFC1952. Case should matter: pEp008 and rFC1952. Things that start with http and ftp should be auto-linked, too: http://google.com. r xys r addmake_server..add-s 5Lrr3cU$)zUse function annotations. r )r3s r annotationmake_server..annotation5sHrc"\rSrSrS\4SjrSrg)(make_server..ClassWithAnnotation9r3c"UR5$r)decode)rr3s r method_annotation:make_server..ClassWithAnnotation.method_annotation:sxxz!rr N)r+r,r-r.bytesr?r/r rr ClassWithAnnotationr;9s "5 "rrBc X- $rr r2s r r make_server..>sACr) rset_server_titleset_server_nameset_server_documentationobject register_introspection_functionsregister_instanceintregister_function server_close)servr0r5r8rBs r make_serverrOs + ?D( BC 89 %% B C    --/ y{+  #  " " s# /0 z* 245   s C CC+c\rSrSrSrSrSrSrSrSr \ "\ RRS:S 5S 5r\ "\ RRS:S 5S 5rS rS rSrSrg)DocXMLRPCHTTPGETServerFcFS[l[5Ul[R "URR S9UlURR5 URRSn[RRSU-5Ul g)NT)targetz localhost:%d) r_send_traceback_headerrOrN threadingThread serve_foreverthreadstartserver_addresshttprHTTPConnection)rPORTs r setUpDocXMLRPCHTTPGETServer.setUpGsn15.M &&dii.E.EF  yy''*kk00$1FG rcURR5 S[lURR 5 UR R5 URR5 g)NF) rcloserrVrNshutdownrZjoinrM)rs r tearDownDocXMLRPCHTTPGETServer.tearDownRsL 27.    rc URRSS5 URR5nURURS5 URUR S5S5 UR 5 g)Nrr Content-typeztext/html; charset=UTF-8rrr assertEqualstatus getheaderreadrresponses r test_valid_get_response.DocXMLRPCHTTPGETServer.test_valid_get_response[sc E3';;**, #. ++N;=WX  rc URRSS5 URR5nURURS5 URUR S5S5 UR 5 g)Nrz /pydoc.cssrirjztext/css; charset=UTF-8rkrps r test_get_css#DocXMLRPCHTTPGETServer.test_get_cssesc E<0;;**, #. ++N;=VW  rc URRSS5 URR5nURURS5 URUR S5S5 UR 5 g)Nrz/spamirjz text/plainrkrps r test_invalid_get_response0DocXMLRPCHTTPGETServer.test_invalid_get_responseos` E7+;;**, #. ++N;\J rcURRSS5 URR5nURSUR 55 g)zTest that lambda functionality stays the same. The output produced currently is, I suspect invalid because of the unencoded brackets in the HTML, "". The subtraction lambda method is tested. rrsU
<lambda>(x, y)
NrrrassertInrorps r test_lambda"DocXMLRPCHTTPGETServer.test_lambdaxsE E3';;**, Fmmo 'rz)Docstrings are omitted with -O2 and abovecURRSS5 URR5R5nUR SU5 g)zTest that the server correctly automatically wraps references to PEPS and RFCs with links, and that it linkifies text starting with http or ftp protocol prefixes. The documentation for the "add" method contains the test material. rrsG
add(x, y)
Add two instances together. This follows PEP008, but has nothing
to do with RFC1952. Case should matter: pEp008 and rFC1952.  Things
that start with http and ftp should be auto-linked, too:
http://google.com.
Nrrrror|rps r test_autolinking'DocXMLRPCHTTPGETServer.test_autolinkingsK E3';;**,113  69A BrcURRSS5 URR5R5nUR SU5 g)zTest the presence of three consecutive system.* methods. This also tests their use of parameter type recognition and the systems related to that process. rrs
system.methodHelp(method_name)
system.methodHelp('add') => "Adds two integers together"
 
Returns a string containing documentation for the specified method.
system.methodSignature(method_name)
system.methodSignature('add') => [double, int, int]
 
Returns a list describing the signature of the method. In the
above example, the add method takes two integers as arguments
and returns a double result.
 
This server does NOT support system.methodSignature.
Nrrps r test_system_methods*DocXMLRPCHTTPGETServer.test_system_methodssI E3';;**,113 14add, too.Nr{rps r test_autolink_dotted_methods3DocXMLRPCHTTPGETServer.test_autolink_dotted_methodssB E3';;**, Jmmo 'rcURRSS5 URR5n[RR S:aSOSnUR SU-S-UR55 g) z(Test that annotations works as expected rrrrs5
Use function annotations.
sJ
annotation(x: int)
se
method_annotation(x: bytes)
N)rrrsysflagsoptimizer|ro)rrq docstrings r test_annotations'DocXMLRPCHTTPGETServer.test_annotationsst E3';;**,II..!3SM   )*-CC MMO  rcURRS5 URRS5 URSURR5 URSURR 5 URR 5n[R"SU5R5n[R"SU5R5nURSU5 URSU5 g)Nztest_title