+
    Bi*                     .   ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIt^ RIt^ RIt] P                  ! 4       R 4       t
 ! R R]P                  4      t ! R R]P                  4      t ! R	 R
]4      t ! R R]4      tR t]R8X  d   ]P$                  ! 4        R# R# )    N)support)socket_helperc                     \         P                  ! V 4      ;_uu_ 4        \        P                  ! W\        P                  \        P
                  4      ^ ,          ^,          uuRRR4       #   + '       g   i     R# ; i)r   N)r   transient_internetsocketgetaddrinfoAF_INETSOCK_STREAM)hostports   &&(/usr/lib/python3.14/test/test_timeout.pyresolve_addressr      sS     
	)	)$	/	/!!$fnn"("4"466799:< 
0	/	/	/s   AA,,A=	c                   P   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	tV tR
# )CreationTestCasec                    V P                  \        P                  ! \        P                  \        P                  4      4      V n        R # N)enterContextr   r	   r
   sockselfs   &r   setUpCreationTestCase.setUp   s,    %%MM&..&*<*<=?	    c                \    V P                  V P                  P                  4       R R4       R # )Nztimeout not disabled by default)assertEqualr   
gettimeoutr   s   &r   testObjectCreation#CreationTestCase.testObjectCreation    s$    --/:	<r   c                   V P                   P                  R 4       V P                  V P                   P                  4       R 4       V P                   P                  ^4       V P                  V P                   P                  4       ^4       V P                   P                  R4       V P                  V P                   P                  4       R4       R# )gzGa@N)r   
settimeoutr   r   r   s   &r   testFloatReturnValue%CreationTestCase.testFloatReturnValue%   s    		U#--/7		Q--/3		T"--/6r   c                N   V P                   P                  ^4       V P                  \        V P                   P	                  4       4      \
        4       V P                   P                  R4       V P                  \        V P                   P	                  4       4      \
        4       R# )   g333333@N)r   r    assertIstyper   floatr   s   &r   testReturnTypeCreationTestCase.testReturnType0   sf    		Qd499//12E:		S!d499//12E:r   c                   V P                   P                  ^ 4       V P                   P                  ^ 4       V P                   P                  R4       V P                   P                  R4       V P                  \        V P                   P                  R4       V P                  \        V P                   P                  R4       V P                  \        V P                   P                  R4       V P                  \        V P                   P                  . 4       V P                  \        V P                   P                  / 4       V P                  \        V P                   P                  R4       R# )r           N y                 )r   r    assertRaises	TypeErrorr   s   &r   testTypeCheckCreationTestCase.testTypeCheck8   s    		Q		Q		S!		T")TYY%9%92>)TYY%9%92>)TYY%9%92>)TYY%9%92>)TYY%9%92>)TYY%9%92>r   c                   V P                  \        V P                  P                  R4       V P                  \        V P                  P                  R4       V P                  \        V P                  P                  R4       R# )r$   Ng      )r.   
ValueErrorr   r    r   s   &r   testRangeCheckCreationTestCase.testRangeCheckE   sV    *dii&:&:B?*dii&:&:B?*dii&:&:DAr   c                   V P                   P                  ^
4       V P                   P                  R4       V P                  V P                   P	                  4       R4       V P                   P                  R4       V P                  V P                   P	                  4       R4       V P                   P                  ^
4       V P                   P                  R4       V P                  V P                   P	                  4       R4       V P                   P                  R4       V P                  V P                   P	                  4       R4       R# )
   TNFr+   )r   r    setblockingr   r   r   s   &r   testTimeoutThenBlocking(CreationTestCase.testTimeoutThenBlockingK   s    		R 		d#--/6		e$--/5		R 		e$--/5		d#--/6r   c                   V P                   P                  R 4       V P                   P                  ^4       V P                  V P                   P	                  4       ^4       V P                   P                  R4       V P                   P                  ^4       V P                  V P                   P	                  4       ^4       R# )FTN)r   r9   r    r   r   r   s   &r   testBlockingThenTimeout(CreationTestCase.testBlockingThenTimeoutY   s    		e$		Q--/3		d#		Q--/3r   r   N)__name__
__module____qualname____firstlineno__r   r   r!   r(   r0   r5   r:   r=   __static_attributes____classdictcell____classdict__s   @r   r   r      s3     ?<
	7;?B74 4r   r   c                   H   a  ] tR t^dt o Rt]P                  tR tR t	Rt
V tR# )TimeoutTestCaseg       @c                    \        4       hr   )NotImplementedErrorr   s   &r   r   TimeoutTestCase.setUpo   s    !##r   c                   V P                   P                  V4       \        V P                   V4      p\        V4       F  p\        P
                  ! 4       p V! V!   K!  	  V P                  R4       V P                  XW P                  ,           4       V P                  WR,
          4       R #   \         d)   p\        P
                  ! 4       T,
          p R p? Kj  R p?ii ; i)NzTimeoutError was not raisedg      ?)r   r    getattrrangetime	monotonicTimeoutErrorfail
