Sindbad~EG File Manager

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

�

SԚg�F���dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
mZddlmZddlmZddlmZej�d��ej�d�	��d
ZejZeed��Ze	jed��ZejjZe	jed
��ZejZejjfd�Z er4er2Gd�de
j!e
j"��Z#Gd�de
j!e
j$��Z%ej&d���Z'Gd�de	j(��Z)Gd�de	j(��Z*Gd�de
j+��Z,Gd�de
j-��Z.Gd�de
j/e,��Z0erGd�de
j!e,��Z1Gd �d!e	j(��Z2Gd"�d#e	j(��Z3e4d$kre	j5��dSdS)%z
Test suite for socketserver.
�N)�
reap_children�verbose)�	os_helper)�
socket_helper)�threading_helper�networkT)�moduleshello world
�AF_UNIXzrequires Unix socketszrequires forkingc��t|ggg|��\}}}||vr|�|��Std|�����)Nz
timed out on )�_real_select�recv�RuntimeError)�sock�n�timeout�r�w�xs      �3/usr/local/lib/python3.11/test/test_socketserver.py�receiver'sK���D�6�2�r�7�3�3�G�A�q�!��q�y�y��y�y��|�|���l���6�7�7�7�c��eZdZdS)�ForkingUnixStreamServerN��__name__�
__module__�__qualname__�rrrr/��������rrc��eZdZdS)�ForkingUnixDatagramServerNrrrrr!r!3rrr!c#�K�tj��}|dkrtjd��	dV�n#�xYw	tj�|d���dS#tj�|d���wxYw)zBTests that a custom child process is not waited on (Issue 1540386)r�HN)�exitcode)�os�fork�_exit�test�support�wait_process)�testcase�pids  r�simple_subprocessr-8s�����
�'�)�)�C�
�a�x�x�
������4��
�
�
�
���
����	�	
��!�!�#��!�3�3�3�3�3����!�!�#��!�3�3�3�3���s�6�A �9�A � #Bc�p�eZdZdZd�Zd�Zd�Zd�Zej	d���Z
d�Zd�Zd	�Z
d
�Zed���Zed���Zed
���Zeed�����Zd�Zd�Zed���Zed���Zed���Zeed�����Zej	d���Zd�Zd�Zd�ZdS)�SocketServerTestzTest all socket servers.c�"�d|_g|_dS�Nr)�	port_seed�
test_files��selfs r�setUpzSocketServerTest.setUpJs���������rc��t��|jD]'}	tj|���#t$rY�$wxYwg|jdd�<dS�N)rr3r%�remove�OSError)r5�fns  r�tearDownzSocketServerTest.tearDownNsf�������/�	�	�B�
��	�"�
�
�
�
���
�
�
���
������������s�.�
;�;c��|tjkr	tdfSd}tjd|���}|j�|��|S)Nrzunix_socket.)�prefix�dir)�socket�AF_INET�HOST�tempfile�mktempr3�append)r5�protor?r;s    r�pickaddrzSocketServerTest.pickaddrXsO���F�N�"�"��!�9���C����C�@�@�@�B��O�"�"�2�&�&�&��Irc	�T�Gd�d|��}Gd�d|��}trtd��	|||��}n5#t$r(}|�d|�d|�d|����Yd}~nd}~wwxYw|�|j|j�����|S)	Nc��eZdZd�ZdS)�.SocketServerTest.make_server.<locals>.MyServerc�.�|�|���r8)�
close_request�r5�request�client_addresss   r�handle_errorz;SocketServerTest.make_server.<locals>.MyServer.handle_errores���"�"�7�+�+�+�rN)rrrrPrrr�MyServerrJds#������
�
�
�
�
rrQc��eZdZd�ZdS)�/SocketServerTest.make_server.<locals>.MyHandlerc�l�|j���}|j�|��dSr8)�rfile�readline�wfile�write)r5�lines  r�handlez6SocketServerTest.make_server.<locals>.MyHandler.handlejs1���z�*�*�,�,���
� � ��&�&�&�&�&rN�rrrrZrrr�	MyHandlerrSis#������
'�
'�
'�
'�
'rr\zcreating serverzCannot create server (z, z): )r�print�PermissionError�skipTest�assertEqual�server_addressr@�getsockname)r5�addr�svrcls�hdlrbaserQr\�server�es        r�make_serverzSocketServerTest.make_servercs��	�	�	�	�	�v�	�	�	�
	'�	'�	'�	'�	'��	'�	'�	'�
