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_fcntl.cpython-37.pyc
B

��g��@s�dZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZm
Z
mZe
d�Zdd�Ze�ZGdd	�d	�Zd
d�Zdd
�ZGdd�dej�Zdd�Zedkr�e�dS)z%Test program for the fcntl C module.
�N)�Process)�verbose�TESTFN�unlink�run_unittest�
import_module�cpython_only�fcntlc
Csy
tjWntk
r"d}YnXd}tj�d�s>tjdkr�t�d�dkrVd}d}nd}d}t�|||d	d
d
d
t	j
d
�}nltj�d�r�t�dd
d
d
t	j
d
d
�}nFtjd
kr�t�dt	j
d
d
d
d
d
d
�}n t�d	|d	t	j
d
d
d
d
d
�}|�rt�rtdt
|��|S)NZllZqq)ZnetbsdZfreebsdZopenbsd�darwin�l��iZlxxxxZhhrZgnukfreebsdZqqihhi)Zaix3Zaix4zhp-uxBZ	unixware7Zhhllliiz
struct.pack: )�os�O_LARGEFILE�AttributeError�sys�platform�
startswith�struct�calcsize�packr	ZF_WRLCKr�print�repr)Z	start_lenZoff_tZpid_t�lockdata�r�+/usr/local/lib/python3.7/test/test_fcntl.py�get_lockdatas.



 rc@seZdZdd�Zdd�ZdS)�BadFilecCs
||_dS)N)�fn)�selfrrrr�__init__1szBadFile.__init__cCs|jS)N)r)rrrr�fileno3szBadFile.filenoN)�__name__�
__module__�__qualname__r r!rrrrr0srcCsDt|d�}z*yt�||�Wntk
r0YnXWd|��XdS)Nzwb+)�openr	�lockf�BlockingIOError�close)�fname�cmd�frrr�try_lockf_on_other_process_fail6s

r,cCs0t|d�}t�||�t�|tj�|��dS)Nzwb+)r%r	r&�LOCK_UNr()r)r*r+rrr�try_lockf_on_other_process?s
r.c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zedd��Z	e
�e�
��d
�oXe��dkd�dd��Zdd�Ze
�e��dkd�dd��Ze
�e��dkd�dd��Zedd��ZdS)�	TestFcntlcCs
d|_dS)N)r+)rrrr�setUpGszTestFcntl.setUpcCs$|jr|jjs|j��tt�dS)N)r+�closedr(rr)rrrr�tearDownJs
zTestFcntl.tearDowncCshttd�|_t�|j��tjtj�}tr2t	d|�t�|j��tj
t�}trZt	dt|��|j�
�dS)N�wbz#Status from fcntl with O_NONBLOCK: z!String from fcntl with F_SETLKW: )r%rr+r	r!�F_SETFLr�
O_NONBLOCKrr�F_SETLKWrrr()r�rvrrr�test_fcntl_filenoOs
zTestFcntl.test_fcntl_filenocCs`ttd�|_t�|jtjtj�}tr.td|�t�|jtj	t
�}trRtdt|��|j��dS)Nr3z#Status from fcntl with O_NONBLOCK: z!String from fcntl with F_SETLKW: )
r%rr+r	r4rr5rrr6rrr()rr7rrr�test_fcntl_file_descriptorZs
z$TestFcntl.test_fcntl_file_descriptorc	Cs�|�t��t�dtjtj�WdQRX|�t��t�td�tjtj�WdQRX|�t��t�dtjtj�WdQRX|�t��t�td�tjtj�WdQRXdS)N����spam)�assertRaises�
ValueErrorr	r4rr5r�	TypeError)rrrr�test_fcntl_bad_filees zTestFcntl.test_fcntl_bad_filec	Cs�ddlm}m}|�t��t�|dtjtj�WdQRX|�t�� t�t	|d�tjtj�WdQRX|�t��t�|dtjtj�WdQRX|�t�� t�t	|d�tjtj�WdQRXdS)Nr)�INT_MAX�INT_MIN�)
�	_testcapir@rAr<�
OverflowErrorr	r4rr5r)rr@rArrr�test_fcntl_bad_file_overflowos $ z&TestFcntl.test_fcntl_bad_file_overflowZarmZLinuxz2ARM Linux returns EINVAL for F_NOTIFY DN_MULTISHOTc	Csrytj}tj}Wntk
r.|�d�YnXt�tj�tj�	t
��tj�}zt�|||�Wdt�|�XdS)Nz$F_NOTIFY or DN_MULTISHOT unavailable)
r	ZF_NOTIFYZDN_MULTISHOTrZskipTestrr%�path�dirname�abspathr�O_RDONLYr()rr*�flags�fdrrr�test_fcntl_64_bit|s
zTestFcntl.test_fcntl_64_bitcCs�ttd�|_|j��}t�|tj�t�|tj�t�|jtjtjB�t�|jtj�t�|tj	�t�|tj�|�
ttjdtj�|�
ttjdtj�dS)Nzwb+r:r;)
r%rr+r!r	�flock�LOCK_SHr-�LOCK_NB�LOCK_EXr<r=r>)rr!rrr�
test_flock�s
zTestFcntl.test_flockZAIXzAIX returns PermissionErrorcCshttd�|_tjtjB}t�|j|�ttt|fd�}|�	�|�
�t�|jtj�|�|j
d�dS)Nzwb+)�target�argsr)r%rr+r	rPrOr&rr,�start�joinr-�assertEqual�exitcode)rr*�prrr�test_lockf_exclusive�szTestFcntl.test_lockf_exclusivecCshttd�|_tjtjB}t�|j|�ttt|fd�}|�	�|�
�t�|jtj�|�|j
d�dS)Nzwb+)rRrSr)r%rr+r	rNrOr&rr.rTrUr-rVrW)rr*rXrrr�test_lockf_share�szTestFcntl.test_lockf_sharecCs&ddl}|�ttj|jdtj�dS)NrrB)rCr<rDr	rMr@rN)rrCrrr�test_flock_overflow�szTestFcntl.test_flock_overflowN)r"r#r$r0r2r8r9r?rrE�unittestZskipIfr�machiner�systemrLrQrYrZr[rrrrr/Es

r/cCstt�dS)N)rr/rrrr�	test_main�sr_�__main__)�__doc__rrrrr\ZmultiprocessingrZtest.supportrrrrrrr	rrrr,r.ZTestCaser/r_r"rrrr�<module>s" 	t