Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_socketserver.cpython-39.opt-1.pyc

a

��g�F�@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
mZmZddlmZej�d�dZejZeed�Ze	�ed�Zeed	�Ze	�ed
�Zdd�ZejZejjfd
d�Ze�re�rGdd�de
je
j �Z!Gdd�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&�Z0Gd#d$�d$e	j&�Z1e2d%k�r�e	�3�dS)&z
Test suite for socketserver.
�N)�
reap_children�reap_threads�verbose)�
socket_helper�networks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.9/test/test_socketserver.py�signal_alarm s
rcCs:t|ggg|�\}}}||vr(|�|�Std|f��dS)Nztimed out on %r)�_real_select�recv�RuntimeError)�sockr�timeout�r�w�xr
r
r�receive(s
rc@seZdZdS)�ForkingUnixStreamServerN��__name__�
__module__�__qualname__r
r
r
rr0src@seZdZdS)�ForkingUnixDatagramServerNrr
r
r
rr4src
cs`t��}|dkrt�d�z.z
dVWn�Yn0Wtjj|dd�ntjj|dd�0dS)zBTests that a custom child process is not waited on (Issue 1540386)r�HN)�exitcode)�osr�_exit�test�supportZwait_process)Ztestcase�pidr
r
r�simple_subprocess9s


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)rZ	port_seed�
test_files��selfr
r
r�setUpKszSocketServerTest.setUpc	CsNtd�t�|jD]&}zt�|�Wqty8Yq0qg|jdd�<dS�Nr)rrr)r!�remove�OSError)r+�fnr
r
r�tearDownPs
zSocketServerTest.tearDowncCs8|tjkrtdfSd}tjd|d�}|j�|�|SdS)Nrzunix_socket.)�prefix�dir)�socket�AF_INET�HOST�tempfile�mktempr)�append)r+�protor3r0r
r
r�pickaddr[s
zSocketServerTest.pickaddrc
Cs�Gdd�d|�}Gdd�d|�}tr,td�z|||�}Wn8tyr}z |�d|||f�WYd}~n
d}~00|�|j|j���|S)Nc@seZdZdd�ZdS)z.SocketServerTest.make_server.<locals>.MyServercSs|�|��dS�N)Z
close_request�r+�request�client_addressr
r
r�handle_errorhs
z;SocketServerTest.make_server.<locals>.MyServer.handle_errorN)rrrr@r
r
r
r�MyServergsrAc@seZdZdd�ZdS)z/SocketServerTest.make_server.<locals>.MyHandlercSs|j��}|j�|�dSr<)�rfile�readline�wfile�write)r+�liner
r
r�handlems
z6SocketServerTest.make_server.<locals>.MyHandler.handleN�rrrrGr
r
r
r�	MyHandlerlsrIzcreating serverz!Cannot create server (%s, %s): %s)r�print�PermissionErrorZskipTest�assertEqual�server_addressr4�getsockname)r+�addr�svrcls�hdlrbaserArI�server�er
r
r�make_serverfs�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)rTr;�address_familyrMrrJ�	threading�Thread�
serve_forever�daemon�start�range�shutdown�join�server_closerLr4�fileno�HAVE_FORKING�
isinstance�socketserver�ForkingMixInZassertFalse�active_children)r+rPrQZtestfuncrRrO�t�ir
r
r�
run_server{s4�

�zSocketServerTest.run_servercCs�t�|tj��^}|�|�|�t�t|d�}}|rRd|vrRt|d�}||7}q2|�|t�Wd�n1sr0YdS�N�d�
)r4�SOCK_STREAM�connect�sendall�TEST_STRrrL�r+r:rO�s�buf�datar
r
r�stream_examine�s



zSocketServerTest.stream_examinecCs�t�|tj��t}tr.|tjkr.|�|�|��|�t|�t|d�}}|rhd|vrht|d�}||7}qH|�	|t�Wd�n1s�0YdSrq)
r4�
SOCK_DGRAM�HAVE_UNIX_SOCKETSr�bindr;�sendtorwrrLrxr
r
r�
dgram_examine�s

zSocketServerTest.dgram_examinecCs|�tjtj|j�dSr<)rprk�	TCPServer�StreamRequestHandlerr|r*r
r
r�test_TCPServer�s�zSocketServerTest.test_TCPServercCs|�tjtj|j�dSr<)rprkZThreadingTCPServerr�r|r*r
r
r�test_ThreadingTCPServer�s�z(SocketServerTest.test_ThreadingTCPServercCs@t|��$|�tjtj|j�Wd�n1s20YdSr<)r&rprkZForkingTCPServerr�r|r*r
r
r�test_ForkingTCPServer�s

�z&SocketServerTest.test_ForkingTCPServercCs|�tjtj|j�dSr<)rprk�UnixStreamServerr�r|r*r
r
r�test_UnixStreamServer�s�z&SocketServerTest.test_UnixStreamServercCs|�tjtj|j�dSr<)rprkZThreadingUnixStreamServerr�r|r*r
r
r�test_ThreadingUnixStreamServer�s�z/SocketServerTest.test_ThreadingUnixStreamServercCs>t|��"|�ttj|j�Wd�n1s00YdSr<)r&rprrkr�r|r*r
r
r�test_ForkingUnixStreamServer�s

�z-SocketServerTest.test_ForkingUnixStreamServercCs|�tjtj|j�dSr<)rprkZ	UDPServer�DatagramRequestHandlerr�r*r
r
r�test_UDPServer�s�zSocketServerTest.test_UDPServercCs|�tjtj|j�dSr<)rprkZThreadingUDPServerr�r�r*r
r
r�test_ThreadingUDPServer�s�z(SocketServerTest.test_ThreadingUDPServercCs@t|��$|�tjtj|j�Wd�n1s20YdSr<)r&rprkZForkingUDPServerr�r�r*r
r
r�test_ForkingUDPServer�s

�z&SocketServerTest.test_ForkingUDPServercCs|�tjtj|j�dSr<)rprk�UnixDatagramServerr�r�r*r
r
r�test_UnixDatagramServer�s�z(SocketServerTest.test_UnixDatagramServercCs|�tjtj|j�dSr<)rprkZThreadingUnixDatagramServerr�r�r*r
r
r� test_ThreadingUnixDatagramServer�s�z1SocketServerTest.test_ThreadingUnixDatagramServercCs|�ttj|j�dSr<)rprrkr�r�r*r
r
r�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>.MyServerNrr
r
r
rrAsrAc@seZdZdS)z1SocketServerTest.test_shutdown.<locals>.MyHandlerNrr
r
r
rrIsrI�rzMyServer servingrUrVrWT)rkr�r�rdr6r_r`rarbr9rcrerfrg)r+rArI�threadsroryrnr
r
r�
test_shutdown�s$�
zSocketServerTest.test_shutdowncCs4Gdd�dtjtj�}|tdfdd��}|��dS)Nc@seZdZdS)z9SocketServerTest.test_close_immediately.<locals>.MyServerNrr
r
r
rrAsrArcSsdSr<r
r
r
r
r�<lambda>�z9SocketServerTest.test_close_immediately.<locals>.<lambda>)rk�ThreadingMixInr�r6rg)r+rArRr
r
r�test_close_immediatelysz'SocketServerTest.test_close_immediatelyc	CsNtd�D]@}|�t��"t�tdftj�Wd�q1s>0YqdS)Nir\)rd�assertRaises�
OverflowErrorrkr�r6r�)r+ror
r
r�test_tcpserver_bind_leaks