assertLessfuzzassertGreater)	r   counttimeoutmethodargsit1edeltas	   &&&&*    r   _sock_operationTimeoutTestCase._sock_operationr   s     			W%F+uA!B  II34w235C-0   (2-s   B--C 8CC r-   N)r@   rA   rB   rC   rU   r   HOST	localhostr   r_   rD   rE   rF   s   @r   rI   rI   d   s&      D""I$1 1r   rI   c                   J   a  ] tR t^t o R tR tR tR tR tR t	R t
RtV tR	# )
TCPTimeoutTestCasec                    V P                  \        P                  ! \        P                  \        P                  4      4      V n        \        R ^P4      V n        R# )zwww.python.org.N)r   r   r	   r
   r   r   addr_remoter   s   &r   r   TCPTimeoutTestCase.setUp   s<    %%MM&..&*<*<=?	*+<bAr   c           
     H   \        R R4      p\        R R4      pRp\        P                  ! \        P                  \        P                  4      ;_uu_ 4       p \        P
                  pVP                  V4       VP                  V4       RRR4       V'       dA   V P                  RP                  V^ ,          V^,          XV^ ,          V^,          4      4       Wn        \        P                   ! V P                  ^ ,          4      ;_uu_ 4        V P#                  ^RRV P                  4       RRR4       R#   \         d     L\         d,   pTP                  \        P                  8X  d   Rp Rp?LRp?ii ; i  + '       g   i     L; i  + '       g   i     R# ; i)	zpythontest.netiZ  i[  TFNzWe didn't receive a connection reset (RST) packet from {}:{} within {} seconds, so we're unable to test connect timeout against the corresponding {}:{} (which is configured to silently drop packets).gMbP?connect)r   r   r	   r
   r   LOOPBACK_TIMEOUTr    ri   rR   OSErrorerrnoECONNREFUSEDskipTestformatrf   r   r   r_   )r   	blackhole	whiteholeskipr   rX   errs   &      r   testConnectTimeout%TCPTimeoutTestCase.testConnectTimeout   sD   
 $$4e<	 $$4e<	0 ]]6>>6+=+=>>$!!22(i)	 ? MM8 V!!!!!!!! %--d.>.>q.ABB  E9d6F6FG CB/    !99 2 22 D! ?>8 CBBsN   E=2D8F8E:E=E:E:!E50E=5E::E==F	F!	c                   \         P                  ! V P                  ^ ,          4      ;_uu_ 4        V P                  P	                  V P                  4       V P                  ^RRR4       RRR4       R#   + '       g   i     R# ; i)r         ?recv   N)r   r   rf   r   ri   r_   r   s   &r   testRecvTimeout"TCPTimeoutTestCase.testRecvTimeout   sZ    --d.>.>q.ABBIId../  C6 CBBBs   :A44B	c                    \         P                  ! V P                  V P                  4       V P                  P	                  4        V P                  ^RR4       R# )r$   rw   acceptN)r   	bind_portr   rb   listenr_   r   s   &r   testAcceptTimeout$TCPTimeoutTestCase.testAcceptTimeout   s<    		4>>:		QX.r   c           	        \         P                   ! \         P                  \         P                  4      ;_uu_ 4       p\        P                  ! WP
                  4       VP                  4        V P                  P                  VP                  4       4       V P                  ^dRRRR,          4       RRR4       R#   + '       g   i     R# ; i)d   rw   send   X@ Nr   r	   r
   r   r~   rb   r   r   ri   getsocknamer_   r   servs   & r   testSendTCPTimeoutTestCase.testSend   s|    ]]6>>6+=+=>>$##D..9KKMIId..01  c64&=A ?>>>   A5B;;C	c           
        \         P                   ! \         P                  \         P                  4      ;_uu_ 4       p\        P                  ! WP
                  4       VP                  4        V P                  P                  VP                  4       4       V P                  ^dRRRR,          VP                  4       4       RRR4       R#   + '       g   i     R# ; i)r   rw   sendtor   r   Nr   r   s   & r   
testSendtoTCPTimeoutTestCase.testSendto   s    ]]6>>6+=+=>>$##D..9KKMIId..01  c8TF]!%!1!1!35 ?>>>s   BC

C	c           	        \         P                   ! \         P                  \         P                  4      ;_uu_ 4       p\        P                  ! WP
                  4       VP                  4        V P                  P                  VP                  4       4       V P                  ^dRRRR,          4       RRR4       R#   + '       g   i     R# ; i)r   rw   sendallr   r   Nr   r   s   & r   testSendallTCPTimeoutTestCase.testSendall   s|    ]]6>>6+=+=>>$##D..9KKMIId..01  c9dVmD ?>>>r   )rf   r   N)r@   rA   rB   rC   r   rt   rz   r   r   r   r   rD   rE   rF   s   @r   rd   rd      s4     B
GHR7/B5E Er   rd   c                   ,   a  ] tR tRt o R tR tRtV tR# )UDPTimeoutTestCasei  c                    V P                  \        P                  ! \        P                  \        P                  4      4      V n        R # r   )r   r   r	   
SOCK_DGRAMr   r   s   &r   r   UDPTimeoutTestCase.setUp  s,    %%MM&..&*;*;<>	r   c                    \         P                  ! V P                  V P                  4       V P	                  ^RRR4       R# )r$   rw   recvfromry   N)r   r~   r   rb   r_   r   s   &r   testRecvfromTimeout&UDPTimeoutTestCase.testRecvfromTimeout
  s0     			4>>:QZ6r   r?   N)r@   rA   rB   rC   r   r   rD   rE   rF   s   @r   r   r     s     >7 7r   r   c                  `    \         P                  ! R 4       \         P                  ! RR7       R# )networkT)moduleN)r   requiresrequires_working_socketr-   r   r   setUpModuler     s    Y##40r   __main__)	functoolsunittesttestr   test.supportr   rP   rl   r   	lru_cacher   TestCaser   rI   rd   r   r   r@   mainr-   r   r   <module>r      s       &    < <H4x(( H4V"1h'' "1JwE wEt7 71
 zMMO r   