Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_timeout.cpython-311.opt-1.pyc
�

�Ke�+��2�dZddlZddlZddlmZddlmZddlZddlZddl	Z	ej
��d���ZGd�dej��Z
Gd�d	ej��ZGd
�de��ZGd�d
e��Zd�Zedkrej��dSdS)z&Unit tests for socket timeout feature.�N)�support)�
socket_helperc���tj|��5tj||tjtj��ddcddd��S#1swxYwYdS)z�Resolve an (host, port) to an address.

    We must perform name resolution before timeout tests, otherwise it will be
    performed by connect().
    r�N)r�transient_internet�socket�getaddrinfo�AF_INET�SOCK_STREAM)�host�ports  �;/usr/local/apps/python3/lib/python3.11/test/test_timeout.py�resolve_addressr
s���
�	)�$�	/�	/�<�<��!�$��f�n�"(�"4�6�6�67�9�9:�<�<�<�<�<�<�<�<�<�<�<�<�<����<�<�<�<�<�<s�7A�A� Ac�H�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�CreationTestCasez9Test case for socket.gettimeout() and socket.settimeout()c�b�tjtjtj��|_dS�N)rr
r�sock��selfs r�setUpzCreationTestCase.setUps���M�&�.�&�2D�E�E��	�	�	�c�8�|j���dSr�r�closers r�tearDownzCreationTestCase.tearDown����	�������rc�b�|�|j���dd��dS)Nztimeout not disabled by default)�assertEqualr�
gettimeoutrs r�testObjectCreationz#CreationTestCase.testObjectCreation"s9�������-�-�/�/��:�	<�	<�	<�	<�	<rc��|j�d��|�|j���d��|j�d��|�|j���d��|j�d��|�|j���d��dS)Ng�z�Ga@�)r�
settimeoutrr rs r�testFloatReturnValuez%CreationTestCase.testFloatReturnValue's����	���U�#�#�#������-�-�/�/��7�7�7��	���Q���������-�-�/�/��3�3�3��	���T�"�"�"������-�-�/�/��6�6�6�6�6rc��|j�d��|�t|j�����td����|j�d��|�t|j�����td����dS)N���?g333333@)rr$r�typer rs r�testReturnTypezCreationTestCase.testReturnType2s����	���Q��������d�i�2�2�4�4�5�5�t�C�y�y�A�A�A��	���S�!�!�!�����d�i�2�2�4�4�5�5�t�C�y�y�A�A�A�A�Arc��|j�d��|j�d��|j�d��|j�d��|�t|jjd��|�t|jjd��|�t|jjd��|�t|jjg��|�t|jji��|�t|jjd��dS)Nr���y)rr$�assertRaises�	TypeErrorrs r�
testTypeCheckzCreationTestCase.testTypeCheck:s���	���Q�����	���Q�����	���S�!�!�!��	���T�"�"�"����)�T�Y�%9�2�>�>�>����)�T�Y�%9�2�>�>�>����)�T�Y�%9�2�>�>�>����)�T�Y�%9�2�>�>�>����)�T�Y�%9�2�>�>�>����)�T�Y�%9�2�>�>�>�>�>rc���|�t|jjd��|�t|jjd��|�t|jjd��dS)N���g�)r/�
ValueErrorrr$rs r�testRangeCheckzCreationTestCase.testRangeCheckGs_�����*�d�i�&:�B�?�?�?����*�d�i�&:�B�?�?�?����*�d�i�&:�D�A�A�A�A�Arc��|j�d��|j�d��|�|j���d��|j�d��|�|j���d��|j�d��|j�d��|�|j���d��|j�d��|�|j���d��dS)N�
TFr,)rr$�setblockingrr rs r�testTimeoutThenBlockingz(CreationTestCase.testTimeoutThenBlockingMs���	���R� � � ��	���d�#�#�#������-�-�/�/��6�6�6��	���e�$�$�$������-�-�/�/��5�5�5��	���R� � � ��	���e�$�$�$������-�-�/�/��5�5�5��	���d�#�#�#������-�-�/�/��6�6�6�6�6rc��|j�d��|j�d��|�|j���d��|j�d��|j�d��|�|j���d��dS)NFr'T)rr8r$rr rs r�testBlockingThenTimeoutz(CreationTestCase.testBlockingThenTimeout[s����	���e�$�$�$��	���Q���������-�-�/�/��3�3�3��	���d�#�#�#��	���Q���������-�-�/�/��3�3�3�3�3rN)
�__name__�
__module__�__qualname__�__doc__rrr!r%r*r1r5r9r;r.rrrrs�������C�C�F�F�F����<�<�<�
	7�	7�	7�B�B�B�?�?�?�B�B�B�7�7�7�4�4�4�4�4rrc�0�eZdZdZejZd�ZeZd�Z	dS)�TimeoutTestCaseg@c��t���r)�NotImplementedErrorrs rrzTimeoutTestCase.setUpqs��!�#�#�#rc��|j�|��t|j|��}t|��D]I}t	j��}	||��#t$r!}t	j��|z
}Yd}~nd}~wwxYw|�d��|�|||j	z��|�
||dz
��dS)z�
        Test the specified socket method.

        The method is run at most `count` times and must raise a TimeoutError
        within `timeout` + self.fuzz seconds.
        NzTimeoutError was not raisedr()rr$�getattr�range�time�	monotonic�TimeoutError�fail�
