o
    Uh                     @   sb   d dl Z d dlZd dlZd dlZd dlmZmZ defddZdd Z	dd	 Z
d
d Zdd ZdS )    N)FileDescriptor	NoFDErrorfdc                 C   sJ   t t}t|  W d   n1 sw   Y  |jjtjks#J dS )z<Check that the given number is not open as a file descriptorN)pytestraisesOSErrorosstatvalueerrnoEBADF)r   exc_info r   j/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/jeepney/tests/test_fds.pyassert_not_fd	   s   r   c                 C   s   t | d t jt jB }t|}| |ksJ W d    n1 s#w   Y  dt|v s0J tt	 |  W d    n1 sDw   Y  t
| d S )Naclosed)r   openO_CREATO_RDWRr   filenoreprr   r   r   r   tmp_pathr   wfdr   r   r   
test_close   s   

r   c              	   C   s   t | d t j}t|}| |ksJ | |ksJ z1dt|v s&J tt	 |  W d    n1 s:w   Y  W t 
| d S W t 
| d S t 
| w )Nr   	converted)r   r   r   r   r   	to_raw_fdr   r   r   r   closer   r   r   r   test_to_raw_fd   s   
r   c                 C   s   t | d t jt jB }t|}|d}|dsJ W d    n1 s'w   Y  dt|v s4J t	t
 |  W d    n1 sHw   Y  t| | d  dks[J d S )Nr   wabcr   )r   r   r   r   r   to_filewriter   r   r   r   r   r   	read_text)r   r   r   fr   r   r   test_to_file-   s   
r&   c                  C   s   t  \} }z[| d | }t|}| }|d}|r%d|s'J W d    n1 s1w   Y  dt|v s>J t	
t |  W d    n1 sRw   Y  t| W |   d S |   w )Ns   abcd   r   )socket
socketpairsendalldetachr   	to_socketrecv
startswithr   r   r   r   r   r   r   )s1s2sfdr   sockbr   r   r   test_to_socket=   s   




r4   )r   r   r(   r   jeepneyr   r   intr   r   r   r&   r4   r   r   r   r   <module>   s    