Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/test_timeout.cpython-310.opt-1.pyc

o

0�i�+�@s�dZddlZddlZddlmZddlmZe�d�Zddl	Z	ddl
Z
ddlZe��dd��Z
Gdd	�d	ej�ZGd
d�dej�ZGdd
�d
e�ZGdd�de�Zdd�Zedkr`e��dSdS)z&Unit tests for socket timeout feature.�N)�support)�
socket_helper�networkcCsJt�|��t�||tjtj�ddWd�S1swYdS)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�socketZgetaddrinfo�AF_INET�SOCK_STREAM)ZhostZport�r
�8/opt/alt/python310/lib64/python3.10/test/test_timeout.py�resolve_addresss���$�rc@sXeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZdS)�CreationTestCasez9Test case for socket.gettimeout() and socket.settimeout()cC�t�tjtj�|_dS�N)rrr	�sock��selfr
r
r�setUp�zCreationTestCase.setUpcC�|j��dSr�r�closerr
r
r�tearDown"�zCreationTestCase.tearDowncCs|�|j��dd�dS)Nztimeout not disabled by default)�assertEqualr�
gettimeoutrr
r
r�testObjectCreation%s�z#CreationTestCase.testObjectCreationcCs^|j�d�|�|j��d�|j�d�|�|j��d�|j�d�|�|j��d�dS)Ng�z�Ga@�)r�
settimeoutrrrr
r
r�testFloatReturnValue*sz%CreationTestCase.testFloatReturnValuecCsP|j�d�|�t|j���td��|j�d�|�t|j���td��dS)N���?g333333@)rrr�typerrr
r
r�testReturnType5szCreationTestCase.testReturnTypecCs�|j�d�|j�d�|j�d�|j�d�|�t|jjd�|�t|jjd�|�t|jjd�|�t|jjg�|�t|jji�|�t|jjd�dS)Nr��r
y)rr�assertRaises�	TypeErrorrr
r
r�
testTypeCheck=szCreationTestCase.testTypeCheckcCs:|�t|jjd�|�t|jjd�|�t|jjd�dS)N���g�)r&�
ValueErrorrrrr
r
r�testRangeCheckJszCreationTestCase.testRangeCheckcCs�|j�d�|j�d�|�|j��d�|j�d�|�|j��d�|j�d�|j�d�|�|j��d�|j�d�|�|j��d�dS)N�
TFr$)rr�setblockingrrrr
r
r�testTimeoutThenBlockingPsz(CreationTestCase.testTimeoutThenBlockingcCsX|j�d�|j�d�|�|j��d�|j�d�|j�d�|�|j��d�dS)NFr T)rr-rrrrr
r
r�testBlockingThenTimeout^sz(CreationTestCase.testBlockingThenTimeoutN)
�__name__�
__module__�__qualname__�__doc__rrrrr#r(r+r.r/r
r
r
rr
s
r
c@s*eZdZdZejZdd�ZeZdd�Z	dS)�TimeoutTestCaseg@cCst��r)�NotImplementedErrorrr
r
rrtszTimeoutTestCase.setUpc	Gs�|j�|�t|j|�}t|�D]%}t��}z||�Wqty5}z
t��|}WYd}~n
d}~ww|�d�|�|||j	�|�
||d�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�TimeoutErrorZfailZ
assertLess�fuzzZ
assertGreater)	r�count�timeout�method�args�i�t1�eZdeltar
r
r�_sock_operationys��
zTimeoutTestCase._sock_operationN)
r0r1r2r;rZHOST�	localhostrrrCr
r
r
rr4isr4c@s\eZdZdZdd�Zdd�Ze�dd�dd	��Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dS)�TCPTimeoutTestCasez3TCP test case for socket.socket() timeout functionscCs"t�tjtj�|_tdd�|_dS)Nzwww.python.org.�P)rrr	rr�addr_remoterr
r
rr�szTCPTimeoutTestCase.setUpcCrrrrr
r
rr�rzTCPTimeoutTestCase.tearDownTz*need to replace these hosts; see bpo-35518c
Cs"tdd�}tdd�}d}t�tjtj�}tj}|�|�z1z|�|�Wn"ty-Ynt	yF}z|j
t
jkr<d}WYd}~nd}~wwW|��~n|��~w|rj|�
d�|d|d	||d|d	��||_t�|jd��|�d	d
d|j�Wd�dS1s�wYdS)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)rrrr	rZLOOPBACK_TIMEOUTrrHr:�OSError�errnoZECONNREFUSEDrZskipTest�formatrGrrrC)rZ	blackholeZ	whitehole�skiprr=�errr
r
r�testConnectTimeout�sF


������"�z%TCPTimeoutTestCase.testConnectTimeoutcCsTt�|jd��|j�|j�|�dddd�Wd�dS1s#wYdS)Nrr ��?Zrecv�)rrrGrrHrCrr
r
r�testRecvTimeout�s"�z"TCPTimeoutTestCase.testRecvTimeoutcCs,t�|j|j�|j��|�ddd�dS)Nr rOZaccept)r�	bind_portrrD�listenrCrr
r
r�testAcceptTimeout�s
z$TCPTimeoutTestCase.testAcceptTimeoutcC�pt�tjtj��&}t�||j�|��|j�|�	��|�
ddddd�Wd�dS1s1wYdS)N�drO�send�X�@
�rrr	rrRrDrSrrHZgetsocknamerC�rZservr
r
r�testSend��"�zTCPTimeoutTestCase.testSendc	Csvt�tjtj��)}t�||j�|��|j�|�	��|�
ddddd|�	��Wd�dS1s4wYdS)NrVrOZsendtorXrYrZr[r
r
r�
testSendtos�"�zTCPTimeoutTestCase.testSendtocCrU)NrVrOZsendallrXrYrZr[r
r
r�testSendallr]zTCPTimeoutTestCase.testSendallN)r0r1r2r3rr�unittestZskipIfrNrQrTr\r^r_r
r
r
rrE�s

Q	
rEc@s(eZdZdZdd�Zdd�Zdd�ZdS)	�UDPTimeoutTestCasez3UDP test case for socket.socket() timeout functionscCrr)rrZ
SOCK_DGRAMrrr
r
rrrzUDPTimeoutTestCase.setUpcCrrrrr
r
rrrzUDPTimeoutTestCase.tearDowncCs$t�|j|j�|�dddd�dS)Nr rOZrecvfromrP)rrRrrDrCrr
r
r�testRecvfromTimeoutsz&UDPTimeoutTestCase.testRecvfromTimeoutN)r0r1r2r3rrrbr
r
r
rras
racCst�d�dS)Nr)rZrequiresr
r
r
r�setUpModule%rrc�__main__)r3�	functoolsr`�testrZtest.supportrZis_resource_enabledZ
skip_expectedr8rJr�	lru_cacherZTestCaser
r4rErarcr0�mainr
r
r
r�<module>s(
M'