Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_socketserver.cpython-38.pyc
U

>��g�F�@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�5/opt/cppython/lib/python3.8/test/test_socketserver.py�signal_alarms
r
�cCs:t|ggg|�\}}}||kr(|�|�Std|f��dS)Nztimed out on %r)�_real_select�recv�RuntimeError)�sockr
�timeout�r�w�xrrr�receive's
rc@seZdZdS)�ForkingUnixStreamServerN��__name__�
__module__�__qualname__rrrrr/src@seZdZdS)�ForkingUnixDatagramServerNrrrrrr3src
csht��}|dkrt�d�zz
dVWn�YnXW5t�|d�\}}|�||�|�d|�XdS)zBTests that a custom child process is not waited on (Issue 1540386)r�HiHN)�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.d/�Zd0S)1�SocketServerTestzTest all socket servers.cCstd�d|_g|_dS)N�<r)r
Z	port_seed�
test_files��selfrrr�setUpLszSocketServerTest.setUpc	CsPtd�t�|jD](}zt�|�Wqtk
r:YqXqg|jdd�<dS�Nr)r
rr(r�remove�OSError)r*�fnrrr�tearDownQs
zSocketServerTest.tearDowncCs8|tjkrtdfSd}tjd|d�}|j�|�|SdS)Nrzunix_socket.)�prefix�dir)�socket�AF_INET�HOST�tempfile�mktempr(�append)r*�protor2r/rrr�pickaddr\s
zSocketServerTest.pickaddrc
Cs�Gdd�d|�}Gdd�d|�}tr,td�z|||�}Wn6tk
rp}z|�d|||f�W5d}~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)rrrr?rrrr�MyServerhsr@c@seZdZdd�ZdS)z/SocketServerTest.make_server.<locals>.MyHandlercSs|j��}|j�|�dSr;)�rfile�readline�wfile�write)r*�linerrr�handlens
z6SocketServerTest.make_server.<locals>.MyHandler.handleN�rrrrFrrrr�	MyHandlermsrHzcreating serverz!Cannot create server (%s, %s): %s)r�print�PermissionErrorZskipTestr"�server_addressr3�getsockname)r*�addr�svrcls�hdlrbaser@rH�server�errr�make_servergs�zSocketServerTest.make_servercCs�|�|�|j�||�}|j}tr4td|�td|�tjd||jddid�}d|_	|�
�trhtd�td	�D]}tr�td
|�||j|�qptr�td�|��|�
�|��|�d|j���tr�t|tj�r�|�|j�tr�td
�dS)NzADDR =zCLASS =z
%s serving�
poll_interval�{�G�z�?��name�target�kwargsTzserver running�ztest clientzwaiting for server����done)rRr:�address_familyrKrrI�	threading�Thread�
serve_forever�daemon�start�range�shutdown�join�server_closer"r3�fileno�HAVE_FORKING�
isinstance�socketserver�ForkingMixInZassertFalse�active_children)r*rNrOZtestfuncrPrM�t�irrr�
run_server|s>�

�
zSocketServerTest.run_serverc	Cslt�|tj��T}|�|�|�t�t|d�}}|rRd|krRt|d�}||7}q2|�|t�W5QRXdS�N�d�
)r3�SOCK_STREAM�connect�sendall�TEST_STRrr"�r*r9rM�s�buf�datarrr�stream_examine�s



zSocketServerTest.stream_examinec	Cs�t�|tj��j}tr.|tjkr.|�|�|��|�t|�t|d�}}|rhd|krht|d�}||7}qH|�	|t�W5QRXdSro)
r3�
SOCK_DGRAM�HAVE_UNIX_SOCKETSr�bindr:�sendtorurr"rvrrr�
dgram_examine�s

zSocketServerTest.dgram_examinecCs|�tjtj|j�dSr;)rnri�	TCPServer�StreamRequestHandlerrzr)rrr�test_TCPServer�s�zSocketServerTest.test_TCPServercCs|�tjtj|j�dSr;)rnriZThreadingTCPServerr�rzr)rrr�test_ThreadingTCPServer�s�z(SocketServerTest.test_ThreadingTCPServerc	Cs,t|��|�tjtj|j�W5QRXdSr;)r%rnriZForkingTCPServerr�rzr)rrr�test_ForkingTCPServer�s

�z&SocketServerTest.test_ForkingTCPServercCs|�tjtj|j�dSr;)rnri�UnixStreamServerr�rzr)rrr�test_UnixStreamServer�s�z&SocketServerTest.test_UnixStreamServercCs|�tjtj|j�dSr;)rnriZThreadingUnixStreamServerr�rzr)rrr�test_ThreadingUnixStreamServer�s�z/SocketServerTest.test_ThreadingUnixStreamServerc	Cs*t|��|�ttj|j�W5QRXdSr;)r%rnrrir�rzr)rrr�test_ForkingUnixStreamServer�s

