+
    BiW                     j   ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]P,                  R	8X  d   ]P.                  ! R
4      h^ RIt^ RIHt ^ RIHt R t]P<                  tR t R t!R t"]PF                  ! ]R4       ! R R]PH                  4      4       t%]PF                  ! ]&! ]	R4      R4       ! R R]PH                  4      4       t']PF                  ! ]&! ]R4      R4       ! R R]PH                  4      4       t( ! R R]PH                  4      t) ! R R]PH                  4      t* ! R  R!]PH                  4      t+]PX                  ! 4        ! R" R#]PZ                  4      4       t.]/R$8X  d   ]P`                  ! 4        R# R# )%    N)_cleanup_tests)mock)support)	os_helper)socket_helper)wait_process)hashlib_helperwin32z	UNIX only)unix_events)utilsc                  D    \         P                  P                  R 4       R # N)asyncioevents_set_event_loop_policy     9/usr/lib/python3.14/test/test_asyncio/test_unix_events.pytearDownModuler       s    NN))$/r   c                     R V ,           # )   r   exitcodes   &r   EXITCODEr   '   s    8r   c                 R    ^T u;8:  d   ^D8:  g   M \        RV  24      hRV ,
          # )   zinvalid signum r   )AssertionError)signums   &r   SIGNALr   +   s+    "vh7886>r   c                 h    V P                   f   R # V P                   P                  4        R V n         R # r   )_pipeclose)	transports   &r   close_pipe_transportr$   1   s(     OOIOr   zSignals are not supportedc                   \  a a ] tR t^:t oV 3R ltR tR tR t]P                  ! R4      R 4       t
]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      R	 4       t]P                  ! R4      ]P                  ! R
4      R 4       4       t]P                  ! R4      ]P                  ! R
4      R 4       4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      ]P                  ! R
4      R 4       4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      ]P                  ! R4      R 4       4       tRtVtV ;t# )SelectorEventLoopSignalTestsc                   < \         SV `  4        \        P                  ! 4       V n        V P                  V P                  4       R # r   supersetUpr   SelectorEventLooploopset_event_loopself	__class__s   &r   r*   "SelectorEventLoopSignalTests.setUp=   .    --/	DII&r   c                    V P                  \        V P                  P                  R 4       V P                  \        V P                  P                  \
        P                  ^,           4       R# )1N)assertRaises	TypeErrorr,   _check_signal
ValueErrorsignalNSIGr/   s   &r   test_check_signal.SelectorEventLoopSignalTests.test_check_signalB   sI    tyy..	5		//q	Br   c                f    V P                   P                  \        P                  ^,           4       R# )r   N)r,   _handle_signalr9   r:   r;   s   &r   test_handle_signal_no_handler:SelectorEventLoopSignalTests.test_handle_signal_no_handlerH   s    		  q1r   c                   \         P                  ! \        P                  ! 4       R\        P                  ! 4       R 7      pVP	                  4        WP
                  P                  \        P                  ^,           &   \        P                  ! 4       V P
                  n	        V P
                  P                  \        P                  ^,           4       V P
                  P                  P                  \        P                  ^,           4       R# )r,   Nr   )r   Handler   Mockcancelr,   _signal_handlersr9   r:   remove_signal_handlerr?   assert_called_with)r/   hs   & r   $test_handle_signal_cancelled_handlerASelectorEventLoopSignalTests.test_handle_signal_cancelled_handlerK   s    NN499; $		-	
67		""6;;?3*.))+		'		  q1		''::6;;?Kr   zasyncio.unix_events.signalc                    \         P                  Vn        \         P                  Vn        \        VP                  n        V P                  \        V P                  P                  \         P                  R  4       R# )c                      R # Tr   r   r   r   <lambda>RSelectorEventLoopSignalTests.test_add_signal_handler_setup_error.<locals>.<lambda>]       4r   N)r9   r:   valid_signalsr8   set_wakeup_fdside_effectr5   RuntimeErrorr,   add_signal_handlerSIGINTr/   m_signals   &&r   #test_add_signal_handler_setup_error@SelectorEventLoopSignalTests.test_add_signal_handler_setup_errorT   sP    !'!5!5-7*II((MM<	)r   c                   \         P                  Vn        R  pTpV! 4       pV P                  VP                  4       W43 F>  pV P	                  \
        RV P                  P                  \         P                  V4       K@  	  R# )c                     "   R # 5ir   r   r   r   r   simple_coroutine^SelectorEventLoopSignalTests.test_add_signal_handler_coroutine_error.<locals>.simple_coroutinec   s     s   z1coroutines cannot be used with add_signal_handlerN)	r9   r:   
addCleanupr"   assertRaisesRegexr6   r,   rW   rX   )r/   rZ   r_   	coro_funccoro_objfuncs   &&    r   'test_add_signal_handler_coroutine_errorDSelectorEventLoopSignalTests.test_add_signal_handler_coroutine_error_   sg    	 %	;')D""N		,,t% *r   c                   \         P                  Vn        \         P                  Vn        R  pV P                  P	                  \         P
                  V4       V P                  P                  P                  \         P
                  4      pV P                  V\        P                  4       V P                  VP                  V4       R# )c                      R # rO   r   r   r   r   rP   FSelectorEventLoopSignalTests.test_add_signal_handler.<locals>.<lambda>u       Tr   N)r9   r:   rS   r,   rW   SIGHUPrG   getassertIsInstancer   rD   assertEqual	_callback)r/   rZ   cbrJ   s   &&  r   test_add_signal_handler4SelectorEventLoopSignalTests.test_add_signal_handlerp   s~    !'!5!5		$$V]]B7II&&**6==9a0b)r   c                   \         P                  Vn        \         P                  Vn        R  pW!n         ! R R\        4      pW1P                   n        V P                  VV P                  P                  \         P                  R 4       R# )c                 (    V R8X  d   \        4       hR# )r   N)r8   )fds   &r   rT   YSelectorEventLoopSignalTests.test_add_signal_handler_install_error.<locals>.set_wakeup_fd   s    Rx l" r   c                   .    ] tR t^t]P
                  tRtR# )OSelectorEventLoopSignalTests.test_add_signal_handler_install_error.<locals>.Errr   N)__name__
__module____qualname____firstlineno__errnoEFAULT__static_attributes__r   r   r   Errrz          LLEr   r   c                      R # rO   r   r   r   r   rP   TSelectorEventLoopSignalTests.test_add_signal_handler_install_error.<locals>.<lambda>   rR   r   N)
r9   r:   rS   rT   OSErrorrU   r5   r,   rW   rX   )r/   rZ   rT   r   s   &&  r   %test_add_signal_handler_install_errorBSelectorEventLoopSignalTests.test_add_signal_handler_install_error{   se    !'!5!5	# "/	!' 	!&)#II((MM<	)r   zasyncio.base_events.loggerc                   \         P                  Vn        \         P                  Vn         ! R  R\        4      pW2P                   n        R V P
                  P                  \         P                  &   V P                  \        V P
                  P                  \         P                  R 4       V P                  VP                  P                  4       V P                  ^VP                   P"                  4       R# )c                   .    ] tR t^t]P
                  tRtR# )PSelectorEventLoopSignalTests.test_add_signal_handler_install_error2.<locals>.Errr   Nr{   r|   r}   r~   r   EINVALr   r   r   r   r   r      r   r   r   c                      R # rO   r   r   r   r   rP   USelectorEventLoopSignalTests.test_add_signal_handler_install_error2.<locals>.<lambda>       Dr   c                      R # rO   r   r   r   r   rP   r      rR   r   N)r9   r:   rS   r   rU   r,   rG   rl   r5   rV   rW   rX   assertFalseinfocalledro   rT   
call_countr/   	m_loggingrZ   r   s   &&& r   &test_add_signal_handler_install_error2CSelectorEventLoopSignalTests.test_add_signal_handler_install_error2   s     !'!5!5	!' 	!&)#4@		""6==1II((MM<	) 	../H22==>r   c                    ! R  R\         4      pW2P                  n        \        P                  Vn        \        P                  Vn        V P                  \        V P                  P                  \        P                  R 4       V P                  VP                  P                  4       V P                  ^VP                  P                  4       R# )c                   .    ] tR t^t]P
                  tRtR# )PSelectorEventLoopSignalTests.test_add_signal_handler_install_error3.<locals>.Errr   Nr   r   r   r   r   r      r   r   r   c                      R # rO   r   r   r   r   rP   USelectorEventLoopSignalTests.test_add_signal_handler_install_error3.<locals>.<lambda>   rR   r   N)r   r9   rU   r:   rS   r5   rV   r,   rW   rX   r   r   r   ro   rT   r   r   s   &&& r   &test_add_signal_handler_install_error3CSelectorEventLoopSignalTests.test_add_signal_handler_install_error3   s    	!' 	!&)#!'!5!5II((MM<	) 	../H22==>r   c                B   \         P                  Vn        \         P                  Vn        V P                  P	                  \         P
                  R  4       V P                  V P                  P                  \         P
                  4      4       V P                  VP                  P                  4       V P                  VP                   P                  4       V P                  \         P
                  VP                  3VP                   P                  ^ ,          4       R# )c                      R # rO   r   r   r   r   rP   ISelectorEventLoopSignalTests.test_remove_signal_handler.<locals>.<lambda>   r   r   N)r9   r:   rS   r,   rW   rl   
