HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/test/test_asyncio/__pycache__/test_sock_lowlevel.cpython-38.pyc
U

/D�ga/�@sddlZddlZddlZddlmZddlmZmZddlmZ	ddl
mZGdd�dej�Z
Gdd	�d	�Zejd
kr�Gdd�dee	j�ZGd
d�dee	j�ZnxddlZeed�r�Gdd�dee	j�Zeed�r�Gdd�dee	j�Zeed��rGdd�dee	j�ZGdd�dee	j�ZdS)�N)�proactor_events)�cycle�islice)�utils)�supportc@s>eZdZdZdZddd�Zdd�Zdd�Zdd	�Zd
d�Z	dS)
�MyProtoNcCs2d|_d|_d|_|dk	r.|��|_|��|_dS)N�INITIALr)�	transport�state�nbytesZ
create_future�	connected�done)�self�loop�r�C/opt/cppython/lib/python3.8/test/test_asyncio/test_sock_lowlevel.py�__init__s
zMyProto.__init__cCs@||_|jdkst|j��d|_|jr2|j�d�|�d�dS)Nr�	CONNECTEDs%GET / HTTP/1.0
Host: example.com

)r	r
�AssertionErrorr�
set_result�write)rr	rrr�connection_madeszMyProto.connection_madecCs*|jdkst|j��|jt|�7_dS)Nr)r
rr�len)r�datarrr�
data_receivedszMyProto.data_receivedcCs|jdkst|j��d|_dS)Nr�EOF)r
r�rrrr�eof_received"szMyProto.eof_receivedcCs0|jdkst|j��d|_|jr,|j�d�dS)N)rrZCLOSED)r
rr
r)r�excrrr�connection_lost&szMyProto.connection_lost)N)
�__name__�
__module__�__qualname__rr
rrrrrrrrrr
s
rcs�eZdZdd�Z�fdd�Z�fdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Ze
jdd��Zdd�Zdd�Zdd�Z�ZS)�BaseSockTestsMixincCst�dS�N)�NotImplementedErrorrrrr�create_event_loop/sz$BaseSockTestsMixin.create_event_loopcs$|��|_|�|j�t���dSr$)r&rZset_event_loop�super�setUpr��	__class__rrr(2s
zBaseSockTestsMixin.setUpcs4|j��st�|j�|��t��t���dSr$)	rZ	is_closed�
test_utilsZrun_brieflyZ
doCleanupsr�
gc_collectr'�tearDownrr)rrr-7s

zBaseSockTestsMixin.tearDownc	Cs�t|jtj��s|j�d�|�d�|�t��|j�|j�	||j
��W5QRX|�t��|j�|j�|d��W5QRX|�t��|j�|j�|d��W5QRX|�t��|j�|j�
|t���W5QRX|�t��|j�|j�|��W5QRX|�d�|j�|j�	||j
��|j�|j�|d��|j�|j�|d��}|j�|j�|d��|��|�|�d��dS)NT�GET / HTTP/1.0

�F�HTTP/1.0 200 OK)�
isinstancerrZBaseProactorEventLoopZ	set_debug�setblocking�assertRaises�
ValueError�run_until_complete�sock_connect�address�sock_sendall�	sock_recv�sock_recv_into�	bytearray�sock_accept�close�
assertTrue�
startswith)r�httpd�sockrrrr�_basetest_sock_client_ops@sL
����
�
����z,BaseSockTestsMixin._basetest_sock_client_opsc	Cs�|�d�|j�|j�||j��|j�|j�|d��td�}t|��B}|j�|j�||dd���}|j�|j�|||d���W5QRX|�	�|�
|�d��dS)NFr.r/r0)r2rr5r6r7r8r;�
memoryviewr:r=r>r?)rr@rAr�bufrrrr�_basetest_sock_recv_intods"
��
��z+BaseSockTestsMixin._basetest_sock_recv_intoc	Cs@t���.}t��}|�||�t��}|�||�W5QRXdSr$)r+�run_test_server�socketrBrE�rr@rArrr�test_sock_client_opsus

z'BaseSockTestsMixin.test_sock_client_opsc�s�t��}|�d�d}d|d}|j�||�IdH|j�|dd|d�IdHt�|j�||��}|j�||�IdH}|�|�	d��|�
d	�d
kr�||j�||�IdH7}q�|d|�d	�d�}|t|�d�}|}t
d�}	tt|	t|���}
|�||
�|t|�8}|j�||�IdH}|�s0�q^tt|	t|���}
|�||
�|t|�8}�q|�|d�|IdH|��dS�
NFi@Bs
0123456789�
sPOST /loop HTTP/1.0
sContent-Length: %d
s
r0s

����r)rGr2rr6r8�asyncio�create_taskr9r>r?�find�indexrr�bytesr�assertEqualr=)rr7rA�	DATA_SIZE�chunk�taskr�headers�size�checker�expectedrrr�_basetest_huge_content|sB
���

