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: //usr/local/lib/python3.7/test/__pycache__/test_socketserver.cpython-37.pyc
B

��g}C�@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
mZmZej�d�dZejjZeed�Ze	�ed�Zeed�Ze	�ed	�Zd
d�ZejZd&d
d�Ze�re�rGdd�de
je
j�ZGdd�de
je
j �Z!ej"dd��Z#Gdd�de	j$�Z%Gdd�de	j$�Z&Gdd�de
j'�Z(Gdd�de
j)�Z*Gdd�de
j+e(�Z,e�r�Gdd �d e
je(�Z-Gd!d"�d"e	j$�Z.Gd#d$�d$e	j$�Z/e0d%k�r�e	�1�dS)'z
Test suite for socketserver.
�N)�
reap_children�reap_threads�verboseZnetworkshello world
�AF_UNIXzrequires Unix sockets�forkzrequires forkingcCsttd�rt�|�dS)z7Call signal.alarm when it exists (i.e. not on Windows).�alarmN)�hasattr�signalr)�n�r�2/usr/local/lib/python3.7/test/test_socketserver.py�signal_alarms
r
�cCs:t|ggg|�\}}}||kr(|�|�Std|f��dS)Nztimed out on %r)�_real_selectZrecv�RuntimeError)Zsockr
�timeout�r�w�xrrr�receive's
rc@seZdZdS)�ForkingUnixStreamServerN)�__name__�
__module__�__qualname__rrrrr/src@seZdZdS)�ForkingUnixDatagramServerN)rrrrrrrr3src
csht��}|dkrt�d�zy
dVWn�YnXWdt�|d�\}}|�||�|�d|�XdS)zBTests that a custom child process is not waited on (Issue 1540386)r�HNiH)�osr�_exit�waitpid�assertEqual)Ztestcase�pidZpid2�statusrrr�simple_subprocess8s

r"c@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zed
d��Z	dd
�Z
dd�Zdd�Zdd�Z
edd��Zedd��Zedd��Zeedd���Zdd�Zdd�Zed d!��Zed"d#��Zed$d%��Zeed&d'���Zed(d)��Zd*d+�Zd,d-�Zd.S)/�SocketServerTestzTest all socket servers.cCstd�d|_g|_dS)N�<r)r
Z	port_seed�
test_files)�selfrrr�setUpLszSocketServerTest.setUpc	CsTtd�t�x2|jD](}yt�|�Wqtk
r<YqXqWg|jdd�<dS)Nr)r
rr%r�remove�OSError)r&�fnrrr�tearDownQs
zSocketServerTest.tearDowncCs8|tjkrtdfSd}tjd|d�}|j�|�|SdS)Nrzunix_socket.)�prefix�dir)�socketZAF_INET�HOST�tempfileZmktempr%�append)r&�protor-r*rrr�pickaddr\s
zSocketServerTest.pickaddrc
Cs�Gdd�d|�}Gdd�d|�}tr,td�y|||�}Wn6tk
rp}z|�d|||f�Wdd}~XYnX|�|j|j���|S)Nc@seZdZdd�ZdS)z.SocketServerTest.make_server.<locals>.MyServercSs|�|��dS)N)Z
close_request)r&�request�client_addressrrr�handle_erroris
z;SocketServerTest.make_server.<locals>.MyServer.handle_errorN)rrrr6rrrr�MyServerhsr7c@seZdZdd�ZdS)z/SocketServerTest.make_server.<locals>.MyHandlercSs|j��}|j�|�dS)N)�rfile�readline�wfile�write)r&�linerrr�handlens
z6SocketServerTest.make_server.<locals>.MyHandler.handleN)rrrr=rrrr�	MyHandlermsr>zcreating serverz!Cannot create server (%s, %s): %s)r�print�PermissionErrorZskipTestr�server_addressr.Zgetsockname)r&�addr�svrcls�hdlrbaser7r>�server�errr�make_servergs zSocketServerTest.make_servercCs�|�|�|j�||�}|j}tr4td|�td|�tjd||jddid�}d|_	|�
�trhtd�x*td	�D]}tr�td
|�||j|�qrWtr�td�|��|�
�|��|�d|j���tr�t|tj�r�|�|j�tr�td
�dS)NzADDR =zCLASS =z
%s serving�
poll_intervalg{�G�z�?)�name�target�kwargsTzserver running�ztest clientzwaiting for server����done)rGr3�address_familyrArr?�	threading�Thread�
serve_forever�daemon�start�range�shutdown�join�server_closerr.�fileno�HAVE_FORKING�
isinstance�socketserver�ForkingMixInZassertFalseZactive_children)r&rCrDZtestfuncrErB�t�irrr�
run_server|s8


