+
    Bib                        ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ]P"                  ! 4       '       d   ]P$                  ! R4      hR	 t ! R
 R]P(                  4      t ! R R4      t]P.                  R8X  d.    ! R R]]P0                  4      t ! R R]]P0                  4      tM^ RIt]! ]R4      '       d    ! R R]]P0                  4      t]! ]R4      '       d    ! R R]]P0                  4      t]! ]R4      '       d    ! R R]]P0                  4      t ! R R]]P0                  4      t] R8X  d   ]PB                  ! 4        R# R# )    N)proactor_events)cycleislice)Mock)utils)support)socket_helper!Not relevant to ProactorEventLoopc                  D    \         P                  P                  R 4       R # N)asyncioevents_set_event_loop_policy     ;/usr/lib/python3.14/test/test_asyncio/test_sock_lowlevel.pytearDownModuler      s    NN))$/r   c                   P   a  ] tR t^t o RtRtR	R ltR tR tR t	R t
R tRtV tR# )
MyProtoNc                    R V n         RV n        ^ V n        Ve-   VP                  4       V n        VP                  4       V n        R # R # )NINITIAL)	transportstatenbytescreate_future	connecteddone)selfloops   &&r   __init__MyProto.__init__   sB    
!//1DN**,DI r   c                b    V P                   V9  d   \        R V P                   : RV: 24      hR# )zstate: z, expected: N)r   AssertionError)r   expecteds   &*r   _assert_stateMyProto._assert_state!   s/    ::X% 74::.XL!QRR &r   c                    Wn         V P                  R 4       RV n        V P                  '       d   V P                  P	                  R4       VP                  R4       R# )r   	CONNECTEDNs%   GET / HTTP/1.0
Host: example.com

)r   r%   r   r   
set_resultwrite)r   r   s   &&r   connection_madeMyProto.connection_made%   sD    "9% 
>>>NN%%d+FGr   c                l    V P                  R 4       V ;P                  \        V4      ,          un        R# )r(   N)r%   r   len)r   datas   &&r   data_receivedMyProto.data_received-   s"    ;'s4y r   c                6    V P                  R 4       RV n        R# )r(   EOFN)r%   r   r   s   &r   eof_receivedMyProto.eof_received1   s    ;'
r   c                    V P                  R R4       RV n        V P                  '       d   V P                  P                  R4       R# R# )r(   r3   CLOSEDN)r%   r   r   r)   )r   excs   &&r   connection_lostMyProto.connection_lost5   s9    ;.
999II  & r   )r   r   r   r   r   r   )__name__
__module____qualname____firstlineno__r   r   r    r%   r+   r0   r5   r:   __static_attributes____classdictcell____classdict__s   @r   r   r      s4     ID-SH!' 'r   r   c                      a a ] tR t^<t oR tV 3R ltV 3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R tR tR tR tR tR t]P6                  R 4       tR tR tR tR t Rt!Vt"V ;t## )BaseSockTestsMixinc                    \         hr   )NotImplementedErrorr4   s   &r   create_event_loop$BaseSockTestsMixin.create_event_loop>   s    !!r   c                   < V P                  4       V n        V P                  V P                  4       \        SV `  4        R # r   )rH   r   set_event_loopsupersetUpr   	__class__s   &r   rM   BaseSockTestsMixin.setUpA   s.    **,	DII&r   c                   < V P                   P                  4       '       g!   \        P                  ! V P                   4       V P	                  4        \
        P                  ! 4        \        SV `!  4        R # r   )	r   	is_closed
test_utilsrun_briefly
doCleanupsr   
gc_collectrL   tearDownrN   s   &r   rW   BaseSockTestsMixin.tearDownF   sI    yy""$$""499-r   c           	     J   \        V P                  \        P                  4      '       Eg   V P                  P	                  R 4       VP                  R 4       V P                  \        4      ;_uu_ 4        V P                  P                  V P                  P                  W!P                  4      4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  V P                  P                  VR4      4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  V P                  P                  VR4      4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  V P                  P                  V\        4       4      4       RRR4       V P                  \        4      ;_uu_ 4        V P                  P                  V P                  P                  V4      4       RRR4       VP                  R4       V P                  P                  V P                  P                  W!P                  4      4       V P                  P                  V P                  P                  VR4      4       V P                  P                  V P                  P                  VR4      4      pV P                  P                  V P                  P                  VR4      4       VP!                  4        V P#                  VR4       R#   + '       g   i     EL; i  + '       g   i     ELO; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELs; i)TN   GET / HTTP/1.0

   F   HTTP/1.0 200 OK)