�,�E�+�,�,�,�	-��X�d�I�.�.�F�F���	-�	-�	-��M�M�M�!�6�6�4�4�4���,�
-�
-�
-�
-�
-�
-�
-�
-�����	-����	
����.��
�0I�0I�0K�0K�L�L�L��
s�A�
A3�A.�.A3c�|�|�|�|j��||��}|j}tr td|��td|��t
jd|z|jddi���}d|_	|�
��trtd��td	��D]*}trtd
|��||j|���+trtd��|���|�
��|���|�d|j�����t$r4t'|t(j��r|�|j��trtd
��dSdS)NzADDR =zCLASS =z
%s serving�
poll_interval�{�G�z�?��name�target�kwargsTzserver running�ztest clientzwaiting for server����done)rhrG�address_familyrarr]�	threading�Thread�
serve_forever�daemon�start�range�shutdown�join�server_closer`r@�fileno�HAVE_FORKING�
isinstance�socketserver�ForkingMixIn�assertFalse�active_children)r5rdre�testfuncrfrc�t�is        r�
run_serverzSocketServerTest.run_serverxs����!�!�$�-�-��0E�"F�"F�"(�(�4�4���$���	%��(�D�!�!�!��)�V�$�$�$�����&��'�$�D�)�

+�
+�
+�����	���	�	�	��+�E�*�+�+�+��q���	2�	2�A��/��m�Q�/�/�/��H�V�*�D�1�1�1�1��/�E�.�/�/�/�������	����������������V�]�1�1�3�3�4�4�4��	5�J�v�|�/H�I�I�	5�
���V�3�4�4�4��!�E�&�M�M�M�M�M�!�!rc�p�tj|tj��5}|�|��|�t��t|d��x}}|rd|vrt|d��}||z
}|rd|v�|�|t��ddd��dS#1swxYwYdS�N�d�
)r@�SOCK_STREAM�connect�sendall�TEST_STRrr`�r5rFrc�s�buf�datas      r�stream_examinezSocketServerTest.stream_examine�s���
�]�5�&�"4�
5�
5�	,��
�I�I�d�O�O�O�
�I�I�h���� ��C���(�C�$��
�5��+�+��q�#�����t����
�5��+�+�
���S�(�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�A>B+�+B/�2B/c���tj|tj��5}tr8|tjkr(|�|�|����|�t|��t|d��x}}|rd|vrt|d��}||z
}|rd|v�|�	|t��ddd��dS#1swxYwYdSr�)
r@�
SOCK_DGRAM�HAVE_UNIX_SOCKETSr
�bindrG�sendtor�rr`r�s      r�
dgram_examinezSocketServerTest.dgram_examine�s$��
�]�5�&�"3�
4�
4�	,�� �
-�U�f�n�%<�%<����t�}�}�U�+�+�,�,�,�
�H�H�X�t�$�$�$� ��C���(�C�$��
�5��+�+��q�#�����t����
�5��+�+�
���S�(�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�B)C�C�Cc�f�|�tjtj|j��dSr8)r�r��	TCPServer�StreamRequestHandlerr�r4s r�test_TCPServerzSocketServerTest.test_TCPServer�s3������.�$�9��+�	-�	-�	-�	-�	-rc�f�|�tjtj|j��dSr8)r�r��ThreadingTCPServerr�r�r4s r�test_ThreadingTCPServerz(SocketServerTest.test_ThreadingTCPServer�s3������7�$�9��+�	-�	-�	-�	-�	-rc��t|��5|�tjtj|j��ddd��dS#1swxYwYdSr8)r-r�r��ForkingTCPServerr�r�r4s r�test_ForkingTCPServerz&SocketServerTest.test_ForkingTCPServer�s���
�t�
$�
$�	1�	1��O�O�L�9�(�=� �/�
1�
1�
1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1��1A�A�Ac�f�|�tjtj|j��dSr8)r�r��UnixStreamServerr�r�r4s r�test_UnixStreamServerz&SocketServerTest.test_UnixStreamServer�s3������5�$�9��+�	-�	-�	-�	-�	-rc�f�|�tjtj|j��dSr8)r�r��ThreadingUnixStreamServerr�r�r4s r�test_ThreadingUnixStreamServerz/SocketServerTest.test_ThreadingUnixStreamServer�s3������>�$�9��+�	-�	-�	-�	-�	-rc��t|��5|�ttj|j��ddd��dS#1swxYwYdSr8)r-r�rr�r�r�r4s r�test_ForkingUnixStreamServerz-SocketServerTest.test_ForkingUnixStreamServer�s����t�
$�
$�	1�	1��O�O�3�(�=� �/�
1�
1�
1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1s�,A	�	A
�A
c�f�|�tjtj|j��dSr8)r�r��	UDPServer�DatagramRequestHandlerr�r4s r�test_UDPServerzSocketServerTest.test_UDPServer�s3������.�$�;��*�	,�	,�	,�	,�	,rc�f�|�tjtj|j��dSr8)r�r��ThreadingUDPServerr�r�r4s r�test_ThreadingUDPServerz(SocketServerTest.test_ThreadingUDPServer�s3������7�$�;��*�	,�	,�	,�	,�	,rc��t|��5|�tjtj|j��ddd��dS#1swxYwYdSr8)r-r�r��ForkingUDPServerr�r�r4s r�test_ForkingUDPServerz&SocketServerTest.test_ForkingUDPServer�s���
�t�
$�
$�	0�	0��O�O�L�9�(�?� �.�
0�
0�
0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0r�c�f�|�tjtj|j��dSr8)r�r��UnixDatagramServerr�r�r4s r�test_UnixDatagramServerz(SocketServerTest.test_UnixDatagramServer�s3������7�$�;��*�	,�	,�	,�	,�	,rc�f�|�tjtj|j��dSr8)r�r��ThreadingUnixDatagramServerr�r�r4s r� test_ThreadingUnixDatagramServerz1SocketServerTest.test_ThreadingUnixDatagramServer�s3������@�$�;��*�	,�	,�	,�	,�	,rc�\�|�ttj|j��dSr8)r�r!r�r�r�r4s r�test_ForkingUnixDatagramServerz/SocketServerTest.test_ForkingUnixDatagramServer�s3��	
���1�$�;��*�	,�	,�	,�	,�	,rc���Gd�dtj��}Gd�dtj��}g}td��D]Q}|tdf|��}tjd|jdd	i�
��}d|_|�	||f���R|D]-\}}|�
��|����.|D]-\}}|���|�
���.dS)Nc��eZdZdS)�0SocketServerTest.test_shutdown.<locals>.MyServerNrrrrrQr����������DrrQc��eZdZdS)�1SocketServerTest.test_shutdown.<locals>.MyHandlerNrrrrr\r�r�rr\�rzMyServer servingrjrkrlT)r�r�r�ryrBrtrurvrwrErxrzr{r|)r5rQr\�threadsr�r�r�s       r�
test_shutdownzSocketServerTest.test_shutdown�sB��	�	�	�	�	�|�-�	�	�	�	�	�	�	�	��9�	�	�	����r���	#�	#�A���$���I�.�.�A�� �'���'��-�/�/�/�A��A�H��N�N�A�q�6�"�"�"�"��	�	�D�A�q�
�G�G�I�I�I�
�J�J�L�L�L�L��	�	�D�A�q�
�F�F�H�H�H�
�N�N�����	�	rc��Gd�dtjtj��}|tdfd���}|���dS)Nc��eZdZdS)�9SocketServerTest.test_close_immediately.<locals>.MyServerNrrrrrQr�r�rrQrc��dSr8rrrr�<lambda>z9SocketServerTest.test_close_immediately.<locals>.<lambda>s��T�r)r��ThreadingMixInr�rBr|)r5rQrfs   r�test_close_immediatelyz'SocketServerTest.test_close_immediatelyse��	�	�	�	�	�|�2�L�4J�	�	�	���4��)�\�\�2�2���������rc���td��D]Z}|�t��5tjt
dftj��ddd��n#1swxYwY�[dS)Nirq)ry�assertRaises�
OverflowErrorr�r�rBr�)r5r�s  r�test_tcpserver_bind_leakz)SocketServerTest.test_tcpserver_bind_leaks���
�t���	J�	J�A��"�"�=�1�1�
J�
J��&��b�z�'3�'H�J�J�J�
J�
J�
J�
J�
J�
J�
J�
J�
J�
J�
J����
J�
J�
J�
J��	J�	Js�'A�A#	�&A#	c���tjtdftj��5}	ddd��n#1swxYwY|�d|j�����dS)Nrrq)r�r�rBr�r`r@r})r5rfs  r�test_context_managerz%SocketServerTest.test_context_manager$s���
�
#�T�1�I�$0�$E�G�G�	�JP��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����V�]�1�1�3�3�4�4�4�4�4s�5�9�9N)rrr�__doc__r6r<rGrhr�reap_threadsr�r�r�r�r��requires_forkingr��requires_unix_socketsr�r�r�r�r�r�r�r�r�r�r�r�r�rrrr/r/Gs������"�"���� � � �	�	�	����*�"� "� "�#�"� "�D,�,�,�	,�	,�	,�-�-�-�
-�-�-�
�1�1���1��-�-���-�
�-�-���-�
��1�1�����1�,�,�,�
,�,�,�
�0�0���0��,�,���,�
�,�,���,�
��,�,�����,�
�"���#�"��2���J�J�J�5�5�5�5�5rr/c�b�eZdZdZd�Zd�Zd�Zd�Zd�Ze	d���Z
e	d���Zd	�Zd
S)�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.c�B�tjtj��dSr8)r�unlink�TESTFNr4s rr<zErrorHandlerTest.tearDown0s�����)�*�*�*�*�*rc�Z�tt��|�d���dS�NT��handled)�BaseErrorTestServer�
ValueError�check_resultr4s r�test_sync_handledz"ErrorHandlerTest.test_sync_handled3s-���J�'�'�'����$��'�'�'�'�'rc��|�t��5tt��ddd��n#1swxYwY|�d���dS�NFr�)r��
SystemExitr�r�r4s r�test_sync_not_handledz&ErrorHandlerTest.test_sync_not_handled7s���
�
�
�z�
*�
*�	,�	,��
�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,����%��(�(�(�(�(s�<�A�Ac�Z�tt��|�d���dSr�)�ThreadingErrorTestServerr�r�r4s r�test_threading_handledz'ErrorHandlerTest.test_threading_handled<s-�� ��,�,�,����$��'�'�'�'�'rc���tj��5}tt��|�d���|�|jt��ddd��dS#1swxYwYdSr�)r�catch_threading_exceptionr�r�r��assertIs�exc_type)r5�cms  r�test_threading_not_handledz+ErrorHandlerTest.test_threading_not_handled@s���
�
7�
9�
9�	3�R�$�Z�0�0�0����e��,�,�,��M�M�"�+�z�2�2�2�		3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s�AA,�,A0�3A0c�Z�tt��|�d���dSr�)�ForkingErrorTestServerr�r�r4s r�test_forking_handledz%ErrorHandlerTest.test_forking_handledGs-���z�*�*�*����$��'�'�'�'�'rc�Z�tt��|�d���dSr�)r�r�r�r4s r�test_forking_not_handledz)ErrorHandlerTest.test_forking_not_handledLs-���z�*�*�*����%��(�(�(�(�(rc���ttj��5}dd|zz}|�|���|��ddd��dS#1swxYwYdS)N�Handler called
�Error handled
)�openrr�r`�read)r5r��log�expecteds    rr�zErrorHandlerTest.check_resultQs���
�)�"�
#�
#�	3�s�)�,=��,G�G�H����S�X�X�Z�Z��2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s�1A�A�AN)
rrrr�r<r�r�r�r�r�r�r�r�rrrr�r�+s�������)�)�+�+�+�(�(�(�)�)�)�
(�(�(�3�3�3��(�(���(��)�)���)�3�3�3�3�3rr�c�*��eZdZ�fd�Zd�Zd�Z�xZS)r�c���||_t���tdft��tj|j��5	ddd��n#1swxYwY	|���|�	��n#|�	��wxYw|�
��dSr1)�	exception�super�__init__rB�
BadHandlerr@�create_connectionra�handle_requestr|�	wait_done)r5r�	__class__s  �rrzBaseErrorTestServer.__init__Xs����"���
�����$���J�/�/�/�
�
%�d�&9�
:�
:�	�	��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	 ����!�!�!���������D�����������������s�A�A"�%A"�*B�B)c��ttjd��5}|�d��ddd��dS#1swxYwYdS)N�ar�)r�rr�rX)r5rNrOr�s    rrPz BaseErrorTestServer.handle_errorcs���
�)�"�C�
(�
(�	)�C��I�I�'�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)s�>�A�Ac��dSr8rr4s rrzBaseErrorTestServer.wait_donegs���r)rrrrrPr�
__classcell__�r	s@rr�r�WsV�������	�	�	�	�	�)�)�)�
�
�
�
�
�
�
rr�c��eZdZd�ZdS)rc���ttjd��5}|�d��ddd��n#1swxYwY|j�d���)Nrr�z
Test error)r�rr�rXrfr)r5r�s  rrZzBadHandler.handlels���
�)�"�C�
(�
(�	*�C��I�I�(�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*��k�#�#�L�1�1�1s�=�A�ANr[rrrrrks#������2�2�2�2�2rrc�.��eZdZ�fd�Z�fd�Zd�Z�xZS)r�c�j��tj��|_t��j|i|��dSr8)rt�Eventrrrr�r5�pos�kwr	s   �rrz!ThreadingErrorTestServer.__init__ts4����O�%�%��	������#�$��$�$�$�$�$rc�l��t��j|i|��|j���dSr8)r�shutdown_requestrr�setrs   �rrz)ThreadingErrorTestServer.shutdown_requestxs2��� ���� �#�,��,�,�,��	�
�
�����rc�8�|j���dSr8)rr�waitr4s rrz"ThreadingErrorTestServer.wait_done|s���	�������r)rrrrrrr
rs@rr�r�rs`�������%�%�%�%�%������������rr�c��eZdZdS)r�Nrrrrr�r��s�������rr�c��eZdZd�Zd�ZdS)�SocketWriterTestc��Gd�dtj��}tjtdf|��}|�|j��t
j|jtjtj	��}|5|�
|j��ddd��n#1swxYwY|���|�
|jtj��|�|j|j��dS)Nc��eZdZd�ZdS)�-SocketWriterTest.test_basics.<locals>.Handlerc��|j|j_|j���|j_|j���|j_dSr8)rWrfr}�wfile_filenorN�request_filenor4s rrZz4SocketWriterTest.test_basics.<locals>.Handler.handle�sD��$(�J���!�+/�:�+<�+<�+>�+>���(�-1�\�-@�-@�-B�-B���*�*�*rNr[rrr�Handlerr!�s(������
C�
C�
C�
C�
Crr%r)r�r�r�rB�
addCleanupr|r@rsr��IPPROTO_TCPr�rar�assertIsInstancerW�io�BufferedIOBaser`r#r$)r5r%rfr�s    r�test_basicszSocketWriterTest.test_basics�sF��	C�	C�	C�	C�	C�l�7�	C�	C�	C��'��q�	�7�;�;������+�,�,�,��M��!�6�#5�v�7I�
K�
K��
�	-�	-�
�I�I�f�+�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-����������f�l�B�,=�>�>�>�����,�f�.C�D�D�D�D�Ds�B'�'B+�.B+c�����	�
��tj�td���Gd�dtj��}t	jtdf|���|��j	��tj����fd�}tjtj|��}|�tjtj|��d�
d�	tj
�������	�
�fd�}tj|���}|�������|���|��jt)�
����|��
d��|��jd	��|��jtjj��|��	tjjd
z
��dS)N�pthread_killc��eZdZd�ZdS)�,SocketWriterTest.test_write.<locals>.Handlerc��|j�d��|j_|j���|j_dtjj	z}|j�|��|j_
dS)N�write data
�)rWrXrf�sent1rUrV�receivedr(r)�
SOCK_MAX_SIZE�sent2)r5�	big_chunks  rrZz3SocketWriterTest.test_write.<locals>.Handler.handle�sc��$(�J�$4�$4�_�$E�$E���!�'+�z�':�':�'<�'<���$�!�D�L�$>�>�	�$(�J�$4�$4�Y�$?�$?���!�!�!rNr[rrrr%r/�s(������
@�
@�
@�
@�
@rr%rc�0������dSr8)r)�signum�frame�interrupteds  �r�signal_handlerz3SocketWriterTest.test_write.<locals>.signal_handler�s����O�O�����rc�`��tj�jtjtj��}|5|�d��5}|��j��|����|�d��|�	d��	��tj����td�����rn�;t|�	�����ddd��n#1swxYwYddd��dS#1swxYwYdS)N�rb�client response
r�T�)r)r@rsr�r'�makefiler�rarVr�r��signal�SIGUSR1r�float�len)r��readerr;�main_threadr-�	received2�	response1rfs  ������r�
run_clientz/SocketWriterTest.test_write.<locals>.run_client�s�����
�f�3�V�5G��"�$�$�A��
/�
/�A�J�J�t�$�$�
/���	�	�&�/�0�0�0�"�O�O�-�-�	��	�	�.�/�/�/����C� � � �� �L��f�n�=�=�=�"�'�'��a���'�9�9����
 ����
