File: //usr/local/lib/python3.7/test/__pycache__/test_fcntl.cpython-37.pyc
B
��g� � @ s� d Z ddlZddlZddlZddlZddlZddlmZ ddlm Z m
Z
mZmZm
Z
mZ e
d�Zdd� Ze� ZG dd � d �Zd
d� Zdd
� ZG dd� 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
C s y
t j W n tk
r" d} Y nX d} tj�d�s>tjdkr�t�d�dkrVd}d}nd}d}t�|| | d d
d
d
t j
d
�}nltj�d�r�t�dd
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�rtdt
|�� |S )NZllZqq)ZnetbsdZfreebsdZopenbsd�darwin�l� �iZlxxxxZhhr ZgnukfreebsdZqqihhi)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_lockdata s.
r c @ s e Zd Zdd� Zdd� ZdS )�BadFilec C s
|| _ d S )N)�fn)�selfr r r r �__init__1 s zBadFile.__init__c C s | j S )N)r )r r r r �fileno3 s zBadFile.filenoN)�__name__�
__module__�__qualname__r r! r r r r r 0 s r c C sD t | d�}z*yt�||� W n tk
r0 Y nX W d |�� X d S )Nzwb+)�openr �lockf�BlockingIOError�close)�fname�cmd�fr r r �try_lockf_on_other_process_fail6 s
r, c C s0 t | d�}t�||� t�|tj� |�� d S )Nzwb+)r% r r&