
    +g                    Z   S SK J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
  \R                  R                  \R                  S:g  SS	9r\R                  S:X  d	  \(       a   e\R                  S:X  a  S S
KJr  SSKJrJr  SSKJr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g)    )annotationsN)TYPE_CHECKING   )_core)check_one_way_streamwait_all_tasks_blockedwin32zwindows only)reason)pipe)_handlekernel32)PipeReceiveStreamPipeSendStreamc                 N   #    [        5       u  p[        U5      [        U 5      4$ 7f)zMakes a new pair of pipes.)r   r   r   )rws     f/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/trio/_tests/test_windows_pipes.py	make_piper      s$     VFQ!/222s   #%c                     [         R                  " [        5         [        S5        S S S 5        [         R                  " [        5         [	        S 5        S S S 5        g ! , (       d  f       N== f! , (       d  f       g = f)Ng      ?)pytestraises	TypeErrorr   r        r   test_pipe_typecheckr      sG    	y	!s 
"	y	!$ 
"	! 
"	!	!	!s   A	A/
A,/
A=c                   #    [        5       u  p[        U5      n[        U 5      n[        R                  " [        U 5      5      (       d   e[        R                  " [        U5      5      (       d   e[        R                  " [        SS9   UR                  5       I S h  vN   S S S 5        [        R                  " [        SS9   UR                  5       I S h  vN   S S S 5        g  NG! , (       d  f       NK= f N ! , (       d  f       g = f7f)Nz&^\[WinError 6\] The handle is invalid$)match)
r   r   r   r   CloseHandler   r   r   OSErroraclose)r   r   send_streamreceive_streams       r   test_pipe_error_on_closer#   &   s     6DA #K&q)N
++++
++++	w&O	P  """ 
Q	w&O	P##%%% 
Q	P 	# 
Q	P 	& 
Q	PsZ   BD
C(C&C(#!DC;C9C;	D&C((
C62D9C;;
D	Dc                 N  ^^^^#    [        5       I S h  vN u  mmSmSmSUUU4S jjn SU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   g  Np N9 N	! , IS h  vN  (       d  f       g = f7f)Ni      c                    >#    T IS h  vN   [        T5      n [        T5       H  nTR                  U 5      I S h  vN   M     S S S 5      IS h  vN   g  NK N N	! , IS h  vN  (       d  f       g = f7fN)	bytearrayrangesend_all)big_countreplicaswrites     r   sender#test_pipes_combined.<locals>.sender;   sN     5E"C8_nnS))) % 55 * 555sT   A6AA6.AAAA6AA6AA6A3"A%#A3/A6c                 (  >#    T IS h  vN   [        5       I S h  vN   Sn  [        TR                  S5      I S h  vN 5      nU(       d  OX-  n M0  U TT-  :X  d   eS S S 5      IS h  vN   g  Ne NU N6 N! , IS h  vN  (       d  f       g = f7f)Nr   i  )r   lenreceive_some)total_receivedreceivedr-   readr.   s     r   reader#test_pipes_combined.<locals>.readerA   s{     4(***NT%6%6t%<<=*  "UX%5555 44*  = 444sd   BA0BA8A2 A8A4
!A8B*A6+B2A84A86B8B>B?BBreturnNone)r   r   open_nursery
start_soon)r0   r8   nr-   r7   r.   r/   s      @@@@r   test_pipes_combinedr@   6   s{     !#KE4EH* *6 6 !!##q	V	V $##/ $. $###sW   B%B8B%BB%#B4B%?B	 B%B%	B%B"BB"B%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   [        R                  " [        R                  5         U R                  S5      I S h  vN   S S S 5        [        R                  " [        R                  5         UR                  S5      I S h  vN   S S S 5        g  N N N N! , IS h  vN  (       d  f       N= f N! , IS h  vN  (       d  f       N= f N! , (       d  f       N= f N^! , (       d  f       g = f7f)Nr   
   )r   r   r   r   ClosedResourceErrorr*   r4   )r   r   s     r   test_async_withrD   S   s     DAq!! !qq 
u00	1jjo 
2	u00	1nnR    
2	1 !!!!qqqq 	 
2	1 	! 
2	1s   D?CD?CD?C?CC?C#C?C!C?D?	C=
(D?2DDD,D?8D.D,D.
D?D?C?!C?#C:	)C,*C:	6C?=D??DDDD?D
D)%D?,D..
D<8D?c                 d  ^#    [        5       I S h  vN u  mn [        R                  " 5        IS h  vN nSU4S jjnUR                  U5        [	        S5      I S h  vN   TR                  5       I S h  vN   S S S 5      IS h  vN   g  Nz N[ N1 N N! , IS h  vN  (       d  f       g = f7f)Nc                    >#    [         R                  " [        R                  5       n  TR	                  S5      I S h  vN   M   N! , (       d  f       O= fS[        W R                  5      ;   d   eg 7f)Ns   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzanother task)r   r   r   rC   r*   strvalue)excinfor   s    r   write_forever.test_close_during_write.<locals>.write_foreverb   sY     u889W**[111 1 :9 "S%7777s    %A4AAA
A#A4g?r:   )r   r   r=   r>   r   r    )_rnurseryrJ   r   s      @r   test_close_during_writerN   ^   s     +EAr!!##w	8 	=)$S)))hhj $## # 	* $###sx   B0B B0BB0(BBB6B7B;B0BB0B0BBB0B-BB-)B0c                 @   #    [        [        S 5      I S h  vN   g  N7fr'   )r   r   r   r   r   test_pipe_fullyrP   m   s      y$
///s   )r;   z(tuple[PipeSendStream, PipeReceiveStream]r:   )
__future__r   systypingr   r    r   testingr   r   markskipifplatform
pytestmarkasyncio.windows_utilsr   _core._windows_cffir   r   _windows_pipesr   r   r   r   r#   r@   rD   rN   rP   r   r   r   <module>r]      s    " 
     B [[ 7O
 LLG=0 <<7*7B3 & :!0r   