assertTruerH   rT   r   ro   SIG_DFL	call_argsrY   s   &&r   test_remove_signal_handler7SelectorEventLoopSignalTests.test_remove_signal_handler   s    !'!5!5		$$V]]LAII++FMM:	<..556../]]H,,-x/H/H/K	Mr   c                   \         P                  Vn        \         P                  Vn        \         P                  Vn        V P                  P                  \         P                  R  4       \        4       V P                  P                  \         P                  &   VP                  P                  4        V P                  V P                  P                  \         P                  4      4       V P                  VP                  P                  4       V P                  VP                   P                  4       V P                  \         P                  VP                   3VP                   P"                  ^ ,          4       R# )c                      R # rO   r   r   r   r   rP   KSelectorEventLoopSignalTests.test_remove_signal_handler_2.<locals>.<lambda>   r   r   N)r9   r:   rX   rS   r,   rW   objectrG   rl   rT   
reset_mockr   rH   r   r   ro   default_int_handlerr   rY   s   &&r   test_remove_signal_handler_29SelectorEventLoopSignalTests.test_remove_signal_handler_2   s     --!'!5!5		$$V]]LA4:H		""6==1))+II++FMM:	<//667../]]H889OO%%a(	*r   c                b   \         P                  Vn        \         P                  Vn        V P                  P	                  \         P
                  R  4       \        VP                  n        V P                  P                  \         P
                  4       V P                  VP                  4       R# )c                      R # rO   r   r   r   r   rP   WSelectorEventLoopSignalTests.test_remove_signal_handler_cleanup_error.<locals>.<lambda>   r   r   N)r9   r:   rS   r,   rW   rl   r8   rT   rU   rH   r   r   )r/   r   rZ   s   &&&r   (test_remove_signal_handler_cleanup_errorESelectorEventLoopSignalTests.test_remove_signal_handler_cleanup_error   si     !'!5!5		$$V]]LA-7*		''6	'r   c                L   \         P                  Vn        \         P                  Vn        V P                  P	                  \         P
                  R  4       \        VP                   n        V P                  \        V P                  P                  \         P
                  4       R# )c                      R # rO   r   r   r   r   rP   OSelectorEventLoopSignalTests.test_remove_signal_handler_error.<locals>.<lambda>   r   r   N)
r9   r:   rS   r,   rW   rl   r   rU   r5   rH   rY   s   &&r    test_remove_signal_handler_error=SelectorEventLoopSignalTests.test_remove_signal_handler_error   sc    !'!5!5		$$V]]LA&-#TYY44fmm	Er   c                `   \         P                  Vn        \         P                  Vn        V P                  P	                  \         P
                  R  4        ! R R\        4      pW!P                   n        V P                  \        V P                  P                  \         P
                  4       R# )c                      R # rO   r   r   r   r   rP   PSelectorEventLoopSignalTests.test_remove_signal_handler_error2.<locals>.<lambda>   r   r   c                   .    ] tR t^t]P
                  tRtR# )KSelectorEventLoopSignalTests.test_remove_signal_handler_error2.<locals>.Errr   Nr   r   r   r   r   r      r   r   r   N)r9   r:   rS   r,   rW   rl   r   rU   r5   rV   rH   )r/   rZ   r   s   && r   !test_remove_signal_handler_error2>SelectorEventLoopSignalTests.test_remove_signal_handler_error2   sm    !'!5!5		$$V]]LA	!' 	!&)#$))996==	Jr   c                `   \         P                  Vn        \         P                  Vn        V P                  P	                  \         P
                  R  4       V P                  P	                  \         P                  R 4       V P                  \        V P                  P                  4      ^4       VP                  P                  4        V P                  P                  4        V P                  \        V P                  P                  4      ^ 4       VP                  P                  R4       R# )c                      R # rO   r   r   r   r   rP   9SelectorEventLoopSignalTests.test_close.<locals>.<lambda>   r   r   c                      R # rO   r   r   r   r   rP   r      s    Tr   Nrv   )r9   r:   rS   r,   rW   rl   SIGCHLDro   lenrG   rT   r   r"   assert_called_once_withrY   s   &&r   
test_close'SelectorEventLoopSignalTests.test_close   s    !'!5!5		$$V]]LA		$$V^^\BTYY778!<))+		TYY778!<66r:r   zasyncio.unix_events.sysc                   \         P                  Vn        \         P                  Vn        V P                  P	                  \         P
                  R  4       V P                  \        V P                  P                  4      ^4       RVP                  n
        VP                   P                  4        V P                  \        R4      ;_uu_ 4        V P                  P                  4        RRR4       V P                  \        V P                  P                  4      ^ 4       V P                  VP                   P                   4       R#   + '       g   i     Lf; i)c                      R # rO   r   r   r   r   rP   GSelectorEventLoopSignalTests.test_close_on_finalizing.<locals>.<lambda>
  r   r   Tz skipping signal handlers removalN)r9   r:   rS   r,   rW   rl   ro   r   rG   is_finalizingreturn_valuer   assertWarnsRegexResourceWarningr"   r   r   )r/   rZ   m_syss   &&&r   test_close_on_finalizing5SelectorEventLoopSignalTests.test_close_on_finalizing  s     !'!5!5		$$V]]LATYY778!<+/(""$""?#EG GIIOOG 	TYY778!<//0G Gs   EE	rC   )r{   r|   r}   r~   r*   r<   r@   rK   r   patchr[   rf   rr   r   r   r   r   r   r   r   r   r   r   r   __classdictcell____classcell__r0   __classdict__s   @@r   r&   r&   :   s    '
B2L 
ZZ,-) .) 
ZZ,-% .%  
ZZ,-* .* 
ZZ,-) .)$ 
ZZ,-	ZZ,-? . .?  
ZZ,-	ZZ,-? . .? 
ZZ,-M .M 
ZZ,-* .*" 
ZZ,-	ZZ,-( . .( 
ZZ,-E .E 
ZZ,-
J .
J 
ZZ,-; .;  
ZZ)*	ZZ,-1 . +1 1r   r&   AF_UNIXzUNIX Sockets are not supportedc                   V  a a ] tR tRt oV 3R lt]P                  R 4       t]P                  R 4       tR t	R t
R tR tR	 tR
 t]P                   ! ]! ]R4      R4      ]P                  R 4       4       tR tR t]P.                  ! R4      R 4       tR tR tR tR tR tRtVtV ;t # ) SelectorEventLoopUnixSocketTestsi  c                   < \         SV `  4        \        P                  ! 4       V n        V P                  V P                  4       R # r   r(   r.   s   &r   r*   &SelectorEventLoopUnixSocketTests.setUp  r2   r   c                   \         P                  ! 4       ;_uu_ 4       p\        P                  ! \        P                  4      pVP	                  V4       VP                  ^4       VP                  4        V P                  P                  R V4      pV P                  P                  V4      pVP                  4        V P                  P                  VP                  4       4       RRR4       R#   + '       g   i     R# ; i)r   c                      R # r   r   r   r   r   rP   ]SelectorEventLoopUnixSocketTests.test_create_unix_server_existing_path_sock.<locals>.<lambda>)      r   N)