zSocketServerTest.run_servercCslt�|tj�}|�|�|�t�t|d�}}x"|rRd|krRt|d�}||7}q2W|�|t�|��dS)N�d�
)r.�SOCK_STREAM�connect�sendall�TEST_STRrr�close)r&r2rB�s�buf�datarrr�stream_examine�s


zSocketServerTest.stream_examinecCs�t�|tj�}tr,|tjkr,|�|�|��|�t|�t|d�}}x"|rhd|krht|d�}||7}qHW|�	|t�|�
�dS)Nrarb)r.Z
SOCK_DGRAM�HAVE_UNIX_SOCKETSrZbindr3Zsendtorfrrrg)r&r2rBrhrirjrrr�
dgram_examine�s
zSocketServerTest.dgram_examinecCs|�tjtj|j�dS)N)r`r\�	TCPServer�StreamRequestHandlerrk)r&rrr�test_TCPServer�szSocketServerTest.test_TCPServercCs|�tjtj|j�dS)N)r`r\ZThreadingTCPServerrork)r&rrr�test_ThreadingTCPServer�sz(SocketServerTest.test_ThreadingTCPServerc	Cs,t|��|�tjtj|j�WdQRXdS)N)r"r`r\ZForkingTCPServerrork)r&rrr�test_ForkingTCPServer�s
z&SocketServerTest.test_ForkingTCPServercCs|�tjtj|j�dS)N)r`r\�UnixStreamServerrork)r&rrr�test_UnixStreamServer�sz&SocketServerTest.test_UnixStreamServercCs|�tjtj|j�dS)N)r`r\ZThreadingUnixStreamServerrork)r&rrr�test_ThreadingUnixStreamServer�sz/SocketServerTest.test_ThreadingUnixStreamServerc	Cs*t|��|�ttj|j�WdQRXdS)N)r"r`rr\rork)r&rrr�test_ForkingUnixStreamServer�s
z-SocketServerTest.test_ForkingUnixStreamServercCs|�tjtj|j�dS)N)r`r\Z	UDPServer�DatagramRequestHandlerrm)r&rrr�test_UDPServer�szSocketServerTest.test_UDPServercCs|�tjtj|j�dS)N)r`r\ZThreadingUDPServerrwrm)r&rrr�test_ThreadingUDPServer�sz(SocketServerTest.test_ThreadingUDPServerc	Cs,t|��|�tjtj|j�WdQRXdS)N)r"r`r\ZForkingUDPServerrwrm)r&rrr�test_ForkingUDPServer�s
z&SocketServerTest.test_ForkingUDPServercCs|�tjtj|j�dS)N)r`r\�UnixDatagramServerrwrm)r&rrr�test_UnixDatagramServer�sz(SocketServerTest.test_UnixDatagramServercCs|�tjtj|j�dS)N)r`r\ZThreadingUnixDatagramServerrwrm)r&rrr� test_ThreadingUnixDatagramServer�sz1SocketServerTest.test_ThreadingUnixDatagramServercCs|�ttj|j�dS)N)r`rr\rwrm)r&rrr�test_ForkingUnixDatagramServer�sz/SocketServerTest.test_ForkingUnixDatagramServercCs�Gdd�dtj�}Gdd�dtj�}g}xHtd�D]<}|tdf|�}tjd|jdd	id
�}d|_|�	||f�q2Wx |D]\}}|�
�|��qxWx |D]\}}|��|�
�q�WdS)Nc@seZdZdS)z0SocketServerTest.test_shutdown.<locals>.MyServerN)rrrrrrrr7sr7c@seZdZdS)z1SocketServerTest.test_shutdown.<locals>.MyHandlerN)rrrrrrrr>sr>rrzMyServer servingrHg{�G�z�?)rIrJrKT)r\rnrorUr/rPrQrRrSr1rTrVrWrX)r&r7r>Zthreadsr_rhr^rrr�
test_shutdown�s"zSocketServerTest.test_shutdownc
Cs>x8td�D],}|�t��t�tdftj�WdQRXq
WdS)NirM)rU�assertRaises�
OverflowErrorr\rnr/ro)r&r_rrr�test_tcpserver_bind_leaks
z)SocketServerTest.test_tcpserver_bind_leakc	Cs4t�tdftj��}WdQRX|�d|j���dS)NrrM)r\rnr/rorr.rY)r&rErrr�test_context_manager#s


z%SocketServerTest.test_context_managerN)rrr�__doc__r'r+r3rGrr`rkrmrprq�requires_forkingrr�requires_unix_socketsrtrurvrxryrzr|r}r~rr�r�rrrrr#Is2#
r#c@sXeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Ze	dd
��Z
e	dd��Zdd�ZdS)�ErrorHandlerTestz�Test that the servers pass normal exceptions from the handler to
    handle_error(), and that exiting exceptions like SystemExit and
    KeyboardInterrupt are not passed.cCstj�tjj�dS)N)�test�support�unlink�TESTFN)r&rrrr+/szErrorHandlerTest.tearDowncCstt�|jdd�dS)NT)�handled)�BaseErrorTestServer�
