Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/eintrdata/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/eintrdata/__pycache__/eintr_tester.cpython-39.opt-2.pyc

a

��glF�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlmZejdd��Ze�eed�d�Gdd	�d	ej��Ze�eed�d�Gd
d�de��Ze�eed�d�Gdd
�d
e��Ze�eed�d�Gdd�de��Ze�eed�d�e�eed�d�Gdd�de���Ze�eed�d�Gdd�de��ZGdd�de�Zedk�r�e��dS)�N)�support)�
socket_helperccsJ|�2z
|VWn|���Yn0Wd�n1s<0YdS�N)�kill)�proc�r�7/usr/local/lib/python3.9/test/eintrdata/eintr_tester.py�
kill_on_errors
r	�	setitimerzrequires setitimer()c@sDeZdZdZdZdZdd�Zdd�Zedd��Z	d	d
�Z
dd�Zd
S)�
EINTRBaseTestg�������?g�������?cCs|jd7_dS�N�)�signals)�self�signum�framerrr�
sighandler2szEINTRBaseTest.sighandlercCsBd|_t�tj|j�|_t�tj|j|j�t	j
ddtjd�dS)NriXT)�exit�file)
r�signal�SIGALRMr�orig_handlerr
�ITIMER_REAL�signal_delay�
signal_period�faulthandlerZdump_traceback_later�sys�
__stderr__�rrrr�setUp5s��zEINTRBaseTest.setUpcCst�tjdd�dS�Nr)rr
rrrrr�
stop_alarm@szEINTRBaseTest.stop_alarmcCs$|��t�tj|j�t��dSr)r!rrrrZcancel_dump_traceback_laterrrrr�tearDownDszEINTRBaseTest.tearDowncOs tjdf|}tj|fi|��S)Nz-c)r�
executable�
subprocess�Popen)r�args�kwZcmd_argsrrrr$IszEINTRBaseTest.subprocessN)�__name__�
__module__�__qualname__rr�
sleep_timerr�staticmethodr!r"r$rrrrr&s
rc@sxeZdZdd�Zdd�Zdd�Ze�ee	d�d�d	d
��Z
dd�Zd
d�Ze�ee	d�d�dd��Z
dd�Zdd�ZdS)�OSEINTRTestcCsd|j}|�|�S)Nzimport time; time.sleep(%r))r+r$)r�coderrr�new_sleep_processRs
zOSEINTRTest.new_sleep_processcsDd}�fdd�t|�D�}t|�D]
}|�q"|D]}|��q2dS)N�csg|]}����qSr)r/)�.0�_rrr�
<listcomp>X�z3OSEINTRTest._test_wait_multiple.<locals>.<listcomp>)�range�wait)r�	wait_func�num�	processesr2rrrr�_test_wait_multipleVszOSEINTRTest._test_wait_multiplecCs|�tj�dSr)r:�osr6rrrr�	test_wait_szOSEINTRTest.test_wait�wait3zrequires wait3()cCs|�dd��dS)NcSs
t�d�Sr )r;r=rrrr�<lambda>dr4z(OSEINTRTest.test_wait3.<locals>.<lambda>)r:rrrr�
test_wait3bszOSEINTRTest.test_wait3cCs|��}||j�|��dSr)r/�pidr6)rr7rrrr�_test_wait_singlefs
zOSEINTRTest._test_wait_singlecCs|�dd��dS)NcSst�|d�Sr )r;�waitpid�r@rrrr>mr4z*OSEINTRTest.test_waitpid.<locals>.<lambda>�rArrrr�test_waitpidlszOSEINTRTest.test_waitpid�wait4zrequires wait4()cCs|�dd��dS)NcSst�|d�Sr )r;rFrCrrrr>qr4z(OSEINTRTest.test_wait4.<locals>.<lambda>rDrrrr�
test_wait4oszOSEINTRTest.test_wait4cCs�t��\}}|�tj|�gd�}d�dddd|d|jddd	d
df
�}|j|t|�|gd�}t|��Lt�|�|D]}|�	|t�
|t|���qx|�	|��d
�Wd�n1s�0YdS)N)shellosworldsspam�
zimport os, sys, time�zwr = int(sys.argv[1])�
datas = %r�sleep_time = %rzfor data in datas:z$    # let the parent block on read()�    time.sleep(sleep_time)z    os.write(wr, data)��pass_fdsr)
r;�pipe�
addCleanup�close�joinr+r$�strr	�assertEqual�read�lenr6)r�rd�wr�datasr.r�datarrr�	test_readss*�


