Your IP : 216.73.216.196


Current Path : /opt/alt/python37/lib64/python3.7/test/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/test/__pycache__/test_fcntl.cpython-37.opt-1.pyc

B

� f��@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�structZcalcsizeZpackr	ZF_WRLCKr�print�repr)Z	start_lenZoff_tZpid_t�lockdata�r�4/opt/alt/python37/lib64/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__rrrrrrr0srcCsDt|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)Nr1z#Status from fcntl with O_NONBLOCK: z!String from fcntl with F_SETLKW: )
r#rr)r	r2rr3rrr4rrr&)rr5rrr�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	r2rr3r�	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>r?r:�
OverflowErrorr	r2rr3r)rr>r?rrr�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+r8r9)
r#rr)rr	�flock�LOCK_SHr+�LOCK_NB�LOCK_EXr:r;r<)rrrrr�
test_flock�s
zTestFcntl.test_flockZAIXzAIX returns PermissionErrorcCshttd�|_tjtjB}t�|j|�ttt|fd�}|�	�|�
�t�|jtj�|�|j
d�dS)Nzwb+)�target�argsr)r#rr)r	rNrMr$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+)rPrQr)r#rr)r	rLrMr$rr,rRrSr+rTrU)rr(rVrrr�test_lockf_share�szTestFcntl.test_lockf_sharecCs&ddl}|�ttj|jdtj�dS)Nrr@)rAr:rBr	rKr>rL)rrArrr�test_flock_overflow�szTestFcntl.test_flock_overflowN)r r!r"r.r0r6r7r=rrC�unittestZskipIfr�machiner�systemrJrOrWrXrYrrrrr-Es

r-cCstt�dS)N)rr-rrrr�	test_main�sr]�__main__)�__doc__rrrrrZZmultiprocessingrZtest.supportrrrrrrr	rrrr*r,ZTestCaser-r]r rrrr�<module>s" 	t