isinstancer   r   BaseProactorEventLoop	set_debugsetblockingassertRaises
ValueErrorrun_until_completesock_connectaddresssock_sendall	sock_recvsock_recv_into	bytearraysock_acceptcloseassertStartsWith)r   httpdsockr/   s   &&& r   _basetest_sock_client_ops,BaseSockTestsMixin._basetest_sock_client_opsO   s{   $))_%J%JKK II%T""":..		,,II**4?A / "":..		,,II**41JKM / "":..		,,II''d35 / "":..		,,II,,T9;?A / "":..		,,II))$/1 /
 			$$II""47	9		$$II""4)BC	Eyy++IId+- 			$$IId+	-

d$679 /.. /.. /.. /.. /..s<   5?M6M46M)>M=25NM	M&	)M:	=N	N"	c           
        VP                  R 4       V P                  P                  V P                  P                  W!P                  4      4       V P                  P                  V P                  P                  VR4      4       \        R4      p\        V4      ;_uu_ 4       pV P                  P                  V P                  P                  W$R,          4      4      pV P                  P                  V P                  P                  W$VR 4      4       RRR4       VP                  4        V P                  VR4       R#   + '       g   i     L4; i)FrZ   r[   Ni   NNr\   )r`   r   rc   rd   re   rf   ri   
memoryviewrh   rk   rl   )r   rm   rn   r/   bufr   s   &&&   r   _basetest_sock_recv_into+BaseSockTestsMixin._basetest_sock_recv_intos   s    		$$II""47	9		$$II""4)BC	EYY11		((5z:<F II((		((67|<>	  	

d$67 s   #A3EE	c                   \         P                  ! 4       ;_uu_ 4       p\        P                  ! 4       pV P                  W4       \        P                  ! 4       pV P	                  W4       R R R 4       R #   + '       g   i     R # ; ir   )rS   run_test_serversocketro   ru   r   rm   rn   s   &  r   test_sock_client_ops'BaseSockTestsMixin.test_sock_client_ops   sT    ''))U==?D**57==?D))%6	 *)))s   AA55B	c                j  "   VP                  R 4       V P                  P                  W!P                  4      G Rj  xL
  \        P
                  ! V P                  P                  VR4      4      p\        P                  ! ^ 4      G Rj  xL
  VP                  4        \        P
                  ! V P                  P                  VR4      4       V P                  P                  VR4      G Rj  xL
 pV P                  P                  VR4      G Rj  xL
  V P                  VR4       R#  L L L@ L5i)FNr[   rZ   r\   )r`   r   rd   re   r   create_taskrg   sleepcancelrf   rl   )r   rm   rn   taskr/   s   &&&  r   _basetest_sock_recv_racing-BaseSockTestsMixin._basetest_sock_recv_racing   s     ii$$T==999""499#6#6tT#BCmmAII""4)BC	EYY((t44ii!!$---d$67 	: 	
 5-sG   :D3D+AD3
D-A#D3.D//#D3D1D3-D3/D31D3c           	       "   VP                  R 4       V P                  P                  W!P                  4      G Rj  xL
  \	        R4      p\        V4      ;_uu_ 4       p\        P                  ! V P                  P                  W$R,          4      4      p\        P                  ! ^ 4      G Rj  xL
  VP                  4        \        P                  ! V P                  P                  VR4      4      pV P                  P                  W$R,          4      G Rj  xL
 pV P                  P                  W$VR 4      G Rj  xL
  V P                  VR4       RRR4       XG Rj  xL
  R#  EL. L LU L1  + '       g   i     L%; i L"5i)FNr[   rr   rZ   r\   )r`   r   rd   re   ri   rs   r   r~   rh   r   r   rf   rl   )r   rm   rn   r/   rt   r   r   s   &&&    r   _basetest_sock_recv_into_racing2BaseSockTestsMixin._basetest_sock_recv_into_racing   s%    ii$$T==999&&		((5z:<D--"""KKM&&		&&t-FGID9933De*EEF))**4VW>>>!!$(:;  

! 	: #
 F>  	sk   :FE*"FAE3/E-0A)E3E/%E3?E1 E3F#F$F-E3/E31E33F	>	Fc           	       a a"   VP                  R	4       VP                  ^4       VP                  \        P                  \        P
                  R4       VP                  R4       \        P                  ! S P                  P                  W!P                  4       4      4      p\        P                  ! ^ 4      G Rj  xL
  VP                  4       ^ ,          oSP                  R4       S;_uu_ 4        VG Rj  xL
  RpV^8  d:   S P                  \        4      ;_uu_ 4         VP!                  RV,          4       K  \        P                  ! S P                  P%                  VR4      4      p\        P                  ! ^ 4      G Rj  xL
  VP'                  4        V V3R lp\        P                  ! V! 4       4      pS P                  P%                  VR4      G Rj  xL
  VP)                  \        P*                  4       VG Rj  xL
 pS P-                  VR4       RRR4       R#  ELm EL3  + '       g   i     M; i\#        T^,          4      pEKW   L Ly LR  + '       g   i     R# ; i5i)
	127.0.0.1r[   FN        s   helloc                     <"   R p  SP                   P                  SR4      G Rj  xL
 pV'       g   V # WP                  4       ,          p KG   L&5i)r   r   N)r   rg   strip)rvrt   r   servers     r   recv_all?BaseSockTestsMixin._basetest_sock_send_racing.<locals>.recv_all   sC      $		 3 3FD AAC!	))+%B Bs   #AAAAs   worldr   r   )bindlisten
setsockoptry   
SOL_SOCKET	SO_SNDBUFr`   r   r~   r   rd   getsocknamer   acceptra   BlockingIOErrorsendintrf   r   shutdownSHUT_WRassertEndsWith)r   listenerrn   r   sizer   r/   r   s   f&&    @r   _basetest_sock_send_racing-BaseSockTestsMixin._basetest_sock_send_racing   s    &' 	))6+;+;TB""II""4)=)=)?@BmmA"1%5!VJJ D!)&&77		$+. &&		&&tX68D--"""KKM& &&xz2D ))((x888MM&..):Dh/A V	 	
 
 87 4!8}
 # 9= VVs   B9I2=H*>6I24I:H-;*I%H0	A	I
IAI I!(I	I
I I2-I0I ;IIII/	)	I2c                ~  "   VP                  R4       VP                  4       pVP                  R4       \        P                  ! V P
                  P                  W#4      4      p\        P                  ! ^ 4      G Rj  xL
  VP                  4        VP                  ^4       Rp\        ^4       F(  p V P
                  P                  W#4      G Rj  xL
   R# 	  V P                  V4       R#  Lq L  \         d   pTp Rp?KV  Rp?i\         d'   pTp\        TR^ 4      R8w  d    Rp? KS   Rp?K  Rp?ii ; i5i)r   FNzMax retries reachedwinerrori&'  r   )r   r   r`   r   r~   r   rd   r   r   r   rangeConnectionRefusedErrorOSErrorgetattrskipTest)r   r   rn   addrr   skip_reasonies   &&&     r   _basetest_sock_connect_racing0BaseSockTestsMixin._basetest_sock_connect_racing   s     &'##%""499#9#9$#EFmmA+sAii,,T888    	k"- 	 9)    1j!,5 6sf   A;D==C/>5D=4C3C1C3D=1C33D:>D D=D:D:D5(D=5D::D=c                   \         P                  ! 4       ;_uu_ 4       p\        P                  ! 4       pV;_uu_ 4        V P                  P	                  \
        P                  ! V P                  W4      ^
