python (3.11.7)
    e                        	 d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm	Z	 d dl
mZ d dlm
Z
mZ  ed          Zd Z e            Z G d d	          Zd
 Zd Z G d d
ej                  Zedk    r ej                     dS dS )    N)Process)verbosecpython_only)
import_module)TESTFNunlinkfcntlc            
         	 t           j         d} n# t          $ r d} Y nw xY wt          j                            d          st          j        dk    rNt
          j        d          dk    rd}d}nd}d}t
          j        ||z   |z   d	z   d
d
d
t          j
        d
          }nt          j                            d          r%t
          j        dd
d
d
t          j
        d
d
          }n^t          j        d
v r&t
          j        dt          j
        d
d
d
d
d
d
          }n*t
          j        d	| z   d	z   t          j
        d
d
d
d
d
          }|r$t          rt          dt          |                     |S )Nqqll)netbsdfreebsdopenbsddarwinl   ilxxxxhhr   gnukfreebsdqqihhi)zhp-uxB	unixware7hhllliiz
struct.pack: )osO_LARGEFILEAttributeErrorsysplatform
startswithstructcalcsizepackr	   F_WRLCKr   printrepr)	start_lenoff_tpid_tlockdatas       C/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_fcntl.pyget_lockdatar+      sy   
 		    			
 	 @AA R<8##?31$$EEEEE;uu}u4t;Q1$}a1 1		 	 	/	/ R;xAq%-AFF	0	0	0;y%-Aq!QJJ;tI~d2EM1aAqQQ 3 	3/4>>222Os      c                       e Zd Zd Zd ZdS )BadFilec                     || _         d S Nfn)selfr1   s     r*   __init__zBadFile.__init__3   s
        c                     | j         S r/   r0   r2   s    r*   filenozBadFile.fileno5   s	    wr4   N)__name__
__module____qualname__r3   r7    r4   r*   r-   r-   2   s2              r4   r-   c                     t          | d          }	 t                              ||           n# t          $ r Y nw xY w|                                 d S # |                                 w xY wNwb+)openr	   lockfBlockingIOErrorclosefnamecmdfs      r*   try_lockf_on_other_process_failrG   8   sr    UEA
As 
 
 
 	
									s!   . A 
;A ;A A*c                     t          | d          }t                              ||           t                              |t          j                   |                                 d S r=   )r?   r	   r@   LOCK_UNrB   rC   s      r*   try_lockf_on_other_processrJ   A   sL    UEA	KK3	KK5=!!!GGIIIIIr4   c                   J   e Zd Zd Zd Zd Zd Zd Zed             Z	 e
j         ej
                                        d          o ej                    dk    d	          d
             Zd Z e
j         ej                    dk    d
          d             Z e
j         ej                    dk    d
          d             Zed             Z e
j        ej        dk    d          d             Z e
j         eed          o eed          d          d             ZdS )	TestFcntlc                     d | _         d S r/   )rF   r6   s    r*   setUpzTestFcntl.setUpI   s
    r4   c                     | j         r%| j         j        s| j                                          t          t                     d S r/   )rF   closedrB   r   r   r6   s    r*   tearDownzTestFcntl.tearDownL   s5    6 	$&- 	FLLNNNvr4   c                    t          t          d          | _        t                              | j                                        t          j        t          j                  }t          rt          d|           t                              | j                                        t          j
        t                    }t          rt          dt          |                     | j        
                                 d S Nwbz#Status from fcntl with O_NONBLOCK: z!String from fcntl with F_SETLKW: )r?   r   rF   r	   r7   F_SETFLr   
O_NONBLOCKr   r$   F_SETLKWr)   r%   rB   r2   rvs     r*   test_fcntl_filenozTestFcntl.test_fcntl_filenoQ   s    fd##
[[%-
G
G 	=7<<<
[[%.(
C
C 	A5tBxx@@@r4   c                    t          t          d          | _        t                              | j        t          j        t
          j                  }t          rt          d|           t                              | j        t          j	        t                    }t          rt          dt          |                     | j                                         d S rS   )
r?   r   rF   r	   rU   r   rV   r   r$   rW   r)   r%   rB   rX   s     r*   test_fcntl_file_descriptorz$TestFcntl.test_fcntl_file_descriptor\   s    fd##
[[
>
> 	=7<<<
[[
:
: 	A5tBxx@@@r4   c                 L   |                      t                    5  t                              dt          j        t          j                   d d d            n# 1 swxY w Y   |                      t                    5  t                              t
          d          t          j        t          j                   d d d            n# 1 swxY w Y   |                      t                    5  t                              dt          j        t          j                   d d d            n# 1 swxY w Y   |                      t                    5  t                              t
          d          t          j        t          j                   d d d            d S # 1 swxY w Y   d S )Nspam)assertRaises
ValueErrorr	   rU   r   rV   r-   	TypeErrorr6   s    r*   test_fcntl_bad_filezTestFcntl.test_fcntl_bad_fileg   sN   
z
*
* 	: 	:KKEM2=999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:
z
*
* 	C 	CKKU]BMBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C
y
)
) 	>