z)BaseSockTestsMixin._basetest_huge_contentc	Cs,t���}|j�|�|j��W5QRXdSr$)r+rFrr5r[r7�rr@rrr�test_huge_content�s

�z$BaseSockTestsMixin.test_huge_contentc�s�t��}|�d�d}d|d}|j�||�IdH|j�|dd|d�IdHt�|j�||��}t|�}t|�}|j�	||�IdH}t
|d|��}	|�|	�d��|	�
d	�d
kr�|j�	||�IdH}t
|d|��}	q�|	d|	�d	�d�}
|	t|
�d�}	|}td�}t
t|t|	���}
|�|	|
�|t|	�8}|j�	||�IdH}|d|�}	|	�sh�q�t
t|t|	���}
|�|	|
�|t|	�8}�q>|�|d�|IdH|��dSrJ)rGr2rr6r8rNrOr;rCr:rRr>r?rPrQrrrrSr=)rr7rArTrUrV�arrayrDrrrWrXrYrZrrr�_basetest_huge_content_recvinto�sL
���

z2BaseSockTestsMixin._basetest_huge_content_recvintoc	Cs,t���}|j�|�|j��W5QRXdSr$)r+rFrr5r_r7r\rrr�test_huge_content_recvinto�s

�z-BaseSockTestsMixin.test_huge_content_recvintoc	CsHt���6}t�tj�}|�||�t�tj�}|�||�W5QRXdSr$)r+Zrun_test_unix_serverrG�AF_UNIXrBrErHrrr�test_unix_sock_client_ops�s

z,BaseSockTestsMixin.test_unix_sock_client_opsc	Csxd}zt��}|�d�|��}W5|��Xt��}|�d�|�t��|j�|j�	||��W5QRX|��dS)N�z	127.0.0.1rF)
r=rG�bind�getsocknamer2r3�ConnectionRefusedErrorrr5r6)rr7�srArrr�test_sock_client_fail�s


�z(BaseSockTestsMixin.test_sock_client_failcCs�t��}|�d�|�d�|�d�t��}|�|���|j�|�}|j�|�\}}|�	|�
�d�|�	||���|�	|��|���|��|��|��dS)NFrc�r)
rGr2rd�listen�connectrerr<r5rS�
gettimeout�getpeernamer=)r�listener�client�f�conn�addrrrr�test_sock_accept�s


z#BaseSockTestsMixin.test_sock_acceptc
st����}d}�j��jj|jdtji��}|D]\\}}}}}z4tj|||d�}|�d��j��j�	||��Wnt
k
r�Yq0Xq�q0ds�td���jj�fdd�|d�}	�j�|	�\}
}��
|
tj���
|tj��j�|j���|jd�|
��W5QRXdS)	N�type)�familyrt�protoFzCan not create socket.cst�jd�S)N)r)rrrrrr�<lambda>"�z@BaseSockTestsMixin.test_create_connection_sock.<locals>.<lambda>)rAr)r+rFrr5�getaddrinfor7rG�SOCK_STREAMr2r6�
BaseExceptionr�create_connectionZassertIsInstancerNZ	Transport�Protocolr
Z
assertGreaterrr=)rr@rAZinfosrurtrvZcnamer7rp�trZprrrr�test_create_connection_socks<
���
�
�z.BaseSockTestsMixin.test_create_connection_sock)r r!r"r&r(r-rBrErIr[r]r_r`rZskip_unless_bind_unix_socketrbrhrsr�
__classcell__rrr)rr#-s	$,2
r#�win32c@seZdZdd�ZdS)�SelectEventLoopTestscCst��Sr$)rN�SelectorEventLooprrrrr&0s�&SelectEventLoopTests.create_event_loopN�r r!r"r&rrrrr�-sr�c@seZdZdd�ZdS)�ProactorEventLoopTestscCst��Sr$)rNZProactorEventLooprrrrr&6sz(ProactorEventLoopTests.create_event_loopNr�rrrrr�3sr��KqueueSelectorc@seZdZdd�ZdS)�KqueueEventLoopTestscCst�t���Sr$)rNr��	selectorsr�rrrrr&@s�z&KqueueEventLoopTests.create_event_loopNr�rrrrr�=sr��
EpollSelectorc@seZdZdd�ZdS)�EPollEventLoopTestscCst�t���Sr$)rNr�r�r�rrrrr&Hsz%EPollEventLoopTests.create_event_loopNr�rrrrr�Esr��PollSelectorc@seZdZdd�ZdS)�PollEventLoopTestscCst�t���Sr$)rNr�r�r�rrrrr&Osz$PollEventLoopTests.create_event_loopNr�rrrrr�Lsr�c@seZdZdd�ZdS)r�cCst�t���Sr$)rNr�r��SelectSelectorrrrrr&Vsr�Nr�rrrrr�Ss)rGrN�sysr�	itertoolsrrZtest.test_asynciorr+�testrr}rr#�platformZTestCaser�r�r��hasattrr�r�r�rrrr�<module>sB#
��
�
���