HEX
Server: Apache
System: Linux opal14.opalstack.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User: curbgloabal_opal (1234)
PHP: 8.1.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib64/python3.6/test/__pycache__/test_socketserver.cpython-36.pyc
3


 \vD�
@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Zddl
mZm
Z
mZyddlZWnek
r�dZYnXejjd�dZejjZeed�Zejed�Zeed�Zejed	�Zd
d�ZejZd'd
d�Zeo�e�r Gdd�de	je	j�Z Gdd�de	je	j!�Z"ej#dd��Z$ejed�Gdd�dej%��Z&Gdd�dej%�Z'Gdd�de	j(�Z)Gdd�de	j*�Z+Gdd�de	j,e)�Z-e�r�Gd d!�d!e	je)�Z.Gd"d#�d#ej%�Z/Gd$d%�d%ej%�Z0e1d&k�r�ej2�dS)(z
Test suite for socketserver.
�N)�
reap_children�reap_threads�verboseZnetworkshello world
�AF_UNIXzrequires Unix sockets�forkzrequires forkingcCsttd�rtj|�dS)z7Call signal.alarm when it exists (i.e. not on Windows).�alarmN)�hasattr�signalr)�n�r�)/usr/lib64/python3.6/test_socketserver.py�signal_alarm!s
r
�cCs:t|ggg|�\}}}||kr(|j|�Std|f��dS)Nztimed out on %r)�_real_selectZrecv�RuntimeError)Zsockr
�timeout�r�w�xrrr�receive)s
rc@seZdZdZdS)�ForkingUnixStreamServerTN)�__name__�
__module__�__qualname__�_block_on_closerrrrr1src@seZdZdZdS)�ForkingUnixDatagramServerTN)rrrrrrrrr5srccshtj�}|dkrtjd�zy
dVWn�YnXWdtj|d�\}}|j||�|jd|�XdS)zBTests that a custom child process is not waited on (Issue 1540386)r�HN�iH)�osr�_exit�waitpid�assertEqual)Ztestcase�pidZpid2Zstatusrrr�simple_subprocess:s

r#z!Threading required for this test.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�setUpOszSocketServerTest.setUpcCsTtd�t�x2|jD](}ytj|�Wqtk
r<YqXqWg|jdd�<dS)Nr)r
rr&r�remove�OSError)r'�fnrrr�tearDownTs
zSocketServerTest.tearDowncCs8|tjkrtdfSd}tjd|d�}|jj|�|SdS)Nrzunix_socket.)�prefix�dir)�socketZAF_INET�HOST�tempfileZmktempr&�append)r'�protor.r+rrr�pickaddr_s
zSocketServerTest.pickaddrcCsNGdd�d|�}Gdd�d|�}tr,td�|||�}|j|j|jj��|S)Nc@seZdZdZdd�ZdS)z.SocketServerTest.make_server.<locals>.MyServerTcSs|j|��dS)N)Z
close_request)r'�request�client_addressrrr�handle_errorns
z;SocketServerTest.make_server.<locals>.MyServer.handle_errorN)rrrrr7rrrr�MyServerksr8c@seZdZdd�ZdS)z/SocketServerTest.make_server.<locals>.MyHandlercSs|jj�}|jj|�dS)N)�rfile�readline�wfile�write)r'�linerrr�handless
z6SocketServerTest.make_server.<locals>.MyHandler.handleN)rrrr>rrrr�	MyHandlerrsr?zcreating server)r�printr!�server_addressr/Zgetsockname)r'�addr�svrcls�hdlrbaser8r?�serverrrr�make_serverjs
zSocketServerTest.make_servercCs�|j|j|j�||�}|j}tr4td|�td|�tjd||jddid�}d|_	|j
�trhtd�x*td	�D]}tr�td
|�||j|�qrWtr�td�|j�|j
�|j�|jd|jj��tr�t|tj�r�|j|j�tr�td
�dS)NzADDR =zCLASS =z
%s serving�
poll_intervalg{�G�z�?)�name�target�kwargsTzserver running�ztest clientzwaiting for server��done���)rFr4�address_familyrArr@�	threading�Thread�
serve_forever�daemon�start�range�shutdown�join�server_closer!r/�fileno�HAVE_FORKING�
isinstance�socketserver�ForkingMixInZassertFalseZactive_children)r'rCrDZtestfuncrErB�t�irrr�
run_server|s8