4      4       RRR4       \        P                  ! 4       pV;_uu_ 4        V P                  P	                  \
        P                  ! V P                  W4      ^
4      4       RRR4       RRR4       \        P                  ! 4       p\        P                  ! 4       pT;_uu_ 4        V;_uu_ 4        V P                  P	                  \
        P                  ! V P                  W24      ^
4      4       RRR4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     LT; i  + '       g   i     R# ; i
   N)
rS   rx   ry   r   rc   r   wait_forr   r   r   )r   rm   rn   r   s   &   r   test_sock_client_racing*BaseSockTestsMixin.test_sock_client_racing  s+   ''))U==?D		,,W-=-=33E@".F G  ==?D		,,W-=-=88Er.K L  * ==?}}XttII(()9)9//?*E F XX   *) tXXXsa    F-A F	>'F-%A F	%F-)G4A G 	4GF	F-F*%F--F=	 GGG$	c                r   \         P                   ! 4       p\         P                   ! 4       pT;_uu_ 4        V;_uu_ 4        V P                  P                  \        P                  ! V P                  W4      ^
4      4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; ir   )ry   r   rc   r   r   r   )r   r   rn   s   &  r   test_sock_client_connect_racing2BaseSockTestsMixin.test_sock_client_connect_racing  sg    ==?}}XttII(()9)9228BB*H I XXttXXXs$   B% A B	 B%B"B%%B6	c                  "   \         P                   ! 4       pVP                  R 4       RpRV^
,          ,          pV P                  P                  W!4      G Rj  xL
  V P                  P	                  VRRV,          ,           R,           4      G Rj  xL
  \
        P                  ! V P                  P	                  W$4      4      pV P                  P                  W#4      G Rj  xL
 pV P                  VR4       VP                  R4      R	8X  d,   Y`P                  P                  W#4      G Rj  xL
 ,          pKA  VRVP                  R4      ^,            pV\        V4      R pTp\        R4      p	\        \        V	\        V4      4      4      p
V P                  Wj4       V\        V4      ,          p V P                  P                  W#4      G Rj  xL
 pV'       g   MC\        \        V	\        V4      4      4      p
V P                  Wj4       V\        V4      ,          pKp  V P                  V^ 4       VG Rj  xL
  VP!                  4        R#  EL EL ELs EL+ L L$5i
Fi@B s
   0123456789Ns   POST /loop HTTP/1.0
s   Content-Length: %d
s   
r\   s   

)ry   r`   r   rd   rf   r   r~   rg   rl   findindexr.   r   bytesr   assertEqualrk   )r   re   rn   	DATA_SIZEchunkr   r/   headersr   checkerr$   s   &&         r   _basetest_huge_content)BaseSockTestsMixin._basetest_huge_content  s    }}	b1ii$$T333ii$$T&@&?)&K'L&-'.0 	0 	0
 ""499#9#9$#FGYY((99 	d$67ii$*))--d>>>D3