zOSEINTRTest.test_readcCs�t��\}}|�tj|�dtj}d�dddd|jdtjddd	d
dddd
ddddddf�}|j|t	|�|gd�}t
|��Xt�|�d}|t|�kr�|t�|t
|�|d��7}q�|�|��d�Wd�n1s�0YdS)N�xrHzimport io, os, sys, timerIzrd = int(sys.argv[1])rKzdata = b"x" * %s�data_len = len(data)z!# let the parent block on write()�time.sleep(sleep_time)zread_data = io.BytesIO()z+while len(read_data.getvalue()) < data_len:z%    chunk = os.read(rd, 2 * data_len)z    read_data.write(chunk)zvalue = read_data.getvalue()zif value != data:z0    raise Exception("read error: %s vs %s bytes"z-                    % (len(value), data_len))rMr)r;rOrPrQrZ
PIPE_MAX_SIZErRr+r$rSr	rV�write�
memoryviewrTr6)rrWrXrZr.r�writtenrrr�
test_write�s>
�

zOSEINTRTest.test_writeN)r(r)r*r/r:r<�unittest�
skipUnless�hasattrr;r?rArErGr[rbrrrrr-Ns	

r-c@s�eZdZe�eed�d�dd��Zdd�Ze�eejd�d�d	d
��Z	dd�Z
d
d�Zdd�Ze�eejd�d�dd��Z
dd�Ze�dd�e�eed�d�dd���Zdd�Ze�ejdkd �d!d"��Zd#d$�Ze�ejdkd �d%d&��Zd'S)(�SocketEINTRTest�
socketpairzneeds socketpair()c	Cs�t��\}}|�|j�gd�}d�ddddt|j�dt|j�d|d	|jdd
dddd
dddf�}|�	�}|j
|t|�|gd�}t|��H|��|D]}|�
|||t|���q�|�
|��d�Wd�n1s�0YdS)N)r\�y�zrH�import os, socket, sys, timerI�fd = int(sys.argv[1])�family = %s�sock_type = %srJrKz)wr = socket.fromfd(fd, family, sock_type)�os.close(fd)zwith wr:z    for data in datas:z(        # let the parent block on recv()z        time.sleep(sleep_time)z        wr.sendall(data)rMr)�socketrgrPrQrR�int�family�typer+�filenor$rSr	rTrVr6)	rZ	recv_funcrWrXrYr.�fdrrZrrr�
_test_recv�s8�
zSocketEINTRTest._test_recvcCs|�tjj�dSr)ruro�recvrrrr�	test_recv�szSocketEINTRTest.test_recv�recvmsgzneeds recvmsg()cCs|�dd��dS)NcSs|�|�dSr )rx��sockrZrrrr>�r4z.SocketEINTRTest.test_recvmsg.<locals>.<lambda>)rurrrr�test_recvmsg�szSocketEINTRTest.test_recvmsgc
Cs(t��\}}|�|j�dtjd}d�ddddt|j�dt|j	�d	|j
d
tjddddd
dddddddddddddf�}|��}|j|t
|�|gd�}t|��h|��d}|t|�kr�||t|�|d��}	||	dur�t|�n|	7}q�|�|��d�Wd�n1�s0YdS)Nsxyzr0rHrjrIrkrlrmrKzdata = b"xyz" * %sr]z)rd = socket.fromfd(fd, family, sock_type)rnzwith rd:z$    # let the parent block on send()rLz'    received_data = bytearray(data_len)z	    n = 0z    while n < data_len:z8        n += rd.recv_into(memoryview(received_data)[n:])zif received_data != data:z0    raise Exception("recv error: %s vs %s bytes"z5                    % (len(received_data), data_len))rMr)rorgrPrQrZ
SOCK_MAX_SIZErRrprqrrr+rsr$rSr	rVr`rTr6)
rZ	send_funcrWrXrZr.rtrra�sentrrr�
_test_send�sL�
zSocketEINTRTest._test_sendcCs|�tjj�dSr)r}ro�sendrrrr�	test_sendszSocketEINTRTest.test_sendcCs|�tjj�dSr)r}ro�sendallrrrr�test_sendallszSocketEINTRTest.test_sendall�sendmsgzneeds sendmsg()cCs|�dd��dS)NcSs|�|g�Sr)r�ryrrrr>r4z.SocketEINTRTest.test_sendmsg.<locals>.<lambda>)r}rrrr�test_sendmsgszSocketEINTRTest.test_sendmsgcCs�t�tjdf�}|�|j�|��d}d�dddtjd|d|jdd	d
ddf
�}|�	|�}t
|��4|��\}}|��|�|�
�d�Wd�n1s�0YdS)
Nrr
rHzimport socket, timerIz	host = %rz	port = %srKz# let parent block on accept()r^z,with socket.create_connection((host, port)):rL)ro�
create_serverrZHOSTrPrQ�getsocknamerRr+r$r	�acceptrTr6)rrz�portr.rZclient_sockr2rrr�test_accepts(�

zSocketEINTRTest.test_accept�
r0�mkfifozneeds mkfifo()cCs�tj}t�|�zt�|�Wn2tyP}z|�d|�WYd}~n
d}~00|�tj|�d�ddd|d|j	dddd|f	�}|�
|�}t|��(||�|�|�
�d	�Wd�n1s�0YdS)
Nzos.mkfifo(): %srH�import os, timerIz	path = %arKz# let the parent blockr^r)r�TESTFN�unlinkr;r��PermissionErrorZskipTestrPrRr+r$r	rTr6)rZdo_open_close_readerZdo_open_close_writer�filename�er.rrrr�
_test_open:s,
$�

zSocketEINTRTest._test_opencCst|d�}|��dS)N�w)�openrQ)r�path�fprrr�python_openYs
zSocketEINTRTest.python_open�darwinz+hangs under macOS; see bpo-25234, bpo-35363cCs|�d|j�dS)Nzfp = open(path, 'r')
fp.close())r�r�rrrr�	test_open]s�zSocketEINTRTest.test_opencCst�|tj�}t�|�dSr)r;r��O_WRONLYrQ)rr�rtrrr�os_opencszSocketEINTRTest.os_opencCs|�d|j�dS)Nz,fd = os.open(path, os.O_RDONLY)
os.close(fd))r�r�rrrr�test_os_opengs�zSocketEINTRTest.test_os_openN)r(r)r*rcrdrerorurwr{r}rr�r�r�rZrequires_freebsd_versionr;r�r��skipIfr�platformr�r�r�rrrrrf�s0
#
.

�
�rfc@seZdZdd�ZdS)�
TimeEINTRTestcCs:t��}t�|j�|��t��|}|�||j�dSr)�time�	monotonic�sleepr+r!�assertGreaterEqual�r�t0�dtrrr�
test_sleeprs
zTimeEINTRTest.test_sleepN)r(r)r*r�rrrrr�nsr��pthread_sigmaskzneed signal.pthread_sigmask()c@sHeZdZdd�Ze�eed�d�dd��Ze�eed�d�dd	��Z	d
S)�SignalEINTRTestc
Cs�tj}t��}t�|dd��}|�tj||�d�ddt��dt|�d|jdd	f�}t�tj	|g�}|�tjtj
|g�t��}|�
|�}t|��$||�t��|}	Wd�n1s�0Y|�|��d
�dS)NcWsdSrr)r&rrrr>�r4z/SignalEINTRTest.check_sigwait.<locals>.<lambda>rHr�zpid = %szsignum = %srKr^zos.kill(pid, signum)r)r�SIGUSR1r;�getpidrPrRrpr+r��	SIG_BLOCK�SIG_UNBLOCKr�r�r$r	rTr6)
rr7rr@Zold_handlerr.Zold_maskr�rr�rrr�
check_sigwait�s(

�	

*zSignalEINTRTest.check_sigwait�sigwaitinfozneed signal.sigwaitinfo()cCsdd�}|�|�dS)NcSst�|g�dSr)rr��rrrrr7�sz3SignalEINTRTest.test_sigwaitinfo.<locals>.wait_func�r��rr7rrr�test_sigwaitinfo�sz SignalEINTRTest.test_sigwaitinfo�sigtimedwaitcCsdd�}|�|�dS)NcSst�|gd�dS)Ng^@)rr�r�rrrr7�sz4SignalEINTRTest.test_sigtimedwait.<locals>.wait_funcr�r�rrr�test_sigtimedwait�sz!SignalEINTRTest.test_sigtimedwaitN)
r(r)r*r�rcrdrerr�r�rrrrr�zs�
�r�c@s�eZdZdd�Ze�ejdkd�e�e	e
d�d�dd���Ze�e	e
d	�d
�dd��Ze�e	e
d
�d�dd��Z
e�e	e
d�d�dd��ZdS)�SelectEINTRTestcCs@t��}t�ggg|j�t��|}|��|�||j�dSr)r�r��selectr+r!r�r�rrr�test_select�s
zSelectEINTRTest.test_selectr�z(poll may fail on macOS; see issue #28087�pollzneed select.pollcCsFt��}t��}|�|jd�t��|}|��|�||j�dS�Ng@�@)r�r�r�r�r+r!r��rZpollerr�r�rrr�	test_poll�szSelectEINTRTest.test_poll�epollzneed select.epollcCsNt��}|�|j�t��}|�|j�t��|}|��|�	||j�dSr)
r�r�rPrQr�r�r�r+r!r�r�rrr�
test_epoll�szSelectEINTRTest.test_epoll�kqueuezneed select.kqueuecCsRt��}|�|j�t��}|�dd|j�t��|}|��|�	||j�dSr)
r�r�rPrQr�r��controlr+r!r�)rr�r�r�rrr�test_kqueue�szSelectEINTRTest.test_kqueue�devpollzneed select.devpollcCsRt��}|�|j�t��}|�|jd�t��|}|��|�	||j�dSr�)
r�r�rPrQr�r�r�r+r!r�r�rrr�test_devpoll�szSelectEINTRTest.test_devpollN)r(r)r*r�rcr�rr�rdrer�r�r�r�r�rrrrr��s�	



r�c@s8eZdZdd�Ze�e��dkd�dd��Zdd�Z	d	S)
�
FNTLEINTRTestc
Cs<|�tjtj�d�ddtjd|d|jf�}t��}|�|�}t	|���t
tjd���}t��|}|dkr|td|��z,||tj
tjB�||tj�t�d	�Wq\ty�Yq�Yq\0q\||tj
�t��|}|�||j�|��Wd�n1�s0Y|��Wd�n1�s.0YdS)
NrHzimport fcntl, timezwith open('%s', 'wb') as f:z   fcntl.%s(f, fcntl.LOCK_EX)z   time.sleep(%s)�wbgN@z failed to sync child in %.1f secg{�G�z�?)rPrr�r�rRr+r�r�r$r	r��	Exception�fcntlZLOCK_EXZLOCK_NBZLOCK_UNr��BlockingIOErrorr�r!r6)rZ	lock_funcZ	lock_namer.Z
start_timer�fr�rrr�_lock�s2�

(zFNTLEINTRTest._lockZAIXzAIX returns PermissionErrorcCs|�tjd�dS)N�lockf)r�r�r�rrrr�
test_lockfszFNTLEINTRTest.test_lockfcCs|�tjd�dS)N�flock)r�r�r�rrrr�
test_flockszFNTLEINTRTest.test_flockN)
r(r)r*r�rcr�r��systemr�r�rrrrr��s 
r��__main__)�
contextlibrr�r;r�r�rror$rr�rc�testrZtest.supportr�contextmanagerr	rdreZTestCaserr-rfr�r�r�r�r(�mainrrrr�<module>sD

'h7�/8)


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists