HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //proc/self/root/usr/local/lib/python3.7/test/__pycache__/test_docxmlrpc.cpython-37.opt-2.pyc
B

��g�"�@svddlmZddlZddlZddlZddlZddlmZddl	Z	dd�Z
dd�ZGdd	�d	e	j�Z
ed
krre	��dS)�)�DocXMLRPCServerN)�supportcs|sdd�S�fdd�}|S)NcSs|S)N�)�funcrr�//usr/local/lib/python3.7/test/test_docxmlrpc.py�<lambda>
�z)make_request_and_skipIf.<locals>.<lambda>cs�fdd�}|S)Ncs&|j�dd�|j��t����dS)N�GET�/)�client�request�getresponse�unittestZSkipTest)�self)�reasonrr�make_request_and_skips
zImake_request_and_skipIf.<locals>.decorator.<locals>.make_request_and_skipr)rr)rrr�	decoratorsz*make_request_and_skipIf.<locals>.decoratorr)Z	conditionrrr)rr�make_request_and_skipIf	srcCs�tddd�}y�|�d�|�d�|�d�Gdd�dt�}|��|�|��d	d
�}td�dd
�}Gdd�d�}|�|�|�dd��|�|�|�|��|S|�	��YnXdS)N)Z	localhostrF)ZlogRequestsz"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@seZdZdd�ZdS)zmake_server.<locals>.TestClasscSs
||_dS)N)�arg)rrrrr�test_method$sz*make_server.<locals>.TestClass.test_methodN)�__name__�
__module__�__qualname__rrrrr�	TestClass#srcSs||S)Nr)�x�yrrr�add+szmake_server.<locals>.add)rcSs|S)Nr)rrrr�
annotation3szmake_server.<locals>.annotationc@seZdZed�dd�ZdS)z(make_server.<locals>.ClassWithAnnotation)rcSs|��S)N)�decode)rrrrr�method_annotation8sz:make_server.<locals>.ClassWithAnnotation.method_annotationN)rrr�bytesrrrrr�ClassWithAnnotation7sr!cSs||S)Nr)rrrrrr<rzmake_server.<locals>.<lambda>)
r�set_server_titleZset_server_name�set_server_documentation�objectZ register_introspection_functionsZregister_instance�intZregister_function�server_close)�servrrrr!rrr�make_servers(



r(c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zee	j
jdkd�d
d��Zee	j
jdkd�dd��Z
dd�Zdd�Zdd�ZdS)�DocXMLRPCHTTPGETServercCsLdt_t�|_tj|jjd�|_|j��|jj	d}t
j�d|�|_dS)NT)�target�zlocalhost:%d)
r�_send_traceback_headerr(r'�	threadingZThreadZ
serve_forever�thread�startZserver_address�httprZHTTPConnection)rZPORTrrr�setUpEs
zDocXMLRPCHTTPGETServer.setUpcCs2|j��dt_|j��|j��|j��dS)NF)	r�closerr,r'Zshutdownr.�joinr&)rrrr�tearDownPs



zDocXMLRPCHTTPGETServer.tearDowncCsD|j�dd�|j��}|�|jd�|�|�d�d�|��dS)Nr	r
��zContent-typez	text/html)rrr
�assertEqual�status�	getheader�read)r�responserrr�test_valid_get_responseYs

z.DocXMLRPCHTTPGETServer.test_valid_get_responsecCsD|j�dd�|j��}|�|jd�|�|�d�d�|��dS)Nr	z/spami�zContent-typez
text/plain)rrr
r6r7r8r9)rr:rrr�test_invalid_get_responsecs

