HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_poll.cpython-37.opt-1.pyc
B

��g��@s�ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZy
ejWne
k
rxe�d��YnXdd�ZGdd�dej�Zdd	�Zed
kr�e�dS)�N)�TESTFN�run_unittest�reap_threads�cpython_onlyzselect.poll not definedcCs,g}x"|D]\}}||@r
|�|�q
W|S)N)�append)�ready�flag�match�fd�mode�r�*/usr/local/lib/python3.7/test/test_poll.py�find_ready_matchings
rc@s\eZdZdd�Zdd�Zdd�Zdd�Zed	d
��Ze	dd��Z
e�e
d
�e	dd���ZdS)�	PollTestscCszt��}d}d}t|�}g}g}i}i}xft|�D]Z}	t��\}
}|�|
�|�|
tj�|�|tj	�|�
|
�|�
|�|||
<|
||<q2Wg}x�|�rb|��}
t|
tj	�}|s�td��t
�|�}t�||�|��}
t|
tj�}|s�td��t
�|�}
t�|
|�}|�t|�|�|�
|�t�||
�t�|
�|�||
�|�|
�|�||
�q�W|�||g|�dS)N�s This is a test.zno pipes ready for writingzno pipes ready for reading)�select�poll�len�range�os�pipe�register�modify�POLLIN�POLLOUTrr�RuntimeError�random�choice�write�read�assertEqual�close�
unregister�remove)�self�pZ	NUM_PIPESZMSGZMSG_LENZreadersZwritersZr2wZw2r�iZrdZwrZbufsrZ
ready_writersZ
ready_readers�bufrrr
�
test_poll1sN







zPollTests.test_poll1c
CsPt��\}}t�|�t�|�t��}|�|�|��}|�|d|tjf�tt	d�}|�
�}t��}|�|�|��}|�|dd|�|��|��}|�|d|tjf�t�t	�t��}|�t
|j|�|�t
|j|�t��}|�t|jd�t��}Gdd�d�}Gdd�d�}	|�t
|j|�d�|�t
|j|	�d�dS)Nr�w�c@seZdZdS)z,PollTests.test_poll_unit_tests.<locals>.NopeN)�__name__�
__module__�__qualname__rrrr
�Nopelsr.c@seZdZdd�ZdS)z.PollTests.test_poll_unit_tests.<locals>.AlmostcSsdS)N�filenor)r$rrr
r/psz5PollTests.test_poll_unit_tests.<locals>.Almost.filenoN)r+r,r-r/rrrr
�Almostosr0)rrr!rrrr ZPOLLNVAL�openrr/�unlink�assertRaises�	TypeErrorr"�KeyError)
r$ZFDr)r%�r�fr
�pollsterr.r0rrr
�test_poll_unit_testsLs6





zPollTests.test_poll_unit_testsc
Cs�d}tj|dtjdd�}|��|�|jddd�|j}t��}|�	|tj
�x�dD]�}|�|�}|gkrlqT|d\}}|tj@r�|��}	|	dkrT|�
d�qTqT|tj
@r�|��}	|	s�P|�|	d�qTqT|�
d	|�qTWdS)
Nz?for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; doneTr)�shell�stdout�bufsize)ri�i�i�i@i�>���r=r=r=r=r=r=r=r=r=�z6error: pipe seems to be closed, but still returns datastesting...
z,Unexpected return value from select.poll: %s)�
subprocess�Popen�PIPE�	__enter__�
addCleanup�__exit__r;rrrrZPOLLHUP�readline�failr )
r$�cmd�procr%r8ZtoutZfdlistr
�flags�linerrr
�
test_poll2ys2




zPollTests.test_poll2cCs�t��}|�d�|�t|jd�d}|dkr8|�d�|�t|jdd�|�t|jdd�|�t|jdd�|�t|jdd�dS)N�l�zOverflow must have occurredrr=)rrrr3�
OverflowErrorrFr)r$r8�xrrr
�
test_poll3�s

zPollTests.test_poll3cCs~ddlm}m}m}t��}|�d�|�t|jd|d�|�t|j	d|d�|�t|j|d�|�t|j|d�dS)Nr)�	USHRT_MAX�INT_MAX�UINT_MAXrL)
Z	_testcapirQrRrSrrrr3rNr)r$rQrRrSr8rrr
�test_poll_c_limits�s
zPollTests.test_poll_c_limitsc
Cs�t��\}}|�tj|�|�tj|�g}x2td�D]&}t�|�}|�tj|�|�|�q6Wt��}x|D]}|�	|tj
�qnWtj|jd�}|�
�zBt�d�x|D]}|�|�q�W|�	|tj�|�t|j�Wdt�|d�|��XdS)N�
)�targetg�?sspam)rrrCr!r�duprrrrr�	threading�Thread�start�timeZsleepr"rr3rr�join)r$r6r)Zrfdsr&r
r8�trrr
�test_threaded_poll�s*



zPollTests.test_threaded_pollz!Threading required for this test.cCs�x�dD]�}t��\}}t��}|�|tj�tj|j|fd�}|��|j	dd�|�
|���t�|d�|�	�|�
|���t�|�t�|�qWdS)N)Ni���r=g�g��������g0��.�+�)rV�argsg�������?)Ztimeoutsspam)rrrrrrrXrYrZr\Z
assertTrueZis_aliverZassertFalser!)r$Z
timeout_msr6r)r8Zpoll_threadrrr
�!test_poll_blocks_with_negative_ms�s

z+PollTests.test_poll_blocks_with_negative_msN)r+r,r-r(r9rKrPrrTrr^�unittestZ
skipUnlessrXr`rrrr
rs1-
rcCstt�dS)N)rrrrrr
�	test_main�srb�__main__)rr?rrrXr[raZtest.supportrrrrr�AttributeErrorZSkipTestrZTestCaserrbr+rrrr
�<module>s"
N