;/!34CLM"&T34(D	,,T==DVGSY78HT,CIDq!



G 	4	0 :
 ? > 	sv   AI!I8I!IAI!$I%A
I!/I0B"I!II!AI!:I;I!I!I!I!I!I!c                    \         P                  ! 4       ;_uu_ 4       pV P                  P                  V P	                  VP
                  4      4       R R R 4       R #   + '       g   i     R # ; ir   )rS   rx   r   rc   r   re   r   rm   s   & r   test_huge_content$BaseSockTestsMixin.test_huge_contentG  sF    ''))UII((++EMM:< *)))   5AA.	c                (  "   \         P                   ! 4       pVP                  R 4       RpRV^
,          ,          pV P                  P                  W!4      G Rj  xL
  V P                  P	                  VRRV,          ,           R,           4      G Rj  xL
  \
        P                  ! V P                  P	                  W$4      4      p\        V4      p\        V4      pV P                  P                  W'4      G Rj  xL
 p\        VRV 4      p	V P                  V	R4       V	P                  R4      R	8X  d4   V P                  P                  W'4      G Rj  xL
 p\        VRV 4      p	KI  V	RV	P                  R4      ^,            p
V	\        V
4      R p	Tp\        R4      p\        \!        V\        V	4      4      4      pV P#                  W4       V\        V	4      ,          p V P                  P                  W'4      G Rj  xL
 pVRV p	V	'       g   MC\        \!        V\        V	4      4      4      pV P#                  W4       V\        V	4      ,          pKu  V P#                  V^ 4       VG Rj  xL
  VP%                  4        R#  EL) EL EL EL8 L L$5ir   )ry   r`   r   rd   rf   r   r~   ri   rs   rh   r   rl   r   r   r.   r   r   r   rk   )r   re   rn   r   r   r   arrayrt   r   r/   r   r   r   r$   s   &&            r   _basetest_huge_content_recvinto2BaseSockTestsMixin._basetest_huge_content_recvintoL  s-    }}	b1ii$$T333ii$$T&@&?)&K'L&-'.0 	0 	0
 ""499#9#9$#FG)$yy//::S&\" 	d$67ii$*9933D>>FWf&D3