test_utilsunix_socket_pathsocketr   bindlistenr"   r,   create_unix_serverrun_until_completewait_closed)r/   pathsockcorosrvs   &    r   *test_create_unix_server_existing_path_sockKSelectorEventLoopUnixSocketTests.test_create_unix_server_existing_path_sock!  s    ((**d==0DIIdOKKNJJL99//dCD))..t4CIIKII(():; +***s   CC00D	c                   \         P                  ! 4       ;_uu_ 4       p\        P                  ! V4      pV P                  P                  R  V4      pV P                  P                  V4      pVP                  4        V P                  P                  VP                  4       4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   SSelectorEventLoopUnixSocketTests.test_create_unix_server_pathlike.<locals>.<lambda>2  r   r   N)	r   r   r   FakePathr,   r   r   r"   r   )r/   r   srv_coror   s   &   r    test_create_unix_server_pathlikeASelectorEventLoopUnixSocketTests.test_create_unix_server_pathlike.  s~    ((**d%%d+Dyy33L$GH))..x8CIIKII(():; +***s   BB00C	c           	        \         P                  ! 4       ;_uu_ 4       p\        P                  ! V4      pV P                  P                  R  V4      pV P                  \        4      ;_uu_ 4        V P                  P                  V4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   WSelectorEventLoopUnixSocketTests.test_create_unix_connection_pathlike.<locals>.<lambda>:  r   r   N)	r   r   r   r   r,   create_unix_connectionr5   FileNotFoundErrorr   r/   r   r   s   &  r   $test_create_unix_connection_pathlikeESelectorEventLoopUnixSocketTests.test_create_unix_connection_pathlike7  s    ((**d%%d+D9933L$GD""#455 		,,T2 6 +* 65 +**s$   AB0/B	B0B-(B00C	c                   \         P                  ! 4       pV P                  \        P                  V4       \        VR 4      P                  4        V P                  P                  R V4      pV P                  \        R4      ;_uu_ 4        V P                  P                  V4       RRR4       R#   + '       g   i     R# ; i)wbc                      R # r   r   r   r   r   rP   `SelectorEventLoopUnixSocketTests.test_create_unix_server_existing_path_nonsock.<locals>.<lambda>F      Dr   zAddress.*is already in useN)r   gen_unix_socket_pathra   r   unlinkopenr"   r,   r   rb   r   r   r   s   &  r   -test_create_unix_server_existing_path_nonsockNSelectorEventLoopUnixSocketTests.test_create_unix_server_existing_path_nonsock@  s    ..0	(($/T4 yy++L$?##G$@B BII((.B B B Bs   B11C	c                    V P                   P                  R  RRR7      pV P                  \        R4      ;_uu_ 4        V P                   P	                  V4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   SSelectorEventLoopUnixSocketTests.test_create_unix_server_ssl_bool.<locals>.<lambda>L  r  r   spamT)r   sslz"ssl argument must be an SSLContextN)r,   r   rb   r6   r   r/   r   s   & r    test_create_unix_server_ssl_boolASelectorEventLoopUnixSocketTests.test_create_unix_server_ssl_boolK  sg    yy++Lv04 , 6##I$HJ JII((.J J J J   A$$A5	c                    V P                   P                  R  RR7      pV P                  \        R4      ;_uu_ 4        V P                   P	                  V4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   XSelectorEventLoopUnixSocketTests.test_create_unix_server_nopath_nosock.<locals>.<lambda>S  r  r   Nr   z#path was not specified, and no sockr,   r   rb   r8   r   r  s   & r   %test_create_unix_server_nopath_nosockFSelectorEventLoopUnixSocketTests.test_create_unix_server_nopath_nosockR  s`    yy++Lt+D##J$IK KII((.K K K Ks   A##A4	c           	     f   \         P                   ! 4       pT;_uu_ 4        V P                  P                  R  RVR7      pV P                  \        R4      ;_uu_ 4        V P                  P                  V4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   XSelectorEventLoopUnixSocketTests.test_create_unix_server_path_inetsock.<locals>.<lambda>[  r   r   Nr   r   "A UNIX Domain Stream.*was expected)r   r,   r   rb   r8   r   r/   r   r   s   &  r   %test_create_unix_server_path_inetsockFSelectorEventLoopUnixSocketTests.test_create_unix_server_path_inetsockX  s    }}T99//459 0 ;D''
(LN N		,,T2N TN N TTs#   >BB	:BBBB0	c           	        \         P                   ! \         P                  \         P                  4      pT;_uu_ 4        V P                  P	                  R  RVR7      pV P                  \        R4      ;_uu_ 4        V P                  P                  V4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   USelectorEventLoopUnixSocketTests.test_create_unix_server_path_dgram.<locals>.<lambda>d  r   r   Nr  r  )r   r   
SOCK_DGRAMr,   r   rb   r8   r   r  s   &  r   "test_create_unix_server_path_dgramCSelectorEventLoopUnixSocketTests.test_create_unix_server_path_dgrama  s    }}V^^V->->?T99//459 0 ;D''
(LN N		,,T2N TN N TTs#   >B=<B*	B=*B:5B==C	SOCK_NONBLOCKz$no socket.SOCK_NONBLOCK (linux only)c                V   \         P                  ! 4       pV P                  \        P                  V4       \
        P
                  ! \
        P                  \
        P                  \
        P                  ,          4      pV;_uu_ 4        VP                  V4       V P                  P                  R  RVR7      pV P                  P                  V4      pVP                  4        V P                  P                  VP                  4       4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   ^SelectorEventLoopUnixSocketTests.test_create_unix_server_path_stream_bittype.<locals>.<lambda>u  r   r   Nr  )r   r  ra   r   r  r   r   SOCK_STREAMr(  r   r,   r   r   r"   r   )r/   fnr   r   r   s   &    r   +test_create_unix_server_path_stream_bittypeLSelectorEventLoopUnixSocketTests.test_create_unix_server_path_stream_bittypej  s     ,,.	(("-}}V^^#//&2F2FFHTIIbM99//459 0 ;D))..t4CIIKII(():; TTTs   BDD(	c                    V P                   P                  R  R^R7      pV P                  \        R4      ;_uu_ 4        V P                   P	                  V4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   fSelectorEventLoopUnixSocketTests.test_create_unix_server_ssl_timeout_with_plain_sock.<locals>.<lambda>|  r  r   r  r   ssl_handshake_timeout1ssl_handshake_timeout is only meaningful with sslNr  r  s   & r   3test_create_unix_server_ssl_timeout_with_plain_sockTSelectorEventLoopUnixSocketTests.test_create_unix_server_ssl_timeout_with_plain_sock{  sk    yy++LvBC , E##CE E II((.E E E Er  c           	     d   \         P                   ! 4       pT;_uu_ 4        V P                  P                  R  VR7      pV P                  \        R4      ;_uu_ 4        V P                  P                  V4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   \SelectorEventLoopUnixSocketTests.test_create_unix_connection_path_inetsock.<locals>.<lambda>  r   r   r   r  N)r   r,   r   rb   r8   r   r  s   &  r   )test_create_unix_connection_path_inetsockJSelectorEventLoopUnixSocketTests.test_create_unix_connection_path_inetsock  s    }}T9933L9= 4 ?D''
(LN N		,,T2N TN N TTs#   =BB	9BBBB/	zasyncio.unix_events.socketc                    \         P                  ! 4       pW!P                  n        \        VP
                  n        V P                  P                  R  RR7      pV P                  \        4      ;_uu_ 4        V P                  P                  V4       RRR4       V P                  VP                  P                  4       \        VP
                  n        V P                  P                  R RR7      pV P                  \        4      ;_uu_ 4        V P                  P                  V4       RRR4       V P                  VP                  P                  4       R#   + '       g   i     L; i  + '       g   i     LJ; i)c                      R # r   r   r   r   r   rP   USelectorEventLoopUnixSocketTests.test_create_unix_server_bind_error.<locals>.<lambda>  r  r   z/testr  Nc                      R # r   r   r   r   r   rP   r@    r  r   )r   rE   r   r   r   r   rU   r,   r   r5   r   r   r"   r   MemoryError)r/   m_socketr   r   s   &&  r   "test_create_unix_server_bind_errorCSelectorEventLoopUnixSocketTests.test_create_unix_server_bind_error  s     yy{'+$ '		yy++Lw+Gw''II((. (

))* +		yy++Lw+G{++II((. ,

))* (' ,+s   6EE-E*	-E=	c                   V P                   P                  R  \        P                  \	        4       R7      pV P                  \        R4      ;_uu_ 4        V P                   P                  V4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   XSelectorEventLoopUnixSocketTests.test_create_unix_connection_path_sock.<locals>.<lambda>      Dr   r;  zpath and sock can not beN)r,   r   osdevnullr   rb   r8   r   r  s   & r   %test_create_unix_connection_path_sockFSelectorEventLoopUnixSocketTests.test_create_unix_connection_path_sock  s^    yy//"**68 0 5##J0JKKII((. LKKKs   A::B	c                    V P                   P                  R  R4      pV P                  \        R4      ;_uu_ 4        V P                   P	                  V4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   \SelectorEventLoopUnixSocketTests.test_create_unix_connection_nopath_nosock.<locals>.<lambda>  rI  r   Nzno path and sock were specifiedr,   r   rb   r8   r   r  s   & r   )test_create_unix_connection_nopath_nosockJSelectorEventLoopUnixSocketTests.test_create_unix_connection_nopath_nosock  s`    yy//$ ##J$EG GII((.G G G Gs   A""A3	c                   V P                   P                  R  \        P                  RR7      pV P	                  \
        R4      ;_uu_ 4        V P                   P                  V4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   _SelectorEventLoopUnixSocketTests.test_create_unix_connection_nossl_serverhost.<locals>.<lambda>  rI  r   r  )server_hostnamez"server_hostname is only meaningfulNr,   r   rJ  rK  rb   r8   r   r  s   & r   ,test_create_unix_connection_nossl_serverhostMSelectorEventLoopUnixSocketTests.test_create_unix_connection_nossl_serverhost  sk    yy//"**f 0 >##J$HJ JII((.J J J J   A22B	c                   V P                   P                  R  \        P                  RR7      pV P	                  \
        R4      ;_uu_ 4        V P                   P                  V4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   _SelectorEventLoopUnixSocketTests.test_create_unix_connection_ssl_noserverhost.<locals>.<lambda>  rI  r   T)r  z/you have to pass server_hostname when using sslNrX  r  s   & r   ,test_create_unix_connection_ssl_noserverhostMSelectorEventLoopUnixSocketTests.test_create_unix_connection_ssl_noserverhost  sp    yy//"**$ 0 0 ##IK K II((.K K K Kr[  c                    V P                   P                  R  R^R7      pV P                  \        R4      ;_uu_ 4        V P                   P	                  V4       RRR4       R#   + '       g   i     R# ; i)c                      R # r   r   r   r   r   rP   jSelectorEventLoopUnixSocketTests.test_create_unix_connection_ssl_timeout_with_plain_sock.<locals>.<lambda>  r   r   r  r3  r5  NrQ  r  s   & r   7test_create_unix_connection_ssl_timeout_with_plain_sockXSelectorEventLoopUnixSocketTests.test_create_unix_connection_ssl_timeout_with_plain_sock  sk    yy//6BC 0 E##CE E II((.E E E Er  rC   )!r{   r|   r}   r~   r*   r   skip_unless_bind_unix_socketr   r   r   r  r  r  r   r&  unittest
skipUnlesshasattrr   r.  r6  r<  r   r   rD  rL  rR  rY  r_  rd  r   r   r   r   s   @@r   r   r     s     '
 //
< 0
< //< 0<3	///33 9?A//< 0A</3 
ZZ,-+ .+"///// /r   r   sendfilezsendfile is not supportedc                      a a ] tR tRt oRR,          t ! R R]P                  4      t]V 3R l4       t	]V 3R l4       t
V 3R ltRR ltR	 tR
 tR tR tR tR tR tR tR tR tR tR tRtVtV ;t# )&SelectorEventLoopUnixSockSendfileTestsi     c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	.SelectorEventLoopUnixSockSendfileTests.MyProtoi  c                    R V n         R V n        \        4       V n        VP	                  4       V n        RV n        VP	                  4       V n        R# )FN)startedclosed	bytearraydatacreate_futurefutr#   _ready)r/   r,   s   &&r   __init__7SelectorEventLoopUnixSockSendfileTests.MyProto.__init__  s@     DLDK!DI))+DH!DN,,.DKr   c                V    R V n         Wn        V P                  P                  R4       R# TN)rq  r#   rw  
set_result)r/   r#   s   &&r   connection_made>SelectorEventLoopUnixSockSendfileTests.MyProto.connection_made  s     DL&NKK""4(r   c                <    V P                   P                  V4       R # r   )rt  extend)r/   rt  s   &&r   data_received<SelectorEventLoopUnixSockSendfileTests.MyProto.data_received  s    IIT"r   c                J    R V n         V P                  P                  R4       R# r{  )rr  rv  r|  )r/   excs   &&r   connection_lost>SelectorEventLoopUnixSockSendfileTests.MyProto.connection_lost  s    DKHH%r   c                :   "   V P                   G R j  xL
  R #  L5ir   )rv  r;   s   &r   r   :SelectorEventLoopUnixSockSendfileTests.MyProto.wait_closed  s     ((NNs   )rw  rr  rt  rv  rq  r#   N)r{   r|   r}   r~   rx  r}  r  r  r   r   r   r   s   @r   MyProtoro    s#     	/	)
	#	&	 	r   r  c                   < \        \        P                  R 4      ;_uu_ 4       pVP                  V P                  4       RRR4       \
        SV `  4        R#   + '       g   i     L ; i)r  N)r  r   TESTFNwriteDATAr)   
setUpClass)clsfpr0   s   & r   r  1SelectorEventLoopUnixSockSendfileTests.setUpClass  sA    )""D))RHHSXX * *)s   AA(	c                l   < \         P                  ! \         P                  4       \        SV `  4        R # r   )r   r  r  r)   tearDownClass)r  r0   s   &r   r  4SelectorEventLoopUnixSockSendfileTests.tearDownClass  s"    ))*r   c                  < \         P                  ! 4       V n        V P                  V P                  4       \	        \
        P                  R 4      V n        V P                  V P                  P                  4       \        SV `-  4        R# )rbN)r   new_event_loopr,   r-   r  r   r  filera   r"   r)   r*   r.   s   &r   r*   ,SelectorEventLoopUnixSockSendfileTests.setUp  sV    **,	DII&))40			(r   c                   \         P                   ! \         P                  \         P                  4      pVP                  R 4       VP	                  \         P
                  \         P                  R4       VP	                  \         P
                  \         P                  R4       V'       d   V P                  VP                  4       V# )Frm  )
r   AF_INETr,  setblocking
setsockopt
SOL_SOCKET	SO_SNDBUF	SO_RCVBUFra   r"   )r/   cleanupr   s   && r   make_socket2SelectorEventLoopUnixSockSendfileTests.make_socket  sz    }}V^^V-?-?@))6+;+;TB))6+;+;TBOODJJ'r   c                8    V P                   P                  V4      # r   )r,   r   r  s   &&r   run_loop/SelectorEventLoopUnixSockSendfileTests.run_loop  s    yy++D11r   c                4  a aa S P                  4       pS P                  S P                  4      o\        P                  ! 4       pS P                  R R7      pVP                  \        P                  V34       S P                  S P                  P                  V3R lVR7      4      oS P                  S P                  P                  V\        P                  V34      4       S P                  SP                  4       VV V3R lpS P                  V4       VS3# )F)r  c                     < S # r   r   )protos   r   rP   @SelectorEventLoopUnixSockSendfileTests.prepare.<locals>.<lambda>  s    Er   r;  c                     < S P                   P                  4        SP                  S P                  4       4       SP                  4        SP                  SP                  4       4       R # r   )r#   r"   r  r   )r  r/   servers   r   r  ?SelectorEventLoopUnixSockSendfileTests.prepare.<locals>.cleanup  sF    OO!!#MM%++-.LLNMM&,,./r   )r  r  r,   r   find_unused_portr   HOSTr  create_serversock_connectrw  ra   )r/   r   portsrv_sockr  r  r  s   f    @@r   prepare.SelectorEventLoopUnixSockSendfileTests.prepare   s    !TYY'--/##E#2}))401tyy66  7  * +dii,,TM4F4F3MNOell#	0 	 U{r   c                   V P                  4       w  r\        P                  ! R . R7      ;_uu_ 4        V P                  \        P
                  R4      ;_uu_ 4        V P                  V P                  P                  WP                  ^ R4      4       RRR4       RRR4       V P                  V P                  P                  4       ^ 4       R#   + '       g   i     LD; i  + '       g   i     LO; i)zasyncio.unix_events.os)specz$os[.]sendfile[(][)] is not availableN)r  r   r   rb   r   SendfileNotAvailableErrorr  r,   _sock_sendfile_nativer  ro   tell)r/   r   r  s   &  r    test_sock_sendfile_not_availableGSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_not_available  s    llnZZ0r::''(I(I(NP Pdii==dII>?G HP ;
 	)1-	P P ;:s#   )C"7C	C"CC""C2	c           
     r   V P                  4       w  r\        4       pV P                  \        P                  R 4      ;_uu_ 4        V P                  V P                  P                  W^ R4      4       RRR4       V P                  V P                  P                  4       ^ 4       R#   + '       g   i     L<; inot a regular fileN)r  r   rb   r   r  r  r,   r  ro   r  r  r/   r   r  fs   &   r   test_sock_sendfile_not_a_fileDSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_not_a_file  s    llnH##G$E$E$8: :MM$))99$:;TC D: 	)1-	: :s   -B&&B6	c           
        V P                  4       w  r\        P                  ! 4       pV P                  \        P
                  R 4      ;_uu_ 4        V P                  V P                  P                  W^ R4      4       RRR4       V P                  V P                  P                  4       ^ 4       R#   + '       g   i     L<; ir  )r  ioBytesIOrb   r   r  r  r,   r  ro   r  r  r  s   &   r   test_sock_sendfile_iobufferBSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_iobuffer(  s    llnJJL##G$E$E$8: :MM$))99$:;TC D: 	)1-	: :s   -B11C	c           
        V P                  4       w  r\        P                  ! 4       pRVP                  n        V P                  \        P                  R4      ;_uu_ 4        V P                  V P                  P                  W^ R4      4       RRR4       V P                  V P                  P                  4       ^ 4       R#   + '       g   i     L<; i)r   r  Nrv   )r  r   rE   filenor   rb   r   r  r  r,   r  ro   r  r  r  s   &   r   #test_sock_sendfile_not_regular_fileJSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_not_regular_file1  s    llnIIK "##G$E$E$8: :MM$))99$:;TC D: 	)1-	: :s   !-CC	c                   V P                  4       w  rV P                  P                  4       pV P                  P	                  4       pV P                  P                  VR W^ R \        V P                  4      ^ 4       VP                  4        \        P                  ! \        P                  4      ;_uu_ 4        V P                  V4       R R R 4       V P                  \        4      ;_uu_ 4        V P                  P                   P#                  V4       R R R 4       R #   + '       g   i     L]; i  + '       g   i     R # ; ir   )r  r,   ru  r  r  _sock_sendfile_native_implr   r  rF   
contextlibsuppressr   CancelledErrorr  r5   KeyError	_selectorget_keyr/   r   r  rv  r  s   &    r   test_sock_sendfile_cancel1ASelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_cancel1;  s    llnii%%'!!#		,,S$-.c$))na	I

  !7!788MM# 9x((II''- )( 98(((s   7D.&D1D.	1E	c                Z   V P                  4       w  rV P                  P                  4       pV P                  P	                  4       pV P                  P                  VR W^ R \        V P                  4      ^ 4       VP                  4        V P                  P                  W1P	                  4       W^ R \        V P                  4      ^ 4       V P                  \        4      ;_uu_ 4        V P                  P                  P                  V4       R R R 4       R #   + '       g   i     R # ; ir   )r  r,   ru  r  r  r  r   r  rF   r5   r  r  r  r  s   &    r   test_sock_sendfile_cancel2ASelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_cancel2H  s    llnii%%'!!#		,,S$-.c$))na	I

		,,S++--.c$))na	Ix((II''- )(((s   )&DD*	c                X   V P                  4       w  rV P                  P                  4       p\        P                  ! 4       pR VP
                  n        \        P                  ! R\        4       R7      ;_uu_ 4        V P                  P                  VRW^ R\        V P                  4      ^ 4       RRR4       V P                  P                  P                  V4      pV P                  V4       VP                   P#                  \        P$                  4       R#   + '       g   i     Lq; i)Fos.sendfilerU   N)r  r  r  r   rE   	cancelledr   r   BlockingIOErrorr,   r  r   r  r  r  assertIsNotNoneadd_done_callbackr   ANY)r/   r   r  r  rv  keys   &     r   !test_sock_sendfile_blocking_errorHSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_blocking_errorU  s    lln!!#iik%*"ZZ?3DEEII00dD12D#dii.!M F ii!!))$/S!55dhh? FEs   ;5DD)	c                   V P                  4       w  rV P                  P                  4       pV P                  P	                  4       p\
        P                  ! R \        4       R7      ;_uu_ 4        V P                  P                  VRW^ R\        V P                  4      ^ 4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  P                  V4       RRR4       VP                  4       pV P!                  V\"        P$                  4       V P'                  ^ V P                  P)                  4       4       R#   + '       g   i     L; i  + '       g   i     L; i)r  r  N)r  r  r  r,   ru  r   r   r   r  r   r  r5   r  r  r  	exceptionrn   r   r  ro   r  )r/   r   r  r  rv  r  s   &     r   &test_sock_sendfile_os_error_first_callMSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_os_error_first_callb  s    lln!!#ii%%'ZZ79==II00dD12D#dii.!M > x((II''- )mmoc7#D#DEDIINN,- >= )(s   /5E	&E&E#	&E6	c                   V P                  4       w  rV P                  P                  4       pV P                  P	                  4       p\        4       p\        P                  ! R VR7      ;_uu_ 4        V P                  P                  WAP                  4       WRR\        V P                  4      R4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  P                  V4       RRR4       VP                  4       pV P!                  We4       V P#                  RV P                  P%                  4       4       R#   + '       g   i     L; i  + '       g   i     Lp; ir  r  i  N)r  r  r  r,   ru  r   r   r   r  r   r  r5   r  r  r  r  assertIsro   r  r/   r   r  r  rv  errr  s   &      r   %test_sock_sendfile_os_error_next_callLSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_os_error_next_callp  s    lln!!#ii%%'iZZ377II00kkm1515tS^157 8
 x((II''- )mmoctyy~~/0 87
 )(s   1AE&E&E#	&E6	c                   V P                  4       w  rV P                  P                  4       pV P                  P	                  4       p\
        P                  ! 4       p\        P                  ! R VR7      ;_uu_ 4        V P                  P                  WAP                  4       WRR\        V P                  4      R4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  P                  V4       RRR4       VP!                  4       pV P#                  We4       V P%                  RV P                  P'                  4       4       R#   + '       g   i     L; i  + '       g   i     Lp; ir  )r  r  r  r,   ru  r   r  r   r   r  r   r  r5   r  r  r  r  r  ro   r  r  s   &      r   test_sock_sendfile_exceptionCSelectorEventLoopUnixSockSendfileTests.test_sock_sendfile_exception  s    lln!!#ii%%'//1ZZ377II00kkm1515tS^157 8
 x((II''- )mmoctyy~~/0 87
 )(s   <AE#&E1E.	1F	)r  r,   s   12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcde12345abcderO   )r{   r|   r}   r~   r  r   Protocolr  classmethodr  r  r*   r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   s   @@r   rl  rl    s      $D'"" 2  
    2,......@.1"1 1r   rl  c                   @  a a ] tR tRt oV 3R ltRR ltR t]P                  ! R4      R 4       t	]P                  ! R4      R 4       t
]P                  ! R4      R 4       t]P                  ! R	4      ]P                  ! R4      R
 4       4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       tR tR tR tR tR tR tRtVtV ;t# )UnixReadPipeTransportTestsi  c                  < \         SV `  4        V P                  4       V n        \        P
                  ! \        P                  4      V n        \        P                  ! \        P                  R 7      V n        ^V P                  P                  n        \        P                   ! R4      pVP#                  4        V P%                  VP&                  4       \        P                   ! R4      pVP#                  4       p\        P                  ! 4       p\(        P*                  Vn        WCn        V P%                  VP&                  4       R# )spec_setzos.set_blockingzos.fstatN)r)   r*   new_test_loopr,   r   make_test_protocolr   r  protocolr   rE   r  	RawIOBasepiper  r   r   startra   stopstatS_IFIFOst_moder/   blocking_patcherfstat_patcherm_fstatstr0   s   &    r   r*    UnixReadPipeTransportTests.setUp  s    &&(	"55g6F6FGIIr||4	()		%::&78 (--.

:.%%'YY[\\
!**+r   c                    \         P                  ! V P                  V P                  V P                  VR 7      pV P                  \        V4       V# waiter)r   _UnixReadPipeTransportr,   r   r  ra   r$   r/   r  r#   s   && r   read_pipe_transport.UnixReadPipeTransportTests.read_pipe_transport  s@    66tyy$))7;}}>DF	 	,i8r   c                h   V P                   P                  4       pV P                  VR 7      pV P                   P                  V4       V P                  P
                  P                  V4       V P                   P                  ^VP                  4       V P                  VP                  4       4       R# r  N)r,   ru  r  r   r  r}  rI   assert_reader_read_readyassertIsNoneresultr/   r  trs   &  r   	test_ctor$UnixReadPipeTransportTests.test_ctor  s}    ((*%%V%4		$$V,%%88<		2>>2&--/*r   zos.readc                    V P                  4       pR Vn        VP                  4        VP                  ^VP                  4       V P
                  P                  P                  R 4       R#    dataN)r  r   r  rI   max_sizer  r  r/   m_readr  s   && r   test__read_ready+UnixReadPipeTransportTests.test__read_ready  sN    %%'%
!!!R[[1##66w?r   c                   V P                  4       pR Vn        VP                  4        VP                  ^VP                  4       V P                  V P                  P                  4       \        P                  ! V P                  4       V P                  P                  P                  4        V P                  P                  P                  R4       R# r   N)r  r   r  rI   r!  r   r,   readersr   run_brieflyr  eof_receivedr  r"  s   && r   test__read_ready_eof/UnixReadPipeTransportTests.test__read_ready_eof  s    %%'!
!!!R[[1**+tyy)""557%%88>r   c                2   V P                  4       p\        Vn        VP                  4        VP	                  ^VP
                  4       \        P                  ! V P                  4       V P                  V P                  P                  P                  4       R#    N)r  r  rU   r  rI   r!  r   r)  r,   r   r  r  r   r"  s   && r   test__read_ready_blocked3UnixReadPipeTransportTests.test__read_ready_blocked  sf    %%',
!!!R[[1tyy)44;;<r   asyncio.log.logger.errorc                t   V P                  4       p\        4       pWAn        \        P                  ! 4       Vn        VP                  4        VP                  ^VP                  4       VP
                  P                  V4       VP                  \        P                  ! R4      \        \        \        3R7       R# )r/  z;Fatal read error on pipe transport
protocol:.*
transport:.*)exc_infoN)r  r   rU   r   rE   _closer  rI   r!  r   MockPatternMOCK_ANY)r/   r#  m_logexcr  r  s   &&&  r   test__read_ready_error1UnixReadPipeTransportTests.test__read_ready_error  s     %%'i IIK	
!!!R[[1
		$$S)##""./ x2	 	$ 	4r   c                    V P                  4       p\        P                  ! 4       pV P                  P	                  ^V4       VP                  4        V P                  V P                  P                  4       R# r.  )r  r   rE   r,   
add_readerpause_readingr   r(  )r/   r#  r  ms   &&  r   test_pause_reading-UnixReadPipeTransportTests.test_pause_reading  sS    %%'IIK		Q"
**+r   c                    V P                  4       pVP                  4        VP                  4        V P                  P	                  ^VP
                  4       R# r.  )r  r=  resume_readingr,   r  r  r"  s   && r   test_resume_reading.UnixReadPipeTransportTests.test_resume_reading  s@    %%'

		2>>2r   c                    V P                  4       p\        P                  ! 4       Vn        VP	                  4        VP                  P                  R 4       R # r   )r  r   rE   r5  r"   rI   r"  s   && r   r   %UnixReadPipeTransportTests.test_close  s8    %%'IIK	


		$$T*r   c                    V P                  4       pR Vn        \        P                  ! 4       Vn        VP                  4        V P                  VP                  P                  4       R# r{  )r  _closingr   rE   r5  r"   r   r   r"  s   && r   test_close_already_closing5UnixReadPipeTransportTests.test_close_already_closing  sE    %%'IIK	

))*r   c                n   V P                  4       p\        4       pVP                  V4       V P                  VP	                  4       4       V P                  V P                  P                  4       \        P                  ! V P                  4       V P                  P                  P                  V4       R # r   )r  r   r5  r   
is_closingr   r,   r(  r   r)  r  r  rI   )r/   r#  r  r  s   &&  r   test__close&UnixReadPipeTransportTests.test__close  sv    %%'h
		#(**+tyy)%%88=r   c                   V P                  4       pV P                  VP                  4       V P                  VP                  4       R pVP	                  V4       V P
                  P                  P                  V4       V P                  P                  P                  4        V P                  VP                  4       V P                  VP                  4       R # r   )r  r  	_protocol_loop_call_connection_lostr  r  rI   r   r"   r  r/   r  r  s   &  r   test__call_connection_lost5UnixReadPipeTransportTests.test__call_connection_lost  s    %%'R\\*RXX&
  %%%88=		**,",,'"((#r   c                   V P                  4       pV P                  VP                  4       V P                  VP                  4       \	        4       pVP                  V4       V P                  P                  P                  V4       V P                  P                  P                  4        V P                  VP                  4       V P                  VP                  4       R # r   )r  r  rP  rQ  r   rR  r  r  rI   r   r"   r  rS  s   &  r   #test__call_connection_lost_with_err>UnixReadPipeTransportTests.test__call_connection_lost_with_err  s    %%'R\\*RXX&i
  %%%88=		**,",,'"((#r   c                    V P                  4       pVP                  4        \        P                  ! V P                  4       V P                  VP                  4       VP                  4        R # r   )r  r"   r   r)  r,   r  rQ  r=  r/   r  s   & r   !test_pause_reading_on_closed_pipe<UnixReadPipeTransportTests.test_pause_reading_on_closed_pipe)  sI    %%'

tyy)"((#
r   c                f    V P                  4       pVP                  4        VP                  4        R # r   )r  r=  rZ  s   & r   !test_pause_reading_on_paused_pipe<UnixReadPipeTransportTests.test_pause_reading_on_paused_pipe0  s(    %%'

r   c                    V P                  4       pVP                  4        \        P                  ! V P                  4       V P                  VP                  4       VP                  4        R # r   )r  r"   r   r)  r,   r  rQ  rB  rZ  s   & r   "test_resume_reading_on_closed_pipe=UnixReadPipeTransportTests.test_resume_reading_on_closed_pipe6  sI    %%'

tyy)"((#
r   c                F    V P                  4       pVP                  4        R # r   )r  rB  rZ  s   & r   "test_resume_reading_on_paused_pipe=UnixReadPipeTransportTests.test_resume_reading_on_paused_pipe=  s    %%' 	r   r,   r   r  r   )r{   r|   r}   r~   r*   r  r  r   r   r$  r+  r0  r9  r?  rC  r   rI  rM  rT  rW  r[  r^  ra  rd  r   r   r   r   s   @@r   r  r    sP    ,$+ 
ZZ	@ @ 
ZZ		? 	? 
ZZ	= = 
ZZ*+	ZZ	4  ,4 
ZZ	, , 
ZZ	3 3 
ZZ	+ + 
ZZ	+ + 
ZZ	> >$$ r   r  c                   f  a a ] tR tRt oV 3R ltRR ltR tR t]P                  ! R4      R 4       t
]P                  ! R4      R 4       t]P                  ! R4      R	 4       t]P                  ! R4      R
 4       t]P                  ! R4      R 4       t]P                  ! R4      ]P                  ! R4      R 4       4       t]P                  ! R4      R 4       tR t]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       t]P                  ! R4      ]P                  ! R4      R 4       4       t]P                  ! R4      R 4       t]P                  ! R4      R 4       tR tR tR tR tR tR tRtVt V ;t!# ) UnixWritePipeTransportTestsiD  c                  < \         SV `  4        V P                  4       V n        \        P
                  ! \        P                  4      V n        \        P                  ! \        P                  R 7      V n        ^V P                  P                  n        \        P                   ! R4      pVP#                  4        V P%                  VP&                  4       \        P                   ! R4      pVP#                  4       p\        P                  ! 4       p\(        P*                  Vn        WCn        V P%                  VP&                  4       R# r  )r)   r*   r  r,   r   r  r   BaseProtocolr  r   rE   r  r  r   r  r   r   r  ra   r  r  S_IFSOCKr  r  s   &    r   r*   !UnixWritePipeTransportTests.setUpF  s    &&(	"55g6J6JKIIr||4	()		%::&78 (--.