zSocketServerTest.run_servercCsltj|tj�}|j|�|jt�t|d�}}x"|rRd|krRt|d�}||7}q2W|j|t�|j�dS)N�d�
)r/�SOCK_STREAM�connect�sendall�TEST_STRrr!�close)r'r3rB�s�buf�datarrr�stream_examine�s


zSocketServerTest.stream_examinecCs�tj|tj�}tr,|tjkr,|j|j|��|jt|�t|d�}}x"|rhd|krht|d�}||7}qHW|j	|t�|j
�dS)Nrarb)r/Z
SOCK_DGRAM�HAVE_UNIX_SOCKETSrZbindr4Zsendtorfrr!rg)r'r3rBrhrirjrrr�
dgram_examine�s
zSocketServerTest.dgram_examinecCs|jtjtj|j�dS)N)r`r\�	TCPServer�StreamRequestHandlerrk)r'rrr�test_TCPServer�szSocketServerTest.test_TCPServercCs|jtjtj|j�dS)N)r`r\ZThreadingTCPServerrork)r'rrr�test_ThreadingTCPServer�sz(SocketServerTest.test_ThreadingTCPServercCs,t|��|jtjtj|j�WdQRXdS)N)r#r`r\ZForkingTCPServerrork)r'rrr�test_ForkingTCPServer�s
z&SocketServerTest.test_ForkingTCPServercCs|jtjtj|j�dS)N)r`r\�UnixStreamServerrork)r'rrr�test_UnixStreamServer�sz&SocketServerTest.test_UnixStreamServercCs|jtjtj|j�dS)N)r`r\ZThreadingUnixStreamServerrork)r'rrr�test_ThreadingUnixStreamServer�sz/SocketServerTest.test_ThreadingUnixStreamServercCs*t|��|jttj|j�WdQRXdS)N)r#r`rr\rork)r'rrr�test_ForkingUnixStreamServer�s
z-SocketServerTest.test_ForkingUnixStreamServercCs|jtjtj|j�dS)N)r`r\Z	UDPServer�DatagramRequestHandlerrm)r'rrr�test_UDPServer�szSocketServerTest.test_UDPServercCs|jtjtj|j�dS)N)r`r\ZThreadingUDPServerrwrm)r'rrr�test_ThreadingUDPServer�sz(SocketServerTest.test_ThreadingUDPServercCs,t|��|jtjtj|j�WdQRXdS)N)r#r`r\ZForkingUDPServerrwrm)r'rrr�test_ForkingUDPServer�s
z&SocketServerTest.test_ForkingUDPServercCs|jtjtj|j�dS)N)r`r\�UnixDatagramServerrwrm)r'rrr�test_UnixDatagramServer�sz(SocketServerTest.test_UnixDatagramServercCs|jtjtj|j�dS)N)r`r\ZThreadingUnixDatagramServerrwrm)r'rrr� test_ThreadingUnixDatagramServer�sz1SocketServerTest.test_ThreadingUnixDatagramServercCs|jttj|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|_|j	||f�q2Wx |D]\}}|j
�|j�qxWx |D]\}}|j�|j
�q�WdS)Nc@seZdZdS)z0SocketServerTest.test_shutdown.<locals>.MyServerN)rrrrrrrr8sr8c@seZdZdS)z1SocketServerTest.test_shutdown.<locals>.MyHandlerN)rrrrrrrr?sr?rrzMyServer servingrGg{�G�z�?)rHrIrJT)r\rnrorUr0rPrQrRrSr2rTrVrWrX)r'r8r?Zthreadsr_rhr^rrr�
test_shutdown�s"zSocketServerTest.test_shutdowncCs>x8td�D],}|jt��tjtdftj�WdQRXq
WdS)NirLrN)rU�assertRaises�
OverflowErrorr\rnr0ro)r'r_rrr�test_tcpserver_bind_leaks
z)SocketServerTest.test_tcpserver_bind_leakc
Cs4tjtdftj��}WdQRX|jd|jj��dS)NrrLrN)r\rnr0ror!r/rY)r'rErrr�test_context_manager#s