;/!34CLM"&T34(D	9933D>>Fw<DVGSY78HT,CIDq!



S 	4	0 ; ? ? 	sv   AJJ8JJA'J:J;AJJB*J>J?JAJ+J,JJJJJJc                    \         P                  ! 4       ;_uu_ 4       pV P                  P                  V P	                  VP
                  4      4       R R R 4       R #   + '       g   i     R # ; ir   )rS   rx   r   rc   r   re   r   s   & r   test_huge_content_recvinto-BaseSockTestsMixin.test_huge_content_recvinto~  sG    ''))UII((44U]]CE *)))r   c                  "   Rp\         P                   ! \         P                  \         P                  4      ;_uu_ 4       pVP                  R4       V P                  P                  W2V4      G Rj  xL
  V P                  P                  VR4      G Rj  xL
 w  rEV P                  WB4       V P                  WQ4       RRR4       R#  LV L4  + '       g   i     R# ; i5i)      FN   )ry   AF_INET
SOCK_DGRAMr`   r   sock_sendtosock_recvfromr   )r   server_addressr/   rn   received_data	from_addrs   &&    r   _basetest_datagram_recvfrom.BaseSockTestsMixin._basetest_datagram_recvfrom  s     ]]6>>6+<+<==U#))''NCCC-1YY-D-Dd. ($M]1Y7 >=C( >==sA   >C  1C1C2#CC
(C>
C C
CC		C c                    \         P                  ! 4       ;_uu_ 4       pV P                  P                  V P	                  V4      4       R R R 4       R #   + '       g   i     R # ; ir   )rS   run_udp_echo_serverr   rc   r   r   r   s   & r   test_recvfrom BaseSockTestsMixin.test_recvfrom  sC    ++--II((00@B .---   +AA$	c                4  "   \         P                   ! \         P                  \         P                  4      ;_uu_ 4       pVP                  R 4       \	        R4      pRpV P
                  P                  W$V4      G Rj  xL
  V P
                  P                  W#4      G Rj  xL
 w  rVV P                  VR4       V P                  W44       V P                  Wa4       \	        R4      pV P
                  P                  W$V4      G Rj  xL
  V P
                  P                  W#R4      G Rj  xL
 w  rVV P                  VR4       V P                  VR,          VR,          4       V P                  Wa4       RRR4       R#  L L L{ LY  + '       g   i     R# ; i5i)Fr   Nr   :Ni   Nr   )	ry   r   r   r`   ri   r   r   sock_recvfrom_intor   )r   r   rn   rt   r/   	num_bytesr   s   &&     r    _basetest_datagram_recvfrom_into3BaseSockTestsMixin._basetest_datagram_recvfrom_into  sF    ]]6>>6+<+<==U#D/C!D))''NCCC)-)E)E* $ IY-S'Y7D/C))''NCCC)-)E)E4*! $! IY-SZe5Y7% >=
 D$ D$! >==sf   <F>F<E<="FE> A$FF #F(F)A	F2
F<F>F FFF		Fc                    \         P                  ! 4       ;_uu_ 4       pV P                  P                  V P	                  V4      4       R R R 4       R #   + '       g   i     R # ; ir   )rS   r   r   rc   r   r   s   & r   test_recvfrom_into%BaseSockTestsMixin.test_recvfrom_into  sC    ++--II((55nEG .---r   c                  aa"   Rp\         P                   ! \         P                  \         P                  4      ;_uu_ 4       oSP                  R4       \	        S4      oSP
                  Sn        SP                  P                  \        R7       SP                  Sn	        V P                  P                  VV3R l4       V P                  P                  SW!4      G Rj  xL
  V P                  P                  SR4      G Rj  xL
 w  r4V P                  W24       V P                  WA4       RRR4       R#  LV L4  + '       g   i     R# ; i5i)r   r   F)side_effectc                  2   < \        S R SP                  4      # )sendto)setattrr   )	mock_sockrn   s   r   <lambda>GBaseSockTestsMixin._basetest_datagram_sendto_blocking.<locals>.<lambda>  s    	8T[[Ar   Nr   )ry   r   r   r`   r   