�z-SocketServerTest.test_ForkingUnixStreamServercCs|�tjtj|j�dSr;)rnriZ	UDPServer�DatagramRequestHandlerrr)rrr�test_UDPServer�s�zSocketServerTest.test_UDPServercCs|�tjtj|j�dSr;)rnriZThreadingUDPServerr�rr)rrr�test_ThreadingUDPServer�s�z(SocketServerTest.test_ThreadingUDPServerc	Cs,t|��|�tjtj|j�W5QRXdSr;)r%rnriZForkingUDPServerr�rr)rrr�test_ForkingUDPServer�s

�z&SocketServerTest.test_ForkingUDPServercCs|�tjtj|j�dSr;)rnri�UnixDatagramServerr�rr)rrr�test_UnixDatagramServer�s�z(SocketServerTest.test_UnixDatagramServercCs|�tjtj|j�dSr;)rnriZThreadingUnixDatagramServerr�rr)rrr� test_ThreadingUnixDatagramServer�s�z1SocketServerTest.test_ThreadingUnixDatagramServercCs|�ttj|j�dSr;)rnrrir�rr)rrr�test_ForkingUnixDatagramServer�s�z/SocketServerTest.test_ForkingUnixDatagramServercCs�Gdd�dtj�}Gdd�dtj�}g}td�D]<}|tdf|�}tjd|jdd	id
�}d|_|�	||f�q0|D]\}}|�
�|��qr|D]\}}|��|�
�q�dS)Nc@seZdZdS)z0SocketServerTest.test_shutdown.<locals>.MyServerNrrrrrr@sr@c@seZdZdS)z1SocketServerTest.test_shutdown.<locals>.MyHandlerNrrrrrrHsrHrrzMyServer servingrSrTrUT)rir�r�rbr5r]r^r_r`r8rarcrdre)r*r@rH�threadsrmrwrlrrr�
test_shutdown�s$�
zSocketServerTest.test_shutdowncCs4Gdd�dtjtj�}|tdfdd��}|��dS)Nc@seZdZdS)z9SocketServerTest.test_close_immediately.<locals>.MyServerNrrrrrr@sr@rcSsdSr;rrrrr�<lambda>�z9SocketServerTest.test_close_immediately.<locals>.<lambda>)ri�ThreadingMixInr�r5re)r*r@rPrrr�test_close_immediatelysz'SocketServerTest.test_close_immediatelyc
Cs:td�D],}|�t��t�tdftj�W5QRXqdS)NirZ)rb�assertRaises�
OverflowErrorrir�r5r�)r*rmrrr�test_tcpserver_bind_leaks

�z)SocketServerTest.test_tcpserver_bind_leakc	Cs4t�tdftj��}W5QRX|�d|j���dS)NrrZ)rir�r5r�r"r3rf)r*rPrrr�test_context_manager(s
�
z%SocketServerTest.test_context_managerN)rrr�__doc__r+r0r:rRrrnrzrr�r��requires_forkingr��requires_unix_socketsr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr&IsH
"








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�dSr;)�test�support�unlink�TESTFNr)rrrr04szErrorHandlerTest.tearDowncCstt�|jdd�dS�NT��handled)�BaseErrorTestServer�
ValueError�check_resultr)rrr�test_sync_handled7sz"ErrorHandlerTest.test_sync_handledc	Cs.|�t��tt�W5QRX|jdd�dS�NFr�)r��
SystemExitr�r�r)rrr�test_sync_not_handled;sz&ErrorHandlerTest.test_sync_not_handledcCstt�|jdd�dSr�)�ThreadingErrorTestServerr�r�r)rrr�test_threading_handled@sz'ErrorHandlerTest.test_threading_handledcCstt�|jdd�dSr�)r�r�r�r)rrr�test_threading_not_handledDsz+ErrorHandlerTest.test_threading_not_handledcCstt�|jdd�dSr�)�ForkingErrorTestServerr�r�r)rrr�test_forking_handledHsz%ErrorHandlerTest.test_forking_handledcCstt�|jdd�dSr�)r�r�r�r)rrr�test_forking_not_handledMsz)ErrorHandlerTest.test_forking_not_handledc	Cs8ttjj��"}dd|}|�|��|�W5QRXdS)N�Handler called
�Error handled
)�openr�r�r�r"�read)r*r��log�expectedrrrr�RszErrorHandlerTest.check_resultN)
rrrr�r0r�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��W5QRXz|�	�W5|��X|�
�dSr,)�	exception�super�__init__r5�
BadHandlerr3�create_connectionrKre�handle_request�	wait_done)r*r���	__class__rrr�Ys

zBaseErrorTestServer.__init__c	Cs(ttjjd��}|�d�W5QRXdS)N�ar�)r�r�r�r�rD)r*r=r>r�rrrr?dsz BaseErrorTestServer.handle_errorcCsdSr;rr)rrrr�hszBaseErrorTestServer.wait_done)rrrr�r?r��
__classcell__rrr�rr�Xsr�c@seZdZdd�ZdS)r�c	Cs4ttjjd��}|�d�W5QRX|j�d��dS)Nr�r�z
Test error)r�r�r�r�rDrPr�)r*r�rrrrFmszBadHandler.handleNrGrrrrr�lsr�cs0eZdZ�fdd�Z�fdd�Zdd�Z�ZS)r�cst��|_t�j||�dSr;)r]�Eventr[r�r��r*�pos�kwr�rrr�us
z!ThreadingErrorTestServer.__init__cst�j||�|j��dSr;)r��shutdown_requestr[�setr�r�rrr�ysz)ThreadingErrorTestServer.shutdown_requestcCs|j��dSr;)r[�waitr)rrrr�}sz"ThreadingErrorTestServer.wait_done)rrrr�r�r�r�rrr�rr�ssr�c@seZdZdS)r�Nrrrrrr��sr�c@seZdZdd�Zdd�ZdS)�SocketWriterTestc	Cs�Gdd�dtj�}t�tdf|�}|�|j�t�|jtjtj	�}|�|�
|j�W5QRX|��|�
|jtj�|�|j|j�dS)Nc@seZdZdd�ZdS)z-SocketWriterTest.test_basics.<locals>.HandlercSs*|j|j_|j��|j_|j��|j_dSr;)rCrPrf�wfile_filenor=�request_filenor)rrrrF�s
z4SocketWriterTest.test_basics.<locals>.Handler.handleNrGrrrr�Handler�sr�r)rir�r�r5�
addCleanuprer3r\rr�IPPROTO_TCPrsrKr�ZassertIsInstancerC�io�BufferedIOBaser"r�r�)r*r�rPrwrrr�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)N�write data
�)rCrDrP�sent1rArB�receivedr�r��
SOCK_MAX_SIZE�sent2)r*Z	big_chunkrrrrF�sz3SocketWriterTest.test_write.<locals>.Handler.handleNrGrrrrr��sr�rcs���dSr;)r�)�signum�frame)�interruptedrr�signal_handler�sz3SocketWriterTest.test_write.<locals>.signal_handlerc
s�t��jtjtj�}|�p|�d��Z}|��j�|���|�d�|�	d���t
j��jt
d�d�rNqnqNt|�	���W5QRXW5QRXdS)N�rb�client response
rp�)r)r3r\rrr��makefilersrKrBrtr�r	�SIGUSR1r��float�len)rw�reader�r��main_threadr�Z	received2Z	response1rPrr�
run_client�s�

z/SocketWriterTest.test_write.<locals>.run_client)rWr�r�rp)r�r�Z
get_attributer	rir�r�r5r�rer]r�r��	get_identr^rar�rdr"r�r�r�r�r�)r*r�r�Zoriginalr�Z
backgroundrr�r�
test_write�s*zSocketWriterTest.test_writeN)rrrr�r�rrrrr��sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�MiscTestCasecCsRg}tt�D]2}|�d�stt|�}t|dd�dkr|�|�q|�tj|�dS)N�_rri)r2ri�
startswith�getattrr8ZassertCountEqual�__all__)r*r�rVZ
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)NFrr<rrr�verify_request�szbMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.verify_requestrcSs |jd7_tj�||�dS)Nr�)�shutdown_calledrir�r�)r*r=rrrr��szdMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.shutdown_requestN)rrrr�r�r�rrrrr@�sr@rr�)rir�r5r�r3r\rrrsrK�closer�r"r�re)r*r@rPrwrrr�4test_shutdown_request_called_if_verify_request_false�s	zAMiscTestCase.test_shutdown_request_called_if_verify_request_falsec
CsrGdd�dtjtj�}|tdftj�}td�D]$}t�|j��|�	�W5QRXq.|�
t|j�d�|�
�dS)z�
        In #37193, users reported a memory leak
        due to the saving of every request thread. Ensure that
        not all threads are kept forever.
        c@seZdZdS)z2MiscTestCase.test_threads_reaped.<locals>.MyServerNrrrrrr@�sr@r�
N)rir�r�r5r�rbr3r�rKr�Z
assertLessr�Z_threadsre)r*r@rPr
rrr�test_threads_reaped�sz MiscTestCase.test_threads_reapedN)rrrr�r�r�rrrrr��s
r��__main__)r)2r��
contextlibr�r�selectr	r3r6r]ZunittestriZtest.supportr�rrrr�Zrequiresrur5rr|Z
skipUnlessr�rgr�r
rrrjr�rr�r�contextmanagerr%ZTestCaser&r�r�r�ZBaseRequestHandlerr�r�r�r�r�r�r�mainrrrr�<module>s^
�

��
g)�M2


F1le Man4ger