z0DocXMLRPCHTTPGETServer.test_invalid_get_responsecCs,|j�dd�|j��}|�d|���dS)Nr	r
sU<dl><dt><a name="-&lt;lambda&gt;"><strong>&lt;lambda&gt;</strong></a>(x, y)</dt></dl>)rrr
�assertInr9)rr:rrr�test_lambdals
z"DocXMLRPCHTTPGETServer.test_lambda�z)Docstrings are omitted with -O2 and abovecCs,|j�dd�|j����}|�d|�dS)Nr	r
sM<dl><dt><a name="-add"><strong>add</strong></a>(x, y)</dt><dd><tt>Add&nbsp;two&nbsp;instances&nbsp;together.&nbsp;This&nbsp;follows&nbsp;<a href="http://www.python.org/dev/peps/pep-0008/">PEP008</a>,&nbsp;but&nbsp;has&nbsp;nothing<br>
to&nbsp;do&nbsp;with&nbsp;<a href="http://www.rfc-editor.org/rfc/rfc1952.txt">RFC1952</a>.&nbsp;Case&nbsp;should&nbsp;matter:&nbsp;pEp008&nbsp;and&nbsp;rFC1952.&nbsp;&nbsp;Things<br>
that&nbsp;start&nbsp;with&nbsp;http&nbsp;and&nbsp;ftp&nbsp;should&nbsp;be&nbsp;auto-linked,&nbsp;too:<br>
<a href="http://google.com">http://google.com</a>.</tt></dd></dl>)rrr
r9r=)rr:rrr�test_autolinkingzs
		z'DocXMLRPCHTTPGETServer.test_autolinkingcCs,|j�dd�|j����}|�d|�dS)Nr	r
s�<dl><dt><a name="-system.methodHelp"><strong>system.methodHelp</strong></a>(method_name)</dt><dd><tt><a href="#-system.methodHelp">system.methodHelp</a>('add')&nbsp;=&gt;&nbsp;"Adds&nbsp;two&nbsp;integers&nbsp;together"<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;string&nbsp;containing&nbsp;documentation&nbsp;for&nbsp;the&nbsp;specified&nbsp;method.</tt></dd></dl>
<dl><dt><a name="-system.methodSignature"><strong>system.methodSignature</strong></a>(method_name)</dt><dd><tt><a href="#-system.methodSignature">system.methodSignature</a>('add')&nbsp;=&gt;&nbsp;[double,&nbsp;int,&nbsp;int]<br>
&nbsp;<br>
Returns&nbsp;a&nbsp;list&nbsp;describing&nbsp;the&nbsp;signature&nbsp;of&nbsp;the&nbsp;method.&nbsp;In&nbsp;the<br>
above&nbsp;example,&nbsp;the&nbsp;add&nbsp;method&nbsp;takes&nbsp;two&nbsp;integers&nbsp;as&nbsp;arguments<br>
and&nbsp;returns&nbsp;a&nbsp;double&nbsp;result.<br>
&nbsp;<br>
This&nbsp;server&nbsp;does&nbsp;NOT&nbsp;support&nbsp;system.methodSignature.</tt></dd></dl>)rrr
r9r=)rr:rrr�test_system_methods�s
z*DocXMLRPCHTTPGETServer.test_system_methodscCs,|j�dd�|j��}|�d|���dS)Nr	r
s-Try&nbsp;self.<strong>add</strong>,&nbsp;too.)rrr
r=r9)rr:rrr�test_autolink_dotted_methods�s
z3DocXMLRPCHTTPGETServer.test_autolink_dotted_methodscCsH|j�dd�|j��}tjjdkr(dnd}|�d|d|���dS)Nr	r
r?rs5<dd><tt>Use&nbsp;function&nbsp;annotations.</tt></dd>sJ<dl><dt><a name="-annotation"><strong>annotation</strong></a>(x: int)</dt>se</dl>
<dl><dt><a name="-method_annotation"><strong>method_annotation</strong></a>(x: bytes)</dt></dl>)rrr
�sys�flags�optimizer=r9)rr:Z	docstringrrr�test_annotations�s

z'DocXMLRPCHTTPGETServer.test_annotationscCs~|j�d�|j�d�|�d|jj�|�d|jj�|j��}t�d|��	�}t�d|��	�}|�d|�|�d|�dS)Nztest_title<script>ztest_documentation<script>z<title>(.+?)</title>z<p><tt>(.+?)</tt></p>z/<title>Python: test_title&lt;script&gt;</title>z0<p><tt>test_documentation&lt;script&gt;</tt></p>)
r'r"r#r6Zserver_titleZserver_documentationZgenerate_html_documentation�re�search�group)rZ	generated�titleZ
documentationrrr�test_server_title_escape�s

z/DocXMLRPCHTTPGETServer.test_server_title_escapeN)rrrr1r4r;r<r>rrCrDrEr@rArBrFrKrrrrr)Ds	
		
r)�__main__)Z
xmlrpc.serverrZhttp.clientr0rGrCr-Ztestrrrr(ZTestCaser)r�mainrrrr�<module>s-