gettimeoutr   configure_mockr   filenor   	call_soonr   r   r   )r   r   r/   r   r   r   rn   s   &&   @@r   "_basetest_datagram_sendto_blocking5BaseSockTestsMixin._basetest_datagram_sendto_blocking  s      ]]6>>6+<+<==U#T
I#'??I +++H#{{IIIA ))''	4HHH-1YY-D-Dd. ($M]1Y7 >= I( >==sB   >EBD; D7!#D;D9(D;-
E7D;9D;;E		Ec                x   \         P                  R 8X  dA   \        V P                  \        P
                  4      '       d   \        P                  ! R4      h\        P                  ! 4       ;_uu_ 4       pV P                  P                  V P                  V4      4       RRR4       R#   + '       g   i     R# ; i)win32r
   N)sysplatformr]   r   r   ProactorEventLoopunittestSkipTestrS   r   rc   r   r   s   & r   test_sendto_blocking'BaseSockTestsMixin.test_sendto_blocking  sx    <<7"$))W%>%>??''(KLL++--II((77GI .---s   3+B((B9	c                N   \         P                  ! 4       ;_uu_ 4       p\        P                  ! \        P                  4      pV P	                  W4       \        P                  ! \        P                  4      pV P                  W4       R R R 4       R #   + '       g   i     R # ; ir   )rS   run_test_unix_serverry   AF_UNIXro   ru   rz   s   &  r   test_unix_sock_client_ops,BaseSockTestsMixin.test_unix_sock_client_ops  sb    ,,..%==0D**57==0D))%6	 /...s   A+BB$	c                   R p \         P                   ! 4       pVP                  R4       VP                  4       pVP                  4        \         P                   ! 4       pVP	                  R4       V P                  \        4      ;_uu_ 4        V P                  P                  V P                  P                  W14      4       R R R 4       VP                  4        R #   XP                  4        i ; i  + '       g   i     L7; i)NFr   )
ry   r   r   rk   r`   ra   r   r   rc   rd   )r   re   srn   s   &   r   test_sock_client_fail(BaseSockTestsMixin.test_sock_client_fail  s    	AFF#$mmoGGGI}}566II((		&&t57 7 	

 GGI 76s   6C 5C1C.1D	c                   \         P                   ! 4       pVP                  R 4       VP                  R4       VP                  ^4       \         P                   ! 4       pVP	                  VP                  4       4       V P                  P                  V4      pV P                  P                  V4      w  rEV P                  VP                  4       ^ 4       V P                  WRP                  4       4       V P                  VP                  4       VP                  4       4       VP                  4        VP                  4        VP                  4        R# )FNr   )ry   r`   r   r   connectr   r   rj   rc   r   r   getpeernamerk   )r   r   clientfconnr   s   &     r   test_sock_accept#BaseSockTestsMixin.test_sock_accept  s    ==?U#&'x++-.II!!(+YY11!4
*A.1134++-x/C/C/EF