:.%%'YY[]]
!**+r   c                    \         P                  ! V P                  V P                  V P                  VR 7      pV P                  \        V4       V# r  )r   _UnixWritePipeTransportr,   r   r  ra   r$   r  s   && r   write_pipe_transport0UnixWritePipeTransportTests.write_pipe_transportX  s@    77		4998<?EG	 	,i8r   c                j   V P                   P                  4       pV P                  VR 7      pV P                   P                  V4       V P                  P
                  P                  V4       V P                   P                  ^VP                  4       V P                  RVP                  4       4       R# r  )r,   ru  ro  r   r  r}  rI   r  r  ro   r  r  s   &  r   r  %UnixWritePipeTransportTests.test_ctor_  s    ((*&&f&5		$$V,%%88<		2>>2v}}/r   c                d    V P                  4       pV P                  VP                  4       4       R # r   )ro  r   can_write_eofrZ  s   & r   test_can_write_eof.UnixWritePipeTransportTests.test_can_write_eofh  s%    &&(((*+r   zos.writec                   V P                  4       p^Vn        VP                  R4       VP                  ^R4       V P	                  V P
                  P                  4       V P                  \        4       VP                  4       R# )   r   N)
ro  r   r  rI   r   r,   writersro   rs  _bufferr/   m_writer  s   && r   
test_write&UnixWritePipeTransportTests.test_writel  sb    &&( 
""1g.**+bjj1r   c                   V P                  4       pVP                  R 4       V P                  VP                  4       V P                  V P                  P
                  4       V P                  \        R 4      VP                  4       R# r'  )	ro  r  r   r   r,   ry  ro   rs  rz  r{  s   && r   test_write_no_data.UnixWritePipeTransportTests.test_write_no_datau  s]    &&(
(**+34r   c                    V P                  4       p^Vn        VP                  R4       V P                  P	                  ^VP
                  4       V P                  \        R4      VP                  4       R# )   r      taN)	ro  r   r  r,   assert_writer_write_readyro   rs  rz  r{  s   && r   test_write_partial.UnixWritePipeTransportTests.test_write_partial}  sU    &&( 
		2??35)2::6r   c                   V P                  4       pV P                  P                  ^VP                  4       \	        R4      Vn        VP                  R4       V P                  VP                  4       V P                  P                  ^VP                  4       V P                  \	        R4      VP
                  4       R# )r/  s   previousr   s   previousdataN)ro  r,   
add_writerr  rs  rz  r  r   r   r  ro   r{  s   && r   test_write_buffer-UnixWritePipeTransportTests.test_write_buffer  s    &&(		Q0{+

(		2??3?3RZZ@r   c                2   V P                  4       p\        4       Vn        VP                  R 4       VP	                  ^\        R 4      4       V P                  P                  ^VP                  4       V P                  \        R 4      VP                  4       R# r  )ro  r  rU   r  rI   rs  r,   r  r  ro   rz  r{  s   && r   test_write_again,UnixWritePipeTransportTests.test_write_again  sm    &&(-/
""1i&89		2??37+RZZ8r   zasyncio.unix_events.loggerc                   V P                  4       p\        4       pWAn        \        P                  ! 4       Vn        VP                  R 4       VP                  ^R 4       V P                  V P                  P                  4       V P                  \        4       VP                  4       VP
                  P                  VR4       V P                  ^VP                  4       VP                  R 4       V P                  ^VP                  4       VP                  R 4       VP                  R 4       VP                  R 4       VP                  R 4       VP                  P                  R4       VP!                  4        R# )r   z#Fatal write error on pipe transportz=pipe closed by peer or os.write(pipe, data) raised exception.N)ro  r   rU   r   rE   _fatal_errorr  rI   r   r,   ry  ro   rs  rz  
_conn_lostwarningr"   )r/   r|  m_logr  r  s   &&&  r   test_write_err*UnixWritePipeTransportTests.test_write_err  s    &&(i!))+
""1g.**+bjj1
**A	C 	BMM*
BMM*



((K	M

r   c                    V P                  4       pVP                  4        VP                  R 4       V P                  VP                  ^4       VP                  R 4       V P                  VP                  ^4       R# r  )ro  r  r  ro   r  r{  s   && r   test_write_close,UnixWritePipeTransportTests.test_write_close  sZ    &&(

*
*r   c                   V P                  4       pVP                  4        V P                  V P                  P                  4       V P                  V P                  P
                  4       V P                  VP                  4       4       \        P                  ! V P                  4       V P                  P                  P                  R 4       R # r   )ro  r  r   r,   r(  ry  r   rL  r   r)  r  r  rI   rZ  s   & r   r$  ,UnixWritePipeTransportTests.test__read_ready  s    &&(
**+**+(tyy)%%88>r   c                R   V P                  4       pV P                  P                  ^VP                  4       \	        R4      Vn        ^Vn        VP                  4        V P                  V P                  P                  4       V P                  \	        4       VP
                  4       R# r/  r   N)
ro  r,   r  r  rs  rz  r   r   ry  ro   r{  s   && r   test__write_ready-UnixWritePipeTransportTests.test__write_ready  st    &&(		Q0w'
 
**+bjj1r   c                V   V P                  4       pV P                  P                  ^VP                  4       \	        R4      Vn        ^Vn        VP                  4        V P                  P                  ^VP                  4       V P                  \	        R4      VP
                  4       R# )r/  r      aN)	ro  r,   r  r  rs  rz  r   r  ro   r{  s   && r   test__write_ready_partial5UnixWritePipeTransportTests.test__write_ready_partial  sv    &&(		Q0w'
 
		2??34"**5r   c                   V P                  4       pV P                  P                  ^VP                  4       \	        R4      Vn        \        4       Vn        VP                  4        VP                  ^\	        R4      4       V P                  P                  ^VP                  4       V P                  \	        R4      VP
                  4       R# r  )ro  r,   r  r  rs  rz  r  rU   rI   r  ro   r{  s   && r   test__write_ready_again3UnixWritePipeTransportTests.test__write_ready_again  s    &&(		Q0w'
-/
""1i&89		2??37+RZZ8r   c                   V P                  4       pV P                  P                  ^VP                  4       \	        R4      Vn        ^ Vn        VP                  4        VP                  ^\	        R4      4       V P                  P                  ^VP                  4       V P                  \	        R4      VP
                  4       R# r  )
ro  r,   r  r  rs  rz  r   rI   r  ro   r{  s   && r   test__write_ready_empty3UnixWritePipeTransportTests.test__write_ready_empty  s    &&(		Q0w'
 
""1i&89		2??37+RZZ8r   r2  c                   V P                  4       pV P                  P                  ^VP                  4       \	        R4      Vn        \        4       ;Vn        pVP                  4        V P                  V P                  P                  4       V P                  V P                  P                  4       V P                  \	        4       VP
                  4       V P                  VP                  4       4       VP                  4        V P                  ^VP                  4       \         P"                  ! V P                  4       V P$                  P&                  P)                  V4       R# r  )ro  r,   r  r  rs  rz  r   rU   r   ry  r(  ro   r   rL  assert_not_calledr  r   r)  r  r  rI   )r/   r|  r8  r  r  s   &&&  r   test__write_ready_err1UnixWritePipeTransportTests.test__write_ready_err  s     &&(		Q0w'
$+I-c
**+**+bjj1(""$BMM*tyy)%%88=r   c                <   V P                  4       pV P                  P                  ^VP                  4       RVn        \        R4      Vn        ^Vn        VP                  4        V P                  V P                  P                  4       V P                  V P                  P                  4       V P                  \        4       VP                  4       V P                  P                  P                  R4       V P                  P                   P                  4        R# )r/  Tr   N)ro  r,   r  r  rH  rs  rz  r   r   ry  r(  ro   r  r  rI   r   r"   r{  s   && r   test__write_ready_closing5UnixWritePipeTransportTests.test__write_ready_closing  s    &&(		Q0w'
 
**+**+bjj1%%88>		**,r   c                   V P                  4       pV P                  P                  ^VP                  4       V P                  P	                  ^VP
                  4       RR.Vn        VP                  4        V P                  VP                  4       V P                  V P                  P                  4       V P                  V P                  P                  4       V P                  . VP                  4       V P                  VP                  4       4       \        P                   ! V P                  4       V P"                  P$                  P'                  R4       R# )r/  s   dar  N)ro  r,   r  r  r<  r  rz  abortr   r   r(  ry  ro   r   rL  r   r)  r  r  rI   r{  s   && r   
test_abort&UnixWritePipeTransportTests.test_abort  s    &&(		Q0		Q/U^


(**+**+RZZ((tyy)%%88>r   c                   V P                  4       pV P                  VP                  4       V P                  VP                  4       R pVP	                  V4       V P
                  P                  P                  V4       V P                  P                  P                  4        V P                  VP                  4       V P                  VP                  4       R # r   )ro  r  rP  rQ  rR  r  r  rI   r   r"   r  rS  s   &  r   rT  6UnixWritePipeTransportTests.test__call_connection_lost  s    &&(R\\*RXX&
  %%%88=		**,",,'"((#r   c                   V P                  4       pV P                  VP                  4       V P                  VP                  4       \	        4       pVP                  V4       V P                  P                  P                  V4       V P                  P                  P                  4        V P                  VP                  4       V P                  VP                  4       R # r   )ro  r  rP  rQ  r   rR  r  r  rI   r   r"   r  rS  s   &  r   rW  ?UnixWritePipeTransportTests.test__call_connection_lost_with_err+  s    &&(R\\*RXX&i
  %%%88=		**,",,'"((#r   c                    V P                  4       p\        P                  ! 4       Vn        VP	                  4        VP                  P                  4        VP	                  4        R # r   )ro  r   rE   	write_eofr"   rI   rZ  s   & r   r   &UnixWritePipeTransportTests.test_close8  sA    &&(yy{


'') 	
r   c                    V P                  4       p\        P                  ! 4       Vn        R Vn        VP                  4        V P                  VP                  P                  4       R# r{  )ro  r   rE   r  rH  r"   r   r   rZ  s   & r   test_close_closing.UnixWritePipeTransportTests.test_close_closingA  sE    &&(yy{

,,-r   c                X   V P                  4       pVP                  4        V P                  VP                  4       4       V P	                  V P
                  P                  4       \        P                  ! V P
                  4       V P                  P                  P                  R 4       R # r   )ro  r  r   rL  r   r,   r(  r   r)  r  r  rI   rZ  s   & r   test_write_eof*UnixWritePipeTransportTests.test_write_eofH  sm    &&(
(**+tyy)%%88>r   c                    V P                  4       pR .Vn        VP                  4        V P                  VP	                  4       4       V P                  V P                  P                  P                  4       R# r  )	ro  rz  r  r   rL  r   r  r  r   rZ  s   & r   test_write_eof_pending2UnixWritePipeTransportTests.test_write_eof_pendingP  sR    &&(Y

(66==>r   rf  r   )"r{   r|   r}   r~   r*   ro  r  ru  r   r   r}  r  r  r  r  r  r  r$  r  r  r  r  r  r  r  rT  rW  r   r  r  r  r   r   r   r   s   @@r   rh  rh  D  s    ,$0, 
ZZ
2 2 
ZZ
5 5 
ZZ
7 7 
ZZ
A A 
ZZ
9 9 
ZZ,-	ZZ
  .2 
ZZ
+ +? 
ZZ
2 2 
ZZ
6 6 
ZZ
9 9 
ZZ
9 9 
ZZ*+	ZZ
>  ,> 
ZZ
- - 
ZZ
? ?$$.?? ?r   rh  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )TestFunctionaliX  c                z    \         P                  ! 4       V n        \         P                  ! V P                  4       R # r   )r   r  r,   r-   r;   s   &r   r*   TestFunctional.setUpZ  s$    **,	tyy)r   c                f    V P                   P                  4        \        P                  ! R 4       R # r   )r,   r"   r   r-   r;   s   &r   tearDownTestFunctional.tearDown^  s    		t$r   c                  a  V 3R  lpR pV! 4       ;_uu_ 4        S P                   P                  \        4       V4       RRR4       V! 4       ;_uu_ 4        S P                   P                  \        4       V4       RRR4       V! 4       ;_uu_ 4        S P                   P	                  \        4       4       RRR4       V! 4       ;_uu_ 4        S P                   P                  \        4       4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Ls; i  + '       g   i     R# ; i)c                  0   < S P                  \        R 4      # )zInvalid file object)rb   r8   r;   s   r   assert_raisesFTestFunctional.test_add_reader_invalid_argument.<locals>.assert_raisesc  s    ))*6LMMr   c                      R # r   r   r   r   r   rP   ATestFunctional.test_add_reader_invalid_argument.<locals>.<lambda>f  rk   r   N)r,   r<  r   r  remove_readerremove_writer)r/   r  rq   s   f  r    test_add_reader_invalid_argument/TestFunctional.test_add_reader_invalid_argumentb  s    	N __II  2. __II  2.  __II##FH- __II##FH- _ __ ___s/   %C;%D$D!$D4;D	D	!D1	4E	c                $  a aa V 3R  loVVV 3R lp\         P                  ! 4       w  op S P                  P                  V! 4       4       SP	                  4        VP	                  4        R#   SP	                  4        TP	                  4        i ; i)c                  0   < S P                  \        R 4      # )z'File descriptor .* is used by transport)rb   rV   r;   s   r   r  LTestFunctional.test_add_reader_or_writer_transport_fd.<locals>.assert_raisess  s    )):< <r   c                    <"   SP                   P                  R  SR7      G Rj  xL
 w  r R pS! 4       ;_uu_ 4        SP                   P                  SV4       RRR4       S! 4       ;_uu_ 4        SP                   P                  SP                  4       V4       RRR4       S! 4       ;_uu_ 4        SP                   P	                  S4       RRR4       S! 4       ;_uu_ 4        SP                   P	                  SP                  4       4       RRR4       S! 4       ;_uu_ 4        SP                   P                  SV4       RRR4       S! 4       ;_uu_ 4        SP                   P                  SP                  4       V4       RRR4       S! 4       ;_uu_ 4        SP                   P                  S4       RRR4       S! 4       ;_uu_ 4        SP                   P                  SP                  4       4       RRR4       V P                  4        R#  EL  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELy; i  + '       g   i     ELL; i  + '       g   i     EL,; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  T P                  4        i ; i5i)c                  ,    \         P                  ! 4       # r   )r   r  r   r   r   rP   WTestFunctional.test_add_reader_or_writer_transport_fd.<locals>.runner.<locals>.<lambda>z  s    ((*r   r;  Nc                      R # r   r   r   r   r   rP   r  }  s    Tr   )r,   create_connectionr<  r  r  r  r  r"   )r  prrq   r  rsockr/   s      r   runnerETestFunctional.test_add_reader_or_writer_transport_fd.<locals>.runnerx  s    9966* 7 8 8FB!"__II((3 %"__II((< % #__II++E2 %"__II++ELLN; % #__II((3 %"__II((< % #__II++E2 %"__II++ELLN; % 
78 %__$__ %__$__ %__$_ %_$_ 
s   "KHKJ6 HJ6 3+H-J6 5IJ6 (*IJ6 )I)J6 +I=J6 J;J6 *J#<J6 KH*	$	J6 -H>	8	J6 I		J6 I&	 	J6 )I:	4	J6 =J	J6 J 	J6 #J3	.J6 6KKN)r   
socketpairr,   r   r"   )r/   r  wsockr  r  s   f  @@r   &test_add_reader_or_writer_transport_fd5TestFunctional.test_add_reader_or_writer_transport_fdr  sb    	<
	< ((*u	II((2KKMKKM KKMKKMs    A- -"BrC   N)
r{   r|   r}   r~   r*   r  r  r  r   r   r  s   @r   r  r  X  s     *%. ) )r   r  c                   @  a  ] tR tRt o R t]P                  ! R4      ]P                  ! RRR7      R 4       4       t	]P                  ! R4      ]P                  ! RRR7      R 4       4       t
]P                  ! R4      ]P                  ! RRR7      R	 4       4       tR
tV tR# )TestForki  c           	     x  "   \         P                  ! 4       p\        P                  ! 4       w  r#V P	                  \        P
                  V4       V P	                  \        P
                  V4       \        P                  ! 4       pV^ 8X  dm    \         P                  ! 4       p\        P                  ! VR\        \        V4      4      P                  4       ,           4       \        P                  ! ^ 4       R# \        P                   ! V^d4      pV P#                  VR4       \%        V^ R7       R#   \         d    \        P                  ! TR4        Lt\         d@   p\        P                  ! TR\        T4      P                  4       ,           4        Rp?LRp?ii ; i  \        P                  ! ^ 4       i ; i5i)r   s   LOOP:s   NO LOOPs   ERROR:Nr   )r   get_running_looprJ  r   ra   r"   forkget_event_loopr  stridencoderV   BaseExceptionascii_exitreadro   r   )r/   r,   rwpider  s   &      r   test_fork_not_share_event_loop'TestFork.test_fork_not_share_event_loop  s    '')wwy!$!$ggi!8--/Hs2d8}';';'==>  WWQ_FVZ0q)   (J'  ;Ia(99::; sP   B	F:AD/ AF:/"FF FF5FF FF F77F:md5z'TSAN doesn't support threads after forkT)threadc                2  a aaaaa S P                  \        4       \        P                  ! R 4      oSP	                  4       pS P                  VP
                  4       VP                  4       oVP                  4       oVP                  4       oVV3R loVVVVV 3R lp\        P                  ! V! 4       4       SP                  \        P                  R7       S P                  SP                  4       4       S P                  SP                  4       4       R# )r  c                     < V3R  lp \         P                   ! \         P                  V 4       SP                  4         \        P                  ! ^4       K  )c                  R   < SP                  4        \        P                  ! 4        R # r   )setsysexit)argschild_handleds   *r   
on_sigtermJTestFork.test_fork_signal_handling.<locals>.child_main.<locals>.on_sigterm  s    !!#
r   )r9   SIGTERMr  timesleep)r  r  child_starteds    r   
child_main6TestFork.test_fork_signal_handling.<locals>.child_main  s6     MM&..*5

1r   c                    <"   \         P                  ! 4       p V P                  \        P                  V3R  l4       SP                  SR7      pVP                  4        SP                  4        \        P                  ! VP                  \        P                  4       VP                  \        P                  R7       R pSP                  \         P                  ! V! 4       4      G Rj  xL
 ^*4       R#  L5i)c                  $   < SP                  4       # r   )r  )r  parent_handleds   *r   rP   BTestFork.test_fork_signal_handling.<locals>.main.<locals>.<lambda>  s    .BTBTBVr   targettimeoutc                  N   "   \         P                  ! R 4      G Rj  xL
  ^*#  L5ig?N)r   r  r   r   r   re   >TestFork.test_fork_signal_handling.<locals>.main.<locals>.func  s     mmC((( )s   %#%N)r   r  rW   r9   r  Processr  waitrJ  killr  joinr   SHORT_TIMEOUTro   create_task)r,   processre   r	  r  ctxr  r/   s      r   main0TestFork.test_fork_signal_handling.<locals>.main  s     ++-D##FNN4VWkkk4GMMO GGGKK0LL!6!6L7
 7#6#6tv#>>C>s   C'C8*C6+C8r  N)ra   multiprocessing_cleanup_testsmultiprocessingget_contextManagershutdownEventr   runr  r   r  r   is_setr   )r/   managerr  r  r	  r  r  r  s   f  @@@@@r   test_fork_signal_handling"TestFork.test_fork_signal_handling  s     	56 ))&1++-(() 		D 	D" 	DF7#8#89..01,,./r   c                  aa V P                  \        4       \        P                  ! R 4      pVP	                  4       pV P                  VP
                  4       VP                  R^ 4      oV3R loVP                  V3R lR7      pVP                  4        VP                  4        V P                  SP                  ^*4       R# )r  ic                  ^   <"   \         P                  ! R 4      G Rj  xL
  ^*S n        R#  L5ir  )r   r  value)r  s   r   r	  2TestFork.test_fork_asyncio_run.<locals>.child_main  s$     --$$$FL %s   -+-c                  :   < \         P                  ! S ! 4       4      # r   r   r&  r	  s   r   rP   0TestFork.test_fork_asyncio_run.<locals>.<lambda>      W[[-Fr   r  Nra   r   r!  r"  r#  r$  Valuer  r  r  ro   r.  r/   r  r(  r  r	  r  s   &   @@r   test_fork_asyncio_runTestFork.test_fork_asyncio_run  s     	56))&1++-(()sA&	 ++%F+Gr*r   c                  aa V P                  \        4       \        P                  ! R 4      pVP	                  4       pV P                  VP
                  4       VP                  R^4      oV3R loVP                  V3R lR7      pVP                  4        VP                  4        V P                  SP                  ^ 4       R# )r  r,  c                     <"   \         P                  ! \        P                  R R4      G Rj  xL
 p V P	                  4       G Rj  xL
 Sn        R#  L# L5i)z-cpassN)r   create_subprocess_execr  
executabler  r.  )procr  s    r   r	  9TestFork.test_fork_asyncio_subprocess.<locals>.child_main  s:      77fUUD!%,FL V,s!   *AAAAAAc                  :   < \         P                  ! S ! 4       4      # r   r1  r2  s   r   rP   7TestFork.test_fork_asyncio_subprocess.<locals>.<lambda>
  r4  r   r  Nr5  r7  s   &   @@r   test_fork_asyncio_subprocess%TestFork.test_fork_asyncio_subprocess  s     	56))&1++-(()sA&	- ++%F+Gq)r   r   N)r{   r|   r}   r~   r  r	   requires_hashdigestr   skip_if_sanitizerr)  r8  rC  r   r   r  s   @r   r  r    s     *0 ''.HQUV+0 W /+0Z ''.HQUV+ W /+$ ''.HQUV* W /*r   r  __main__)1r  r   r  r!  multiprocessing.utilr   r   rJ  r9   r   r  r  r  rg  r   testr   test.supportr   r   r   r	   platformSkipTestr   r   test.test_asyncior   r   r   r  r7  r   r   r$   rh  TestCaser&   ri  r   rl  r  rh  r  requires_forkIsolatedAsyncioTestCaser  r{   r  r   r   r   <module>rQ     s     	  P 	    
     " & % '<<7


K
((   10 88 
V89Z1:#6#6 Z1 :Z1z 
WVY/57g/z':': g/7g/T 
WR,02J1Z-@-@ J12J1Zn!4!4 nbQ?*"5"5 Q?hCX&& CL 	o*x// o* o*b zMMO r   