z%SocketServerTest.test_context_managerN)rrr�__doc__r(r,r4rFrr`rkrmrprq�requires_forkingrr�requires_unix_socketsrtrurvrxryrzr|r}r~rr�r�rrrrr$Ks2#
r$c@speZdZdZdd�Zdd�Zdd�Zeje	d�d	d
��Z
eje	d�dd��Zed
d��Z
edd��Zdd�ZdS)�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.cCstjjtjj�t�dS)N)�test�support�unlink�TESTFNr)r'rrrr,/szErrorHandlerTest.tearDowncCstt�|jdd�dS)NT)�handled)�BaseErrorTestServer�
ValueError�check_result)r'rrr�test_sync_handled3sz"ErrorHandlerTest.test_sync_handledc
Cs.|jt��tt�WdQRX|jdd�dS)NF)r�)r��
SystemExitr�r�)r'rrr�test_sync_not_handled7sz&ErrorHandlerTest.test_sync_not_handledz!Threading required for this test.cCstt�|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_handledAsz+ErrorHandlerTest.test_threading_not_handledcCstt�|jdd�dS)NT)r�)�ForkingErrorTestServerr�r�)r'rrr�test_forking_handledFsz%ErrorHandlerTest.test_forking_handledcCstt�|jdd�dS)NF)r�)r�r�r�)r'rrr�test_forking_not_handledKsz)ErrorHandlerTest.test_forking_not_handledc
Cs8ttjj��"}dd|}|j|j�|�WdQRXdS)NzHandler called
zError handled
)�openr�r�r�r!�read)r'r��log�expectedrrrr�PszErrorHandlerTest.check_resultN)rrrr�r,r�r��unittest�
skipUnlessrPr�r�r�r�r�r�rrrrr�*sr�cs0eZdZdZ�fdd�Zdd�Zdd�Z�ZS)r�TcsT||_t�jtdft�tj|j��WdQRXz|j�Wd|j	�X|j
�dS)Nr)�	exception�super�__init__r0�
BadHandlerr/Zcreate_connectionrA�handle_requestrX�	wait_done)r'r�)�	__class__rrr�Ys

zBaseErrorTestServer.__init__c	Cs(ttjjd��}|jd�WdQRXdS)N�azError handled
)r�r�r�r�r<)r'r5r6r�rrrr7dsz BaseErrorTestServer.handle_errorcCsdS)Nr)r'rrrr�hszBaseErrorTestServer.wait_done)rrrrr�r7r��
__classcell__rr)r�rr�Vsr�c@seZdZdd�ZdS)r�c	Cs4ttjjd��}|jd�WdQRX|jjd��dS)Nr�zHandler called
z
Test error)r�r�r�r�r<rEr�)r'r�rrrr>mszBadHandler.handleN)rrrr>rrrrr�lsr�cs0eZdZ�fdd�Z�fdd�Zdd�Z�ZS)r�cstj�|_t�j||�dS)N)rP�EventrMr�r�)r'�pos�kw)r�rrr�us
z!ThreadingErrorTestServer.__init__cst�j||�|jj�dS)N)r��shutdown_requestrM�set)r'r�r�)r�rrr�ysz)ThreadingErrorTestServer.shutdown_requestcCs|jj�dS)N)rM�wait)r'rrrr�}sz"ThreadingErrorTestServer.wait_done)rrrr�r�r�r�rr)r�rr�ssr�c@seZdZdZdS)r�TN)rrrrrrrrr��sr�c@s(eZdZdd�Zejed�dd��ZdS)�SocketWriterTestc
Cs�Gdd�dtj�}tjtdf|�}|j|j�tj|jtjtj	�}|�|j
|j�WdQRX|j�|j
|jtj�|j|j|j�dS)Nc@seZdZdd�ZdS)z-SocketWriterTest.test_basics.<locals>.HandlercSs*|j|j_|jj�|j_|jj�|j_dS)N)r;rErY�wfile_filenor5�request_fileno)r'rrrr>�s
z4SocketWriterTest.test_basics.<locals>.Handler.handleN)rrrr>rrrr�Handler�sr�r)r\rornr0�
addCleanuprXr/rOrc�IPPROTO_TCPrdrAr�ZassertIsInstancer;�io�BufferedIOBaser!r�r�)r'r�rErhrrr�test_basics�szSocketWriterTest.test_basicsz!Threading required for this test.cstjjtd��Gdd�dtj�}tjtdf|��|j�j	�t
j���fdd�}tjtj|�}|jtjtj|�d�d�t
j
��������fdd�}t
j|d	�}|j��j�|j�|j�jt���|j�d
�|j�jd�|j�jtjj�|j�tjjd�dS)
N�pthread_killc@seZdZdd�ZdS)z,SocketWriterTest.test_write.<locals>.HandlercSs>|jjd�|j_|jj�|j_dtjj	}|jj|�|j_
dS)Nswrite data
�)r;r<rE�sent1r9r:�receivedr�r��
SOCK_MAX_SIZE�sent2)r'Z	big_chunkrrrr>�sz3SocketWriterTest.test_write.<locals>.Handler.handleN)rrrr>rrrrr��sr�rcs�j�dS)N)r�)Zsignum�frame)�interruptedrr�signal_handler�sz3SocketWriterTest.test_write.<locals>.signal_handlercs�tj�jtjtj�}|�t|jd��^}|j�j�|j��|jd�|j	d�x"��t
j��jt
d�d�rPPqPWt|j	���WdQRXWdQRXdS)N�rbsclient response
rarL)r)r/rOrcr��makefilerdrAr:rer�r	�SIGUSR1r��float�len)rh�reader)r��main_threadr��	received2�	response1rErr�
run_client�s

z/SocketWriterTest.test_write.<locals>.run_client)rIswrite data
sclient response
ra)r�r�Z
get_attributer	r\rornr0r�rXrPr�r��	get_identrQrTr�rWr!r�r�r�r�r�)r'r�r�Zoriginalr�Z
backgroundr)r�r�r�r�r�rEr�
test_write�s*zSocketWriterTest.test_writeN)rrrr�r�r�rPr�rrrrr��sr�c@seZdZdd�Zdd�ZdS)�MiscTestCasecCsVg}x>tt�D]2}|jd�stt|�}t|dd�dkr|j|�qW|jtj|�dS)N�_rr\)r.r\�
startswith�getattrr2ZassertCountEqual�__all__)r'r�rHZ
mod_objectrrr�test_all�s

zMiscTestCase.test_allcCshGdd�dtj�}|tdftj�}tj|jtj�}|j|j�|j	�|j
�|j|jd�|j
�dS)Nc@s eZdZdd�ZdZdd�ZdS)zSMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServercSsdS)NFr)r'r5r6rrr�verify_request�szbMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.verify_requestrcSs |jd7_tjj||�dS)NrL)�shutdown_calledr\rnr�)r'r5rrrr��szdMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.shutdown_requestN)rrrr�r�r�rrrrr8�sr8rrL)r\rnr0ror/rOrcrdrArgr�r!r�rX)r'r8rErhrrr�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)3r��
contextlibr�rZselectr	r/r1r�r\Ztest.supportr�rrrrP�ImportErrorr�Zrequiresrfr0rrlr�r�rZr�r
rrr]rsrr{r�contextmanagerr#ZTestCaser$r�rnr�ZBaseRequestHandlerr�ZThreadingMixInr�r�r�r�r�mainrrrr�<module>s\





_,
N"