r   c                <   \         P                   ! 4       pVP                  R 4       VP                  R4       VP                  ^4       VP	                  4       p\
        P                  ! V P                  P                  V4      R4      pV P                  \
        P                  4      ;_uu_ 4        V P                  P                  V4       RRR4       VP                  4        \         P                   ! 4       pVP                  R 4       V P                  P                  WB4      pV P                  \        4      ;_uu_ 4        V P                  P                  V4       RRR4       VP                  4        R#   + '       g   i     L; i  + '       g   i     L5; i)Fg?Nr   )ry   r`   r   r   r   r   r   r   rj   ra   TimeoutErrorrc   rk   rd   r   )r   r   sockaddrr  r  s   &    r   test_cancel_sock_accept*BaseSockTestsMixin.test_cancel_sock_accept  s   ==?U#&''')TYY228<cBw3344II((+ 5 	5!II""64566II((+ 7 	 54 76s   0E8F8F	F	c           	       a  \         P                  ! 4       ;_uu_ 4       pR pS P                  P                  S P                  P                  ! VP
                  R\        P                  / 4      pV Fe  w  rErgp \        P                  ! WEVR7      pVP                  R4       S P                  P                  S P                  P                  W(4      4        M	  S P                  R4       S P                  P                  V 3R lVR7      p	S P                  P                  V	4      w  rS P                  V
\        P                  4       S P                  V\        P                   4       S P                  P                  VP"                  4       S P%                  VP&                  ^ 4       V
P)                  4        R R R 4       R #   \         d     EKb  i ; i  + '       g   i     R # ; i)Ntype)familyr  protoFzCan not create socket.c                  0   < \        S P                  R 7      # )r   )r   r   r4   s   r   r   @BaseSockTestsMixin.test_create_connection_sock.<locals>.<lambda>  s    TYY/r   rn   )rS   rx   r   rc   getaddrinfore   ry   SOCK_STREAMr`   rd   BaseExceptionfailcreate_connectionassertIsInstancer   	TransportProtocolr   assertGreaterr   rk   )r   rm   rn   infosr  r  r  cnamere   r  trprs   f           r   test_create_connection_sock.BaseSockTestsMixin.test_create_connection_sock	  s}   ''))UDII00		%%]]=)/););=>E 8=3eG!==OD$$U+II00		..t=?
  8= 		23		++/d , <AYY11!4FB!!"g&7&78!!"g&6&67II((1ryy!,HHJ3 *) %  *))s2   AG9AGC$GG	GG	GG(	r  )$r<   r=   r>   r?   rH   rM   rW   ro   ru   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	   skip_unless_bind_unix_socketr  r  r  r  r/  r@   rA   __classcell__)rO   rC   s   @@r   rE   rE   <   s     "