�z)SocketServerTest.test_tcpserver_bind_leakcCsHt�tdftj��}Wd�n1s(0Y|�d|j���dS)Nrr\)rkr�r6r�rLr4rh)r+rRr
r
r�test_context_manager's
�z%SocketServerTest.test_context_managerN)rrr�__doc__r,r1r;rTrrpr|r�r�r��requires_forkingr��requires_unix_socketsr�r�r�r�r�r�r�r�r�r�r�r�r�r
r
r
rr'HsH
"








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<)r#r$�unlink�TESTFNr*r
r
rr13szErrorHandlerTest.tearDowncCstt�|jdd�dS�NT��handled)�BaseErrorTestServer�
ValueError�check_resultr*r
r
r�test_sync_handled6sz"ErrorHandlerTest.test_sync_handledcCsB|�t��tt�Wd�n1s(0Y|jdd�dS�NFr�)r��
SystemExitr�r�r*r
r
r�test_sync_not_handled:s&z&ErrorHandlerTest.test_sync_not_handledcCstt�|jdd�dSr�)�ThreadingErrorTestServerr�r�r*r
r
r�test_threading_handled?sz'ErrorHandlerTest.test_threading_handledcCstt�|jdd�dSr�)r�r�r�r*r
r
r�test_threading_not_handledCsz+ErrorHandlerTest.test_threading_not_handledcCstt�|jdd�dSr�)�ForkingErrorTestServerr�r�r*r
r
r�test_forking_handledGsz%ErrorHandlerTest.test_forking_handledcCstt�|jdd�dSr�)r�r�r�r*r
r
r�test_forking_not_handledLsz)ErrorHandlerTest.test_forking_not_handledcCsLttjj��,}dd|}|�|��|�Wd�n1s>0YdS)N�Handler called
�Error handled
)�openr#r$r�rL�read)r+r��log�expectedr
r
rr�QszErrorHandlerTest.check_resultN)
rrrr�r1r�r�r�r�r�r�r�r�r
r
r
rr�.s

r�cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)r�csp||_t��tdft�t�|j��Wd�n1s:0Yz|��W|�	�n
|�	�0|�
�dSr-)�	exception�super�__init__r6�
BadHandlerr4�create_connectionrM�handle_requestrg�	wait_done)r+r���	__class__r
rr�Xs
zBaseErrorTestServer.__init__cCs<ttjjd��}|�d�Wd�n1s.0YdS)N�ar�)r�r#r$r�rE)r+r>r?r�r
r
rr@csz BaseErrorTestServer.handle_errorcCsdSr<r
r*r
r
rr�gszBaseErrorTestServer.wait_done)rrrr�r@r��
__classcell__r
r
r�rr�Wsr�c@seZdZdd�ZdS)r�cCsHttjjd��}|�d�Wd�n1s.0Y|j�d��dS)Nr�r�z
Test error)r�r#r$r�rErRr�)r+r�r
r
rrGls(zBadHandler.handleNrHr
r
r
rr�ksr�cs0eZdZ�fdd�Z�fdd�Zdd�Z�ZS)r�cs t��|_t�j|i|��dSr<)r_�Eventr]r�r��r+�pos�kwr�r
rr�ts
z!ThreadingErrorTestServer.__init__cs t�j|i|��|j��dSr<)r��shutdown_requestr]�setr�r�r
rr�xsz)ThreadingErrorTestServer.shutdown_requestcCs|j��dSr<)r]�waitr*r
r
rr�|sz"ThreadingErrorTestServer.wait_done)rrrr�r�r�r�r
r
r�rr�rsr�c@seZdZdS)r�Nrr
r
r
rr��sr�c@seZdZdd�Zdd�ZdS)�SocketWriterTestcCs�Gdd�dtj�}t�tdf|�}|�|j�t�|jtjtj	�}|�|�
|j�Wd�n1sh0Y|��|�
|jtj�|�|j|j�dS)Nc@seZdZdd�ZdS)z-SocketWriterTest.test_basics.<locals>.HandlercSs*|j|j_|j��|j_|j��|j_dSr<)rDrRrh�wfile_filenor>�request_filenor*r
r
rrG�s
z4SocketWriterTest.test_basics.<locals>.Handler.handleNrHr
r
r
r�Handler�sr�r)rkr�r�r6�
addCleanuprgr4r^rt�IPPROTO_TCPrurMr�ZassertIsInstancerD�io�BufferedIOBaserLr�r�)r+r�rRryr
r
r�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
�)rDrErR�sent1rBrC�receivedr#r$�
SOCK_MAX_SIZE�sent2)r+Z	big_chunkr
r
rrG�sz3SocketWriterTest.test_write.<locals>.Handler.handleNrHr
r
r
rr��sr�rcs���dSr<)r�)�signum�frame)�interruptedr
r�signal_handler�sz3SocketWriterTest.test_write.<locals>.signal_handlerc	s�t��jtjtj�}|��|�d��d}|��j�|���|�d�|�	d���t
j��jt
d�d�rNqnqNt|�	���Wd�n1s�0YWd�n1s�0YdS)N�rb�client response
rr�)r)r4r^rtr��makefilerurMrCrvr�r�SIGUSR1r��float�len)ry�reader�r��main_threadr�Z	received2Z	response1rRr
r�
run_client�s�

z/SocketWriterTest.test_write.<locals>.run_client)rYr�r�rr)r#r$Z
get_attributerrkr�r�r6r�rgr_r�r��	get_identr`rcr�rfrLr�r�r�r�r�)r+r�r�Zoriginalr�Z
backgroundr
r�r�
test_write�s*zSocketWriterTest.test_writeN)rrrr�r�r
r
r
rr��sr�c@s$eZdZdd�Zdd�Zdd�ZdS)�MiscTestCasecCsRg}tt�D]2}|�d�stt|�}t|dd�dkr|�|�q|�tj|�dS)N�_rrk)r3rk�
startswith�getattrr9ZassertCountEqual�__all__)r+r�rXZ
mod_objectr
r
r�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=r
r
r�verify_request�szbMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.verify_requestrcSs |jd7_tj�||�dS)Nr�)�shutdown_calledrkr�r�)r+r>r
r
rr��szdMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.shutdown_requestN)rrrr�r�r�r
r
r
rrA�srArr�)rkr�r6r�r4r^rtrurM�closer�rLr�rg)r+rArRryr
r
r�4test_shutdown_request_called_if_verify_request_false�s	zAMiscTestCase.test_shutdown_request_called_if_verify_request_falsec	Cs�Gdd�dtjtj�}|tdftj�}td�D]8}t�|j��|�	�Wd�q.1s\0Yq.|�
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>.MyServerNrr
r
r
rrA�srAr�
N)rkr�r�r6r�rdr4r�rMr�Z
assertLessr�Z_threadsrg)r+rArRrr
r
r�test_threads_reaped�s(z MiscTestCase.test_threads_reapedN)rrrr�r�r�r
r
r
rr��s
r��__main__)4r��
contextlibr�r!�selectrr4r7r_ZunittestrkZtest.supportr#rrrrr$Zrequiresrwr6r
r~Z
skipUnlessr�rir�rrZ
SHORT_TIMEOUTrrlr�rr�r�contextmanagerr&ZTestCaser'r�r�r�ZBaseRequestHandlerr�r�r�r�r�r�r�mainr
r
r
r�<module>s`
�
��
g)�M2


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists