Your IP : 216.73.217.129


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.opt-2.pyc

U

i�f�,�@s�ddlZddlZddlmZe�d�ZddlZddlZddlZe�	�dd��Z
Gdd�dej�ZGdd	�d	ej�Z
Gd
d�de
�ZGdd
�d
e
�Zdd�Zedkr�e�dS)�N)�support�networkc
Cs>t�|��*t�||tjtj�ddW5QR�SQRXdS)Nr�)r�transient_internet�socketZgetaddrinfo�AF_INET�SOCK_STREAM)ZhostZport�r	�6/opt/alt/python38/lib64/python3.8/test/test_timeout.py�resolve_addresss���rc@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�CreationTestCasecCst�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__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)Nzsocket.timeout was not raisedr)rr�getattr�range�time�	monotonicr�timeoutZfailZ
assertLess�fuzzZ
assertGreater)	r�countr4�method�args�i�t1�eZdeltar	r	r
�_sock_operationxs
zTimeoutTestCase._sock_operationN)
r+r,r-r5rZHOST�	localhostrrr<r	r	r	r
r.hs
r.c@sXeZdZdd�Zdd�Ze�dd�dd��Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�ZdS)�TCPTimeoutTestCasecCs"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)rrrrrrrAr4�OSError�errnoZECONNREFUSEDZskipTest�formatr@rrr<)rZ	blackholeZ	whitehole�skiprr4�errr	r	r
�testConnectTimeout�s8


��z%TCPTimeoutTestCase.testConnectTimeoutc	Cs>t�|jd��$|j�|j�|�dddd�W5QRXdS)Nrr��?Zrecv�)rrr@rrAr<rr	r	r
�testRecvTimeout�sz"TCPTimeoutTestCase.testRecvTimeoutcCs,t�|j|j�|j��|�ddd�dS)NrrHZaccept)r�	bind_portrr=�listenr<rr	r	r
�testAcceptTimeout�s
z$TCPTimeoutTestCase.testAcceptTimeoutc	CsZt�tjtj��@}t�||j�|��|j�|�	��|�
ddddd�W5QRXdS)N�drH�send�X�@
�rrrrrKr=rLrrAZgetsocknamer<�rZservr	r	r
�testSend�s
zTCPTimeoutTestCase.testSendc	Cs`t�tjtj��F}t�||j�|��|j�|�	��|�
ddddd|�	��W5QRXdS)NrNrHZsendtorPrQrRrSr	r	r
�
testSendtos�zTCPTimeoutTestCase.testSendtoc	CsZt�tjtj��@}t�||j�|��|j�|�	��|�
ddddd�W5QRXdS)NrNrHZsendallrPrQrRrSr	r	r
�testSendall
s
zTCPTimeoutTestCase.testSendallN)
r+r,r-rr�unittestZskipIfrGrJrMrTrUrVr	r	r	r
r>�s

T	
r>c@s$eZdZdd�Zdd�Zdd�ZdS)�UDPTimeoutTestCasecCst�tjtj�|_dSr
)rrZ
SOCK_DGRAMrrr	r	r
rszUDPTimeoutTestCase.setUpcCs|j��dSr
rrr	r	r
rszUDPTimeoutTestCase.tearDowncCs$t�|j|j�|�dddd�dS)NrrHZrecvfromrI)rrKrr=r<rr	r	r
�testRecvfromTimeout sz&UDPTimeoutTestCase.testRecvfromTimeoutN)r+r,r-rrrYr	r	r	r
rXsrXcCst�d�t�ttt�dS)Nr)rZrequiresZrun_unittestrr>rXr	r	r	r
�	test_main's
�rZ�__main__)�	functoolsrWZtestrZis_resource_enabledZ
skip_expectedr2rCr�	lru_cacherZTestCaserr.r>rXrZr+r	r	r	r
�<module>s 
M'