
    +c                     X    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Zd Z	d Z
d Zd Zy)	    N)FileDescriptor	NoFDErrorfdc                     t        j                  t              5 }t        j                  |        ddd       j
                  j                  t        j                  k(  sJ y# 1 sw Y   3xY w)z<Check that the given number is not open as a file descriptorN)pytestraisesOSErrorosstatvalueerrnoEBADF)r   exc_infos     8/usr/lib/python3/dist-packages/jeepney/tests/test_fds.pyassert_not_fdr   	   sL    	w	 8
>>5;;... s   A""A+c                    t        j                  | dz  t         j                  t         j                  z        }t	        |      5 }|j                         |k(  sJ 	 d d d        dt              v sJ t        j                  t              5  |j                          d d d        t        |       y # 1 sw Y   VxY w# 1 sw Y   !xY w)Naclosed)r
   openO_CREATO_RDWRr   filenoreprr   r   r   r   tmp_pathr   wfds      r   
test_closer      s    	Cbii!7	8B		 "szz|r!!!" tCy   	y	! 

 "" "
 s   B0B<0B9<Cc                    t        j                  | dz  t         j                        }t        |      }|j	                         |k(  sJ |j                         |k(  sJ 	 dt        |      v sJ t        j                  t              5  |j	                          d d d        t        j                  |       y # 1 sw Y   xY w# t        j                  |       w xY w)Nr   	converted)r
   r   r   r   r   	to_raw_fdr   r   r   r   closer   s      r   test_to_raw_fdr"      s    	C	,B

C::<2==?b   d3i''']]9% 	JJL	 		 	 	s$   (C B5C 5B>:C Cc                    t        j                  | dz  t         j                  t         j                  z        }t	        |      }|j                  d      5 }|j                  d      sJ 	 d d d        dt        |      v sJ t        j                  t              5  |j                          d d d        t        |       | dz  j                         dk(  sJ y # 1 sw Y   nxY w# 1 sw Y   9xY w)Nr   wabcr   )r
   r   r   r   r   to_filewriter   r   r   r   r   r   	read_text)r   r   r   fs       r   test_to_filer*   -   s    	Cbii!7	8B

C	S	 Qwwu~~ $s)###	y	! 

 "sN%%'5000  s   CC#C #C,c                     t        j                         \  } }	 | j                  d       |j                         }t	        |      }|j                         5 }|j                  d      }|rdj                  |      sJ 	 d d d        dt        |      v sJ t        j                  t              5  |j                          d d d        t        |       | j                          y # 1 sw Y   fxY w# 1 sw Y   1xY w# | j                          w xY w)Ns   abcd   r   )socket
socketpairsendalldetachr   	to_socketrecv
startswithr   r   r   r   r   r   r!   )s1s2sfdr   sockbs         r   test_to_socketr9   =   s     FB


7iikS!]]_ 	/		"A++A....	/ d3i''']]9% 	JJL	 	c

	/ 	/
	 	
 	
s;   <C: 'C"=0C: -C.>C: "C+'C: .C73C: :D)r   r
   r-   r   jeepneyr   r   intr   r   r"   r*   r9        r   <module>r>      s4     	   -/c /1 r=   