ValueError�check_result)r&rrr�test_sync_handled2sz"ErrorHandlerTest.test_sync_handledc	Cs.|�t��tt�WdQRX|jdd�dS)NF)r�)r��
SystemExitr�r�)r&rrr�test_sync_not_handled6sz&ErrorHandlerTest.test_sync_not_handledcCstt�|jdd�dS)NT)r�)�ThreadingErrorTestServerr�r�)r&rrr�test_threading_handled;sz'ErrorHandlerTest.test_threading_handledcCstt�|jdd�dS)NF)r�)r�r�r�)r&rrr�test_threading_not_handled?sz+ErrorHandlerTest.test_threading_not_handledcCstt�|jdd�dS)NT)r�)�ForkingErrorTestServerr�r�)r&rrr�test_forking_handledCsz%ErrorHandlerTest.test_forking_handledcCstt�|jdd�dS)NF)r�)r�r�r�)r&rrr�test_forking_not_handledHsz)ErrorHandlerTest.test_forking_not_handledc	Cs8ttjj��"}dd|}|�|��|�WdQRXdS)NzHandler called
zError handled
)�openr�r�r�r�read)r&r��log�expectedrrrr�MszErrorHandlerTest.check_resultN)
rrrr�r+r�r�r�r�r�r�r�r�rrrrr�*sr�cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)r�c	sT||_t��tdft�t�|j��WdQRXz|��Wd|�	�X|�
�dS)Nr)�	exception�super�__init__r/�
BadHandlerr.Zcreate_connectionrA�handle_requestrX�	wait_done)r&r�)�	__class__rrr�Ts