"8H8"78 (-0n#<F I*X<
0dE
	8B
8,G
8*I //7 07""& r   rE   r   c                   &   a  ] tR tRt o R tRtV tR# )SelectEventLoopTestsi(  c                ,    \         P                  ! 4       # r   )r   SelectorEventLoopr4   s   &r   rH   &SelectEventLoopTests.create_event_loop+      ,,..r   r   Nr<   r=   r>   r?   rH   r@   rA   rB   s   @r   r4  r4  (  s     	/ 	/r   r4  c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )ProactorEventLoopTestsi/  c                ,    \         P                  ! 4       # r   )r   r   r4   s   &r   rH   (ProactorEventLoopTests.create_event_loop2  r8  r   c                z  "   R  pV! 4       pVP                  4       pV! 4       pVP                  4       pV! 4       pVP                  4       pVP                  \        P                  4       VP	                  4        V P
                  P                  V! V4      4      p	V P
                  P                  V! V4      4      p
\        P                  ! ^ 4      G Rj  xL
  V P
                  P                  VRV4      G Rj  xL
  T P                  V
G Rj  xL
 R4       V P
                  P                  VRV4      G Rj  xL
  T P                  V	G Rj  xL
 R4       V P
                  P                  V! V4      4      p	\        P                  ! ^ 4      G Rj  xL
  V P
                  P                  VRV4      G Rj  xL
  T P                  V	G Rj  xL
 R4       V P
                  P                  V! V4      4      p	\        P                  ! ^ 4      G Rj  xL
  VP                  RV4       T P                  V	G Rj  xL
 R4       VP                  \        P                  4       VP	                  4        VP                  \        P                  4       VP	                  4        R#  EL EL EL ELq EL_ EL L L L L5i)c                      \         P                   ! \         P                  \         P                  4      p V P                  R 4       V P	                  R4       V # )Fr   )ry   r   r   r`   r   r!  s    r   create_socket^ProactorEventLoopTests._basetest_datagram_send_to_non_listening_address.<locals>.create_socket@  s<    }}V^^V5F5FG  '		*+r   N   a   b   cr      d)r   r   ry   	SHUT_RDWRrk   r   r~   r   r   r   r   r   )r   recvfromr@  socket_1addr_1socket_2addr_2socket_3addr_3socket_1_recv_tasksocket_2_recv_tasks   &&         r   0_basetest_datagram_send_to_non_listening_addressGProactorEventLoopTests._basetest_datagram_send_to_non_listening_address6  s      %H))+F$H))+F %H))+Ff../NN!%!6!6x7I!J!%!6!6x7I!J--"""))''$???#55t<))''$???#55t<!%!6!6x7I!J--""" ))''$???#55s;!%!6!6x7I!J--""" OOD&)#55t<f../NNf../NN1 #?5?5" @5"
 6s   CJ;J!$J;:J$;J;J')J;9J*:J;J-AJ;J0$J;7J38J;J5AJ;J7&J;7J98A*J;$J;'J;*J;-J;0J;3J;5J;7J;9J;c                h   a  V 3R  lpS P                   P                  S P                  V4      4       R# )c                 `   <"   SP                   P                  V R 4      G Rj  xL
 w  rV#  L5ir   N)r   r   )ry   r/   _r   s   &  r   rG  ]ProactorEventLoopTests.test_datagram_send_to_non_listening_address_recvfrom.<locals>.recvfromq  s,      $		 7 7 EE Fs    .,	.Nr   rc   rP  )r   rG  s   f r   4test_datagram_send_to_non_listening_address_recvfromKProactorEventLoopTests.test_datagram_send_to_non_listening_address_recvfromp  s-     II((EEr   c                h   a  V 3R  lpS P                   P                  S P                  V4      4       R# )c                 |   <"   \        R 4      pSP                  P                  WR 4      G Rj  xL
 w  r#VRV #  L5irT  )ri   r   r   )ry   rt   lengthrU  r   s   &   r   recvfrom_intogProactorEventLoopTests.test_datagram_send_to_non_listening_address_recvfrom_into.<locals>.recvfrom_into{  sC     o"&))">">v?C#E E	7F|#Es   +<:<NrW  )r   r]  s   f r   9test_datagram_send_to_non_listening_address_recvfrom_intoPProactorEventLoopTests.test_datagram_send_to_non_listening_address_recvfrom_intoz  s-    $ II((EE!#$r   r   N)
r<   r=   r>   r?   rH   rP  rX  r_  r@   rA   rB   s   @r   r;  r;  /  s     	/7	t			$ 		$r   r;  KqueueSelectorc                   &   a  ] tR tRt o R tRtV tR# )KqueueEventLoopTestsi  c                T    \         P                  ! \        P                  ! 4       4      # r   )r   r6  	selectorsra  r4   s   &r   rH   &KqueueEventLoopTests.create_event_loop  s!    00,,.0 0r   r   Nr9  rB   s   @r   rc  rc    s     0 0r   rc  EpollSelectorc                   &   a  ] tR tRt o R tRtV tR# )EPollEventLoopTestsi  c                T    \         P                  ! \        P                  ! 4       4      # r   )r   r6  re  rg  r4   s   &r   rH   %EPollEventLoopTests.create_event_loop  s    001H1H1JKKr   r   Nr9  rB   s   @r   ri  ri    s     L Lr   ri  PollSelectorc                   &   a  ] tR tRt o R tRtV tR# )PollEventLoopTestsi  c                T    \         P                  ! \        P                  ! 4       4      # r   )r   r6  re  rl  r4   s   &r   rH   $PollEventLoopTests.create_event_loop  s    001G1G1IJJr   r   Nr9  rB   s   @r   rn  rn    s     K Kr   rn  c                   &   a  ] tR tRt o R tRtV tR# )r4  i  c                T    \         P                  ! \        P                  ! 4       4      # r   )r   r6  re  SelectSelectorr4   s   &r   rH   r7    s    ,,Y-E-E-GHHr   r   Nr9  rB   s   @r   r4  r4    s     	I 	Ir   __main__)"ry   r   r   r   r   	itertoolsr   r   unittest.mockr   test.test_asyncior   rS   testr   test.supportr	   tcp_blackholer  r   r)  r   rE   r   TestCaser4  r;  re  hasattrrc  ri  rn  r<   mainr   r   r   <module>r~     sM     
  # #  1  &  


?
@@0$'g $'Ng gT <<7/1)22/T$!3!+!4!4T$n y*++	0#5#-#6#6	0 y/**	L"4","5"5	L y.))	K!3!+!4!4	KI1)22I zMMO r   