BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //proc/self/root/usr/share/doc/python3-pycurl/tests/__pycache__/multi_socket_test.cpython-36.pyc
3

�[��@s�ddlmZddlZddlZddlmZddlmZejd�\ZZejd�\Z	Z
ejd�\ZZd
d�Z
dd
�ZGdd�dej�ZdS)�)�	localhost�N)�
appmanager)�util�app� � � cCst|�t|�t|�dS)N)�setup_module_1�setup_module_2�setup_module_3)�mod�r�@/builddir/build/BUILD/pycurl-7.43.0.2/tests/multi_socket_test.py�setup_modulesrcCst|�t|�t|�dS)N)�teardown_module_3�teardown_module_2�teardown_module_1)r
rrr�teardown_modulesrc@seZdZdd�Zdd�ZdS)�MultiSocketTestcs�dtdtdtg}g��fdd�}tj�}|jtj|�g|_xb|D]Z}tj�}||_tj	�|_
d|_|jj|�|j|j
|j�|j|j|j
j�|j|�qHWt|j�}x0|r�x|j�\}}|tjkr�Pq�W|jd�q�Wx|jD]}|j|j�|_q�Wt��dk�st�xT|jD]J}|jd	|j
j�j��|jd
|j�|jtj|��|jtj|���qWx"|jD]}|j|�|j��qpW|j�dS)Nzhttp://%s:8380/short_waitzhttp://%s:8381/short_waitzhttp://%s:8382/short_waitcs�j||f�dS)N)�append)�event�socket�multi�data)�
socket_eventsrrr(sz1MultiSocketTest.test_multi_socket.<locals>.socketrg�������?��success�����) r�pycurl�	CurlMulti�setoptZM_SOCKETFUNCTIONZhandlesr�DefaultCurl�url�BytesIO�bodyZ	http_coder�URL�
WRITEFUNCTION�write�
add_handle�len�
socket_allZE_CALL_MULTI_PERFORM�select�getinfo�	HTTP_CODE�AssertionError�assertEqual�getvalue�decode�checkZPOLL_INZPOLL_REMOVE�
remove_handle�close)�selfZurlsr�mr$�cZnum_handles�retr)rr�test_multi_socketsH





z!MultiSocketTest.test_multi_socketcCs>x$|D]\}}||kr||krdSqWds:td||f��dS)NFz %d %s not found in socket events)r0)r7rrrZevent_Zmulti_rrrr4^szMultiSocketTest.checkN)�__name__�
__module__�__qualname__r;r4rrrrrsCr)rr)rr)rr	)�rr �unittestrr�setupr
rrrrrrr�TestCaserrrrr�<module>s