�
�.�.�	�#
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/����
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/����
/�
/�
/�
/�
/�
/s6�D#�	B6D�?D#�D	�D#�D	�D#�#D'�*D')rnr1r?r�)r(r)�
get_attributerBr�r�r�rBr&r|rtrrC�	get_identrurxrr{r`r3rEr4r6r5)r5r%r<�originalrJ�
backgroundr;rGr-rHrIrfs      @@@@@@r�
test_writezSocketWriterTest.test_write�s����������|�1�1�&�.�I�I��	@�	@�	@�	@�	@�l�7�	@�	@�	@��'��q�	�7�;�;������+�,�,�,��o�'�'��	�	�	�	�	��=����@�@������
�v�~�x�@�@�@��	��	��)�+�+��	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�,�%�Z�8�8�8�
������������������������s�9�~�~�6�6�6�����O�4�4�4������*>�?�?�?������t�|�'A�B�B�B�����D�L�$>��$D�E�E�E�E�ErN)rrrr+rOrrrrr�s:������E�E�E�"8F�8F�8F�8F�8Frrc� �eZdZd�Zd�Zd�ZdS)�MiscTestCasec� �g}tt��D]V}|�d��s?tt|��}t|dd��dkr|�|���W|�tj|��dS)N�_rr�)r?r��
startswith�getattrrE�assertCountEqual�__all__)r5r�rm�
mod_objects    r�test_allzMiscTestCase.test_all�s�������%�%�	*�	*�D��?�?�3�'�'�
*�$�\�4�8�8�
��:�|�T�:�:�n�L�L��O�O�D�)�)�)�����l�2�H�=�=�=�=�=rc��Gd�dtj��}|tdftj��}t	j|jtj��}|�|j��|�	��|�
��|�|jd��|�
��dS)Nc��eZdZd�ZdZd�ZdS)�SMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServerc��dS)NFrrMs   r�verify_requestzbMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.verify_request�s���urrc�f�|xjdz
c_tj�||��dS)Nr@)�shutdown_calledr�r�r)r5rNs  rrzdMiscTestCase.test_shutdown_request_called_if_verify_request_false.<locals>.MyServer.shutdown_request�s5���$�$��)�$�$��&�7�7��g�F�F�F�F�FrN)rrrr^r`rrrrrQr\�s>������
�
�
� �O�
G�
G�
G�
G�
GrrQrr@)r�r�rBr�r@rsr�r�ra�closerr`r`r|)r5rQrfr�s    r�4test_shutdown_request_called_if_verify_request_falsezAMiscTestCase.test_shutdown_request_called_if_verify_request_false�s���	G�	G�	G�	G�	G�|�-�	G�	G�	G���4��)�\�%F�G�G���M�&�/��1C�D�D��	�	�	�&�'�(�(�(�	���	�	�	�����������/��3�3�3��������rc��Gd�dtjtj��}|tdftj��}td��D]G}t
j|j��5|�	��ddd��n#1swxYwY�H|�
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��eZdZdS)�2MiscTestCase.test_threads_reaped.<locals>.MyServerNrrrrrQre�r�rrQr�
N)r�r�r�rBr�ryr@rrar�
assertLessrE�_threadsr|)r5rQrfrs    r�test_threads_reapedz MiscTestCase.test_threads_reaped�s��	�	�	�	�	�|�2�L�4J�	�	�	���4��)�\�%F�G�G���r���	(�	(�A��)�&�*?�@�@�
(�
(��%�%�'�'�'�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(������F�O�,�,�b�1�1�1��������s�+B�B	�B	N)rrrrYrbrirrrrQrQ�sA������>�>�>����*����rrQ�__main__)6r��
contextlibr)r%�selectrBr@rCrt�unittestr��test.supportr(rrrrrr)�requires�requires_working_socketr�rB�hasattrr��
skipUnlessr��has_fork_supportr~r�r�
SHORT_TIMEOUTrr�r�rr�r!�contextmanagerr-�TestCaser/r�r�r��BaseRequestHandlerrr�r�r�rrQr�mainrrr�<module>rys���������	�	�	�	�	�	�	�	�
�
�
�
�
�
�
�
�
�
�
�
���������������������/�/�/�/�/�/�/�/�"�"�"�"�"�"�&�&�&�&�&�&�)�)�)�)�)�)�����i� � � ���$�$�D�$�1�1�1�������G�F�I�.�.��+��+�,=�,C�E�E���|�,��&�8�&�|�5G�H�H���}��!�\�7�8�8�8�8��
��
�
�
�
�
�
�,�";�".�"?�
�
�
�
�
�
�
�
�L�$=�$0�$C�
�
�
�
��4�4���4�a5�a5�a5�a5�a5�x�(�a5�a5�a5�H)3�)3�)3�)3�)3�x�(�)3�)3�)3�X
�
�
�
�
�,�0�
�
�
�(2�2�2�2�2��0�2�2�2������|�:������
�
�
�
�
�
��!:�<O�
�
�
�JF�JF�JF�JF�JF�x�(�JF�JF�JF�Z/�/�/�/�/�8�$�/�/�/�d�z����H�M�O�O�O�O�O��r

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