assertLess�fuzz�
assertGreater)	r�count�timeout�method�args�i�t1�e�deltas	         r�_sock_operationzTimeoutTestCase._sock_operationvs���	
�	���W�%�%�%����F�+�+���u���	5�	5�A���!�!�B�
����
�
�
���
�
�
���(�(�2�-������������
����
�I�I�3�4�4�4�����w���2�3�3�3����5�'�C�-�0�0�0�0�0s�A�
B�%B�BN)
r<r=r>rLr�HOST�	localhostrrrVr.rrrArAfsH�������D��"�I�$�$�$��H�1�1�1�1�1rrAc�p�eZdZdZd�Zd�Zejdd��d���Zd�Z	d�Z
d	�Zd
�Zd�Z
dS)
�TCPTimeoutTestCasez3TCP test case for socket.socket() timeout functionsc��tjtjtj��|_t	dd��|_dS)Nzwww.python.org.�P)rr
rrr�addr_remoters rrzTCPTimeoutTestCase.setUp�s3���M�&�.�&�2D�E�E��	�*�+<�b�A�A����rc�8�|j���dSrrrs rrzTCPTimeoutTestCase.tearDown�rrTz*need to replace these hosts; see bpo-35518c
�"�tdd��}tdd��}d}tjtjtj��}tj}|�|��	|�|��n9#t$rYn-t$r!}|j
tjkrd}Yd}~nd}~wwxYw|���~n#|���~wxYw|rD|�
d�|d|d	||d|d	����||_t!j|jd��5|�d	d
d|j��ddd��dS#1swxYwYdS)Nzblackhole.snakebite.netiZ�zwhitehole.snakebite.neti[�TFz�We didn't receive a connection reset (RST) packet from {}:{} within {} seconds, so we're unable to test connect timeout against the corresponding {}:{} (which is configured to silently drop packets).rr'g����MbP?�connect)rrr
rr�LOOPBACK_TIMEOUTr$r`rI�OSError�errno�ECONNREFUSEDr�skipTest�formatr]rrrV)r�	blackhole�	whitehole�skiprrO�errs       r�testConnectTimeoutz%TCPTimeoutTestCase.testConnectTimeout�s��$�$=�u�E�E�	�$�$=�u�E�E�	�:���}�V�^�V�-?�@�@���*������ � � �		��L�L�)�%�%�%�%���	�	�	��D��	�	�	��y�E�.�.�.������������	����
�J�J�L�L�L����
�J�J�L�L�L��H�H�H�H��
	��M�M�8��V�!�!��!�!���!�!��!�!����
�
�
�%���
�
-�d�.>�q�.A�
B�
B�	H�	H�� � ��E�9�d�6F�G�G�G�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H����	H�	H�	H�	H�	H�	HsN�.B�C�
B:�C�	B:�B5�0C�5B:�:C�C*�F�F�Fc���tj|jd��5|j�|j��|�dddd��ddd��dS#1swxYwYdS)Nrr'��?�recv�)rrr]rr`rVrs r�testRecvTimeoutz"TCPTimeoutTestCase.testRecvTimeout�s���
�
-�d�.>�q�.A�
B�
B�	7�	7��I���d�.�/�/�/�� � ��C���6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�	7�	7s�8A%�%A)�,A)c��tj|j|j��|j���|�ddd��dS)Nr'rm�accept)r�	bind_portrrX�listenrVrs r�testAcceptTimeoutz$TCPTimeoutTestCase.testAcceptTimeout�sK�����	�4�>�:�:�:��	���������Q��X�.�.�.�.�.rc�t�tjtjtj��5}tj||j��|���|j�|�	����|�
dddddz��ddd��dS#1swxYwYdS)N�drm�send�X�@
�rr
rrrsrXrtrr`�getsocknamerV�r�servs  r�testSendzTCPTimeoutTestCase.testSend�s���
�]�6�>�6�+=�
>�
>�	B�$��#�D�$�.�9�9�9��K�K�M�M�M��I���d�.�.�0�0�1�1�1�� � ��c�6�4�&�=�A�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	B�	B��A6B-�-B1�4B1c	��tjtjtj��5}tj||j��|���|j�|�	����|�
dddddz|�	����ddd��dS#1swxYwYdS)Nrwrm�sendtoryrzr{r}s  r�
testSendtozTCPTimeoutTestCase.testSendto�s���
�]�6�>�6�+=�
>�
>�	5�$��#�D�$�.�9�9�9��K�K�M�M�M��I���d�.�.�0�0�1�1�1�� � ��c�8�T�F�]�!%�!1�!1�!3�!3�
5�
5�
5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s�B	C�C�Cc�t�tjtjtj��5}tj||j��|���|j�|�	����|�
dddddz��ddd��dS#1swxYwYdS)Nrwrm�sendallryrzr{r}s  r�testSendallzTCPTimeoutTestCase.testSendalls���
�]�6�>�6�+=�
>�
>�	E�$��#�D�$�.�9�9�9��K�K�M�M�M��I���d�.�.�0�0�1�1�1�� � ��c�9�d�V�m�D�D�D�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E�	E����	E�	E�	E�	E�	E�	Er�N)r<r=r>r?rr�unittest�skipIfrkrprurr�r�r.rrrZrZ�s�������=�=�B�B�B�����X�_�T�G�H�H�OH�OH�I�H�OH�b7�7�7�/�/�/�B�B�B�5�5�5�E�E�E�E�ErrZc�$�eZdZdZd�Zd�Zd�ZdS)�UDPTimeoutTestCasez3UDP test case for socket.socket() timeout functionsc�b�tjtjtj��|_dSr)rr
�
SOCK_DGRAMrrs rrzUDPTimeoutTestCase.setUps���M�&�.�&�2C�D�D��	�	�	rc�8�|j���dSrrrs rrzUDPTimeoutTestCase.tearDownrrc�t�tj|j|j��|�dddd��dS)Nr'rm�recvfromro)rrsrrXrVrs r�testRecvfromTimeoutz&UDPTimeoutTestCase.testRecvfromTimeouts;��	���	�4�>�:�:�:����Q��Z��6�6�6�6�6rN)r<r=r>r?rrr�r.rrr�r�sJ������=�=�E�E�E����7�7�7�7�7rr�c�X�tjd��tjd���dS)N�networkT)�module)r�requires�requires_working_socketr.rr�setUpModuler�"s-����Y�����#�4�0�0�0�0�0�0r�__main__)r?�	functoolsr��testr�test.supportrrGrcr�	lru_cacher�TestCaserrArZr�r�r<�mainr.rr�<module>r�s���,�,���������������&�&�&�&�&�&���������
�
�
�
������<�<���<�J4�J4�J4�J4�J4�x�(�J4�J4�J4�Z$1�$1�$1�$1�$1�h�'�$1�$1�$1�NBE�BE�BE�BE�BE��BE�BE�BE�J
7�
7�
7�
7�
7��
7�
7�
7� 1�1�1�
�z����H�M�O�O�O�O�O��r