zBaseErrorTestServer.__init__c	Cs(ttjjd��}|�d�WdQRXdS)N�azError handled
)r�r�r�r�r;)r&r4r5r�rrrr6_sz BaseErrorTestServer.handle_errorcCsdS)Nr)r&rrrr�cszBaseErrorTestServer.wait_done)rrrr�r6r��
__classcell__rr)r�rr�Ssr�c@seZdZdd�ZdS)r�c	Cs4ttjjd��}|�d�WdQRX|j�d��dS)Nr�zHandler called
z
Test error)r�r�r�r�r;rEr�)r&r�rrrr=hszBadHandler.handleN)rrrr=rrrrr�gsr�cs0eZdZ�fdd�Z�fdd�Zdd�Z�ZS)r�cst��|_t�j||�dS)N)rP�EventrNr�r�)r&�pos�kw)r�rrr�ps
z!ThreadingErrorTestServer.__init__cst�j||�|j��dS)N)r��shutdown_requestrN�set)r&r�r�)r�rrr�tsz)ThreadingErrorTestServer.shutdown_requestcCs|j��dS)N)rN�wait)r&rrrr�xsz"ThreadingErrorTestServer.wait_done)rrrr�r�r�r�rr)r�rr�nsr�c@seZdZdS)r�N)rrrrrrrr�}sr�c@seZdZdd�Zdd�ZdS)�SocketWriterTestc	Cs�Gdd�dtj�}t�tdf|�}|�|j�t�|jtjtj	�}|�|�
|j�WdQRX|��|�
|jtj�|�|j|j�dS)Nc@seZdZdd�ZdS)z-SocketWriterTest.test_basics.<locals>.HandlercSs*|j|j_|j��|j_|j��|j_dS)N)r:rErY�wfile_filenor4�request_fileno)r&rrrr=�s
z4SocketWriterTest.test_basics.<locals>.Handler.handleN)rrrr=rrrr�Handler�sr�r)r\rornr/�
addCleanuprXr.rOrc�IPPROTO_TCPrdrAr�ZassertIsInstancer:�io�BufferedIOBaserr�r�)r&r�rErhrrr�test_basics�szSocketWriterTest.test_basicscstj�td��Gdd�dtj�}t�tdf|��|��j	�t
����fdd�}t�tj|�}|�tjtj|�d�d�t
�
��������fdd�}t
j|d	�}|�����|��|��jt���|��d
�|��jd�|��jtjj�|��tjjd�dS)
N�pthread_killc@seZdZdd�ZdS)z,SocketWriterTest.test_write.<locals>.HandlercSs>|j�d�|j_|j��|j_dtjj	}|j�|�|j_
dS)Nswrite data
�)r:r;rE�sent1r8r9�receivedr�r��
SOCK_MAX_SIZE�sent2)r&Z	big_chunkrrrr=�sz3SocketWriterTest.test_write.<locals>.Handler.handleN)rrrr=rrrrr��sr�rcs���dS)N)r�)Zsignum�frame)�interruptedrr�signal_handler�sz3SocketWriterTest.test_write.<locals>.signal_handlerc
s�t��jtjtj�}|�t|�d��^}|��j�|���|�d�|�	d�x"��t
j��jt
d�d�rPPqPWt|�	���WdQRXWdQRXdS)N�rbsclient response
ra�)r)r.rOrcr�ZmakefilerdrAr9rer�r	�SIGUSR1r��float�len)rh�reader)r��main_threadr��	received2�	response1rErr�
run_client�s

z/SocketWriterTest.test_write.<locals>.run_client)rJswrite data
sclient response
ra)r�r�Z
get_attributer	r\rornr/r�rXrPr�r��	get_identrQrTr�rWrr�r�r�r�r�)r&r�r�Zoriginalr�Z
backgroundr)r�r�r�r�r�rEr�
test_write�s*zSocketWriterTest.test_writeN)rrrr�r�rrrrr��sr�c@seZdZdd�Zdd�ZdS)�MiscTestCasecCsVg}x>tt�D]2}|�d�stt|�}t|dd�dkr|�|�qW|�tj|�dS)N�_rr\)r-r\�
startswith�getattrr1ZassertCountEqual�__all__)r&r�rIZ
mod_objectrrr�test_all�s

zMiscTestCase.test_allcCshGdd�dtj�}|tdftj�}t�|jtj�}|�|j�|�	�|�
�|�|jd�|�
�dS)Nc@s eZdZdd�ZdZdd�ZdS)zSMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServercSsdS)NFr)r&r4r5rrr�verify_request�szbMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.verify_requestrcSs |jd7_tj�||�dS)Nr�)�shutdown_calledr\rnr�)r&r4rrrr��szdMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.shutdown_requestN)rrrr�r�r�rrrrr7�sr7rr�)r\rnr/ror.rOrcrdrArgr�rr�rX)r&r7rErhrrr�4test_shutdown_request_called_if_verify_request_false�s	zAMiscTestCase.test_shutdown_request_called_if_verify_request_falseN)rrrr�r�rrrrr��s
r��__main__)r)2r��
contextlibr�rZselectr	r.r0rPZunittestr\Ztest.supportr�rrrr�Zrequiresrfr/rrlZ
skipUnlessr�rZr�r
rrr]rsrr{r�contextmanagerr"ZTestCaser#r�rnr�ZBaseRequestHandlerr�ZThreadingMixInr�r�r�r�r�mainrrrr�<module>sT


b)
M"