
    +g*(                       S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SKrSSK	J
r
  SSKJrJr  SSKJrJr  \(       a  SSKJr  \R&                  S	:H  r\R*                  R-                  \(       + S
S9r\(       a  \R0                  S:X  d   e\(       a  SSKJr  O!\R6                  " \5         SSKJr  SSS5        SS jrSS jrSS jrSS jr SS jr!SS jr"SS jr#SS jr$SS jr%    SS jr&SS jr'\R*                  R-                  \R0                  RQ                  S5      SS9SS j5       r)\SS j5       r*g! , (       d  f       N= f)     )annotationsN)TYPE_CHECKING   )_core)gc_collect_harderskip_if_fbsd_pipes_broken)check_one_way_streamwait_all_tasks_blocked)
_HasFileNoposixz
posix only)reasonunix)FdStreamc                 d   #    [         R                  " 5       u  p[        U5      [        U 5      4$ 7f)zMakes a new pair of pipes.)ospiper   )rws     c/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/trio/_tests/test_unix_pipes.py	make_piper      s%     WWYFQA;##s   .0c                    #    [        5       I S h  vN u  p  [        [        SS5      n[        R                  " U R                  5       SU-  S-  5        M>   NF! [         a     X4$ f = f7f)NPIPE_BUFi       xr   )r   getattrselectr   writefilenoBlockingIOError)sr   buf_sizes      r   make_clogged_piper!   $   sj     DA  vz48HHHQXXZ1!45#  (  4Ks2   A+AA+?A A+
A(#A+'A((A+c                   #    [         R                  " 5       u  p[        U5       IS h  vN nUR                  5       U:X  d   eUR	                  S5      I S h  vN   [         R
                  " U S5      S:X  d   e[         R                  " U 5        S S S 5      IS h  vN   g  Nw NJ N	! , IS h  vN  (       d  f       g = f7fNs   123   )r   r   r   r   send_allreadclose)r   r   sends      r   test_send_piper)   >   s}     779DA{{d{{}!!!mmF###1&(((
 {{# {{{sV   'CB!C+B'B#7B'CB%C#B'%C'B>-B0.B>:Cc                   #    [         R                  " 5       u  p[        U 5       IS h  vN nUR                  5       U :X  d   e[         R                  " US5        UR                  S5      I S h  vN S:X  d   e[         R                  " U5        S S S 5      IS h  vN   g  Nw N3 N	! , IS h  vN  (       d  f       g = f7fr#   )r   r   r   r   r   receive_somer'   )r   r   recvs      r   test_receive_piper-   H   s     779DA{{d!###
F''**v555
 {{ + {{{sW   'CB!CAB'/B#0 B'CB%C#B'%C'B>-B0.B>:Cc                   ^^^#    [        5       I S h  vN u  mmSmSUU4S jjn SUU4S jjn[        R                  " 5        IS h  vN nUR                  U 5        UR                  U5        S S S 5      IS h  vN   TR	                  5       I S h  vN   TR	                  5       I S h  vN   g  N Ni N9! , IS h  vN  (       d  f       NN= f N= N'7f)Ni   c                 Z   >#    [        T5      n TR                  U 5      I S h  vN   g  N7fN)	bytearrayr%   )bigcountr   s    r   sender#test_pipes_combined.<locals>.senderV   s"     nnS!!!s    +)+c                    >#    [        5       I S h  vN   Sn U T:  a-  U [        TR                  S5      I S h  vN 5      -  n U T:  a  M-  U T:X  d   eg  NB N7f)Nr   i   )r
   lenr+   )receivedr3   r&   s    r   reader#test_pipes_combined.<locals>.readerZ   s`     $&&&$"3"3D"99::H  5    	' :s%   AA&AA
A
AAreturnNone)r   r   open_nursery
start_soonaclose)r4   r9   nr3   r&   r   s      @@@r   test_pipes_combinedrB   R   s     !#KE4E" "! ! !!##q	V	V $# ++-
,,.) $ $### su   CB04CB2	C#B6/C:B4;CCC*C+C2C4C6C<B?=C	CCc                   #    [         R                  " [        5         [        S 5        S S S 5        [        R
                  " 5       u  p[        R                  " U5        [        U 5       IS h  vN n[         R                  " [        SS9   UR                  S5      I S h  vN   S S S 5        S S S 5      IS h  vN   g ! , (       d  f       N= f Na N0! , (       d  f       N4= f N+! , IS h  vN  (       d  f       g = f7f)Nz ^max_bytes must be integer >= 1$matchr   )	pytestraises	TypeErrorr   r   r   r'   
ValueErrorr+   )r   r   r   s      r   test_pipe_errorsrJ   j   s     	y	! 
" 779DAHHQK{{a]]:-PQ..### R {{ 
"	!
 # RQ {{{s   D B>AD -C.D 1C&C C!C%C&-D 8C$9D >
CD C
C!	C&$D &C=,C/-C=9D c                 Z  #    [        5       I S h  vN u  pU R                  5       UR                  5       p2A A[        5         [        R                  " [
        SS9 n[        R                  " U5        S S S 5        WR                  R                  [        R                  :X  d   e[        R                  " [
        SS9 n[        R                  " U5        S S S 5        UR                  R                  [        R                  :X  d   eg  N! , (       d  f       N= f! , (       d  f       NL= f7f)NBad file descriptor$rD   )r   r   r   rF   rG   OSErrorr   r'   valueerrnoEBADF)r   r   f1f2excinfos        r   test_delrT   u   s     DAXXZ	1	w&=	>'
 
?==%++---	w&=	>'
 
?==%++--- 
 
?	> 
?	>sA   D+DA
D+D	2AD+=D4D+	
DD+
D($D+c                   #    [        5       I S h  vN u  pU  IS h  vN   U IS h  vN    S S S 5      IS h  vN   S S S 5      IS h  vN   U R                  5       S:X  d   eUR                  5       S:X  d   e[        R                  " [        SS9 n[
        R                  " U R                  5       5        S S S 5        WR                  R                  [        R                  :X  d   e[        R                  " [        SS9 n[
        R                  " UR                  5       5        S S S 5        UR                  R                  [        R                  :X  d   eg  GNK GNA GN9 GN+! , IS h  vN  (       d  f       GNA= f GN9! , IS h  vN  (       d  f       GNO= f! , (       d  f       N= f! , (       d  f       N= f7f)NrL   rD   )
r   r   rF   rG   rM   r   r'   rN   rO   rP   )r   r   rS   s      r   test_async_withrW      s    DAq!! !qq 88:88:	w&=	>'
 
?==%++---	w&=	>'
 
?==%++--- !!!!qqqq 
?	> 
?	>s   GEGEGFE!FE'FE$FG	F
A	G%F 8AG%F1(4GG!F$F'E?	-E0.E?	:FGFFFG 
F.*G1
F?;Gc                   ^#    [        5       I S h  vN u  pUR                  5       nU R                  5       I S h  vN   UR                  5       I S h  vN   [        R                  " 5       u  p4X2:w  a,  [        R
                  " X25        [        R                  " U5        [        U5       IS h  vN mTR                  5       U:X  d   eSU4S jjn[        R                  " 5        IS h  vN nUR                  U5        [        5       I S h  vN   UR                  5       I S h  vN   [        5       I S h  vN   [        R                  " U5        S S S 5      IS h  vN   S S S 5      IS h  vN   g  GNc GN< GN' N N Nr N\ NL N(! , IS h  vN  (       d  f       N== f N4! , IS h  vN  (       d  f       g = f7f)Nc                 P   >#    T R                  S5      I S h  vN S:X  d   eg  N7f)N
       )r+   )r2s   r   
expect_eof6test_misdirected_aclose_regression.<locals>.expect_eof   s#     ,,333,s   &$&r;   )r   r   r@   r   r   dup2r'   r   r   r>   r?   r
   )r   r   old_r_fdr2_fdw2_fdr]   nurseryr\   s          @r   "test_misdirected_aclose_regressionrd      s8    DAxxzH ((*
((* 779LE
 
!!Ryy{h&&&	4 %%''7z*(***
 ((*(*** HHUO (' "!!   " (*
 * (''' "!!!s   F?E4)F?E7F?E:AF?/E=0F?38F%+E?,F%/F	FF	&F'F	8F9F	F%FF%#F?.F#/F?7F?:F?=F??F%F	F	F	F%	F 	FF 	F%#F?%F<+F.,F<8F?c           	       ^^#    SU4S jjn[         R                  R                  R                  m      SUU4S jjnU R	                  [         R                  R                  SU5        [        5       I S h  vN u  nmU IS h  vN   T IS h  vN   [         R                  " 5        IS h  vN nUR                  U5        [        5       I S h  vN   UR                  S5      I S h  vN   S S S 5      IS h  vN   S S S 5      IS h  vN   S S S 5      IS h  vN   g  N N N Nw NV N? N1! , IS h  vN  (       d  f       NF= f N=! , IS h  vN  (       d  f       NR= f NI! , IS h  vN  (       d  f       g = f7f)Nc                    >#    [         R                  " [        R                  5         T R	                  S5      I S h  vN   S S S 5        g  N! , (       d  f       g = f7f)NrZ   )rF   rG   r   ClosedResourceErrorr+   )r   s   r   expect_closedresourceerrorKtest_close_at_bad_time_for_receive_some.<locals>.expect_closedresourceerror   s=     ]]5445..$$$ 65$ 65,   %AAAA	AA
AAc                f   >#    T" X5      I S h  vN   TR                  5       I S h  vN   g  N N7fr0   r@   )selffdorig_wait_readabler   s     r   patched_wait_readableFtest_close_at_bad_time_for_receive_some.<locals>.patched_wait_readable   -      !***hhj 	+   1-1/11wait_readabler   r;   rm   z_core._run.TheIOManagerrn   zint | _HasFileNor<   r=   )
r   _runTheIOManagerrt   setattrr   r>   r?   r
   r%   )monkeypatchrh   rp   r   rc   ro   r   s        @@r   'test_close_at_bad_time_for_receive_somerz      s    % 00>>% 
  

//BWXDAqq!!%%''79:(*****T"""	 (' !qqq !'*"	 (''' !!!qqqqs  A4F8D!9FD#F
E'D%E'E/D'
0E3D/D)
D/+D+
,D/0E;D-<E E'E	E'FE%F#F%E''E)D/+D/-E/E5D86EE	E'E"	EE"	E'%F'E>-E0.E>:Fc           	     \  ^^#    SU4S jjn[         R                  R                  R                  m      SUU4S jjnU R	                  [         R                  R                  SU5        [        5       I S h  vN u  mnT IS h  vN   U IS h  vN   [         R                  " 5        IS h  vN nUR                  U5        [        5       I S h  vN   UR                  S5      I S h  vN nU(       a"  UR                  S5      I S h  vN nU(       a  M"  S S S 5      IS h  vN   S S S 5      IS h  vN   S S S 5      IS h  vN   g  N N N N N Nh NJ N3! , IS h  vN  (       d  f       NH= f N?! , IS h  vN  (       d  f       NT= f NK! , IS h  vN  (       d  f       g = f7f)Nc                    >#    [         R                  " [        R                  5         T R	                  S5      I S h  vN   S S S 5        g  N! , (       d  f       g = f7f)Nsd   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)rF   rG   r   rg   r%   )r   s   r   rh   Gtest_close_at_bad_time_for_send_all.<locals>.expect_closedresourceerror   s=     ]]5445**Z((( 65( 65rj   c                f   >#    T" X5      I S h  vN   TR                  5       I S h  vN   g  N N7fr0   rl   )rm   rn   orig_wait_writabler   s     r   patched_wait_writableBtest_close_at_bad_time_for_send_all.<locals>.patched_wait_writable   rr   rs   wait_writablei'  r;   ru   )
r   rv   rw   r   rx   r!   r>   r?   r
   r+   )ry   rh   r   r   rc   received_datar   r   s         @@r   #test_close_at_bad_time_for_send_allr      s(    ) 00>>% 
  

//BWX"$$DAqq!!%%''79:(*** #$.."77M&'nnU&; ;  - (' !qqq %!'* 8 ; (''' !!!qqqqs   A4F,8E
9F,EF,
FEFE6/E
0E63EE
E+E
,EE
EE6$E%E6)F4E45F9F,FF,F,FE6EEEE6E1 E#!E1-E64F6F	<E?=F		FF,F)FF)%F,freebsdz7no way to make read() return a bizarro error on FreeBSDc                   #    [        5       I S h  vN u  pU  IS h  vN   U IS h  vN   [        R                  " S[        R                  S5      n [        R                  " X!R                  5       5        [        R                  " [        R                  5         UR                  S5      I S h  vN   S S S 5        [        R                  " U5        S S S 5      IS h  vN   S S S 5      IS h  vN   g  N N N NI! , (       d  f       NM= f! [        R                  " U5        f = f NI! , IS h  vN  (       d  f       N^= f NU! , IS h  vN  (       d  f       g = f7f)N/r   rZ   )r   r   openO_DIRECTORYr_   r   rF   rG   r   BrokenResourceErrorr+   r'   )r   r   dir_fds      r   !test_bizarro_OSError_from_receiver   
  s      DAq!!bnna0	GGFHHJ'u889nnR((( : HHV !qqq !
 ) :9 HHV !!!qqqqs   E!C5E!C7E!EC9E'D+ADC=1C;
2C=6D>D+ED) E$E!/E0E!7E!9E;C==
DDD&&D+)E+E	1D42E	>EE!EEEE!c                 H   #    [        [        [        5      I S h  vN   g  N7fr0   )r	   r   r!    r[   r   test_pipe_fullyr   !  s     
y*;
<<<s   " ")r<   ztuple[FdStream, FdStream]r;   )ry   zpytest.MonkeyPatchr<   r=   )+
__future__r   rO   r   r   systypingr   rF    r   _core._tests.tutilr   r   testingr	   r
   _file_ior   namer   markskipif
pytestmarkplatform_unix_pipesr   rG   ImportErrorr   r!   r)   r-   rB   rJ   rT   rW   rd   rz   r   
startswithr   r   r   r[   r   <module>r      s%   "  	  
     M B%
7[[E	,?
CLLF2 22&	{	#* 
$$40$.."#L###	#B'<\ LLI&D  	& = =Q 
$	#s   +D;;
E	