Your IP : 216.73.216.52


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_timeout.cpython-38.pyc

U

i�f�,�@s�dZddlZddlZddlmZe�d�ZddlZddlZddl	Z	e�
�dd��ZGdd�dej�Z
Gd	d
�d
ej�ZGdd�de�ZGd
d�de�Zdd�Zedkr�e�dS)z&Unit tests for socket timeout feature.�N)�support�networkc
Cs>t�|��*t�||tjtj�ddW5QR�SQRXdS)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	�6/opt/alt/python38/lib64/python3.8/test/test_timeout.py�resolve_addresss���rc@sXeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�ZdS)�CreationTestCasez9Test case for socket.gettimeout() and socket.settimeout()cCst�tjtj�|_dS�N)rrr�sock��selfr	r	r
�setUpszCreationTestCase.setUpcCs|j��dSr
�r�closerr	r	r
�tearDown!szCreationTestCase.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
�testReturnType4s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
�testRangeCheckIszCreationTestCase.testRangeCheckcCs�|j�d�|j�d�|�|j��d�|j�d�|�|j��d�|j�d�|j�d�|�|j��d�|j�d�|�|j��d�dS)N�
rrr)rr�setblockingrrrr	r	r
�testTimeoutThenBlockingOsz(CreationTestCase.testTimeoutThenBlockingcCsX|j�d�|j�d�|�|j��d�|j�d�|j�d�|�|j��d�dS)Nrr)rr(rrrrr	r	r
�testBlockingThenTimeout]sz(CreationTestCase.testBlockingThenTimeoutN)
�__name__�
__module__�__qualname__�__doc__rrrrrr#r&r)r*r	r	r	r
rs
rc@s*eZdZdZejZdd�ZeZdd�Z	dS)�TimeoutTestCaseg@cCs
t��dSr
)�NotImplementedErrorrr	r	r
rsszTimeoutTestCase.setUpc	Gs�|j�|�t|j|�}t|�D]T}t��}z||�Wq tjk
rr}zt��|}WY�q�W5d}~XYq Xq |�d�|�	|||j
�|�||d�dS)z�
        Test the specified socket method.

        The method is run at most `count` times and must raise a socket.timeout
        within `timeout` + self.fuzz seconds.
        Nzsocket.timeout was not raisedr)rr�getattr�range�time�	monotonicr�timeoutZfailZ
assertLess�fuzzZ
assertGreater)	r�countr5�method�args�i�t1�eZdeltar	r	r
�_sock_operationxs
zTimeoutTestCase._sock_operationN)
r+r,r-r6rZHOST�	localhostrrr=r	r	r	r
r/hs
r/c@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)rrrrr�addr_remoterr	r	r
r�szTCPTimeoutTestCase.setUpcCs|j��dSr
rrr	r	r
r�szTCPTimeoutTestCase.tearDownTz*need to replace these hosts; see bpo-35518c
Cstdd�}tdd�}d}t�tjtj�}d}|�|�zZz|�|�WnFtjk
r\Yn2tk
r�}z|j	t	j
kr|d}W5d}~XYnXW5|��~X|r�|�d�|d	|d
||d	|d
��||_
t�|j
d	��|�d
dd|j
�W5QRXdS)
Nzblackhole.snakebite.netiZ�zwhitehole.snakebite.neti[�TrFz�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).rrg����MbP?�connect)rrrrrrrBr5�OSError�errnoZECONNREFUSEDZskipTest�formatrArrr=)rZ	blackholeZ	whitehole�skiprr5�errr	r	r
�testConnectTimeout�s8


��z%TCPTimeoutTestCase.testConnectTimeoutc	Cs>t�|jd��$|j�|j�|�dddd�W5QRXdS)Nrr��?Zrecv�)rrrArrBr=rr	r	r
�testRecvTimeout�sz"TCPTimeoutTestCase.testRecvTimeoutcCs,t�|j|j�|j��|�ddd�dS)NrrIZaccept)r�	bind_portrr>�listenr=rr	r	r
�testAcceptTimeout�s
z$TCPTimeoutTestCase.testAcceptTimeoutc	CsZt�tjtj��@}t�||j�|��|j�|�	��|�
ddddd�W5QRXdS)N�drI�send�X�@
�rrrrrLr>rMrrBZgetsocknamer=�rZservr	r	r
�testSend�s
zTCPTimeoutTestCase.testSendc	Cs`t�tjtj��F}t�||j�|��|j�|�	��|�
ddddd|�	��W5QRXdS)NrOrIZsendtorQrRrSrTr	r	r
�
testSendtos�zTCPTimeoutTestCase.testSendtoc	CsZt�tjtj��@}t�||j�|��|j�|�	��|�
ddddd�W5QRXdS)NrOrIZsendallrQrRrSrTr	r	r
�testSendall
s
zTCPTimeoutTestCase.testSendallN)r+r,r-r.rr�unittestZskipIfrHrKrNrUrVrWr	r	r	r
r?�s

T	
r?c@s(eZdZdZdd�Zdd�Zdd�ZdS)	�UDPTimeoutTestCasez3UDP test case for socket.socket() timeout functionscCst�tjtj�|_dSr
)rrZ
SOCK_DGRAMrrr	r	r
rszUDPTimeoutTestCase.setUpcCs|j��dSr
rrr	r	r
rszUDPTimeoutTestCase.tearDowncCs$t�|j|j�|�dddd�dS)NrrIZrecvfromrJ)rrLrr>r=rr	r	r
�testRecvfromTimeout sz&UDPTimeoutTestCase.testRecvfromTimeoutN)r+r,r-r.rrrZr	r	r	r
rYsrYcCst�d�t�ttt�dS)Nr)rZrequiresZrun_unittestrr?rYr	r	r	r
�	test_main's
�r[�__main__)r.�	functoolsrXZtestrZis_resource_enabledZ
skip_expectedr3rDr�	lru_cacherZTestCaserr/r?rYr[r+r	r	r	r
�<module>s"
M'