+
    Pj<                     D   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt ! R R]4      t ! R R]P*                  4      t ! R R]4      t ! R R	]P2                  ]R
7      tR t]P8                  R 4       tR R lt ! R R4      t ! R R]4      t  ! R R]4      t!R t"]"! 4       t" ! R R4      t# ! R R]PH                  4      t% ! R R]%4      t& ! R R]%4      t'R t(R!R lt)]P8                  R 4       t*R# )"z8Test utilities. Don't use outside of the uvloop project.Nc                   &   a  ] tR t^t o R tRtV tR# )MockPatternc                r    \        \        P                  ! \        V 4      V\        P                  4      4      # N)boolresearchstrS)selfothers   &&i/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/uvloop/_testbase.py__eq__MockPattern.__eq__   s"    BIIc$i566     N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classdict__s   @r   r   r      s     7 7r   r   c                   >   a a ] tR t^t oV 3R ltV 3R ltRtVtV ;t# )TestCaseDictc                0   < \         SV `  4        Wn        R # r   )super__init__name)r   r   	__class__s   &&r   r   TestCaseDict.__init__   s    	r   c                   < WP                   9   d&   \        R P                  V P                  V4      4      h\        SV `  W4       R# )zduplicate test {}.{}N)dataRuntimeErrorformatr   r   __setitem__)r   keyvaluer    s   &&&r   r&   TestCaseDict.__setitem__#   s>    ))5<<		3   ! !C'r   )r   )	r   r   r   r   r   r&   r   r   __classcell__r    r   s   @@r   r   r      s     ( (r   r   c                   B   a a ] tR t^*t o]R 4       tV 3R ltRtVtV ;t	# )BaseTestCaseMetac                    \        V4      # r   )r   )mclsr   basess   &&&r   __prepare__BaseTestCaseMeta.__prepare__,   s    D!!r   c           	        < V F[  pVP                  R 4      '       g   K  V F9  p\        WT4      '       g   K  \        RP                  WVP                  4      4      h	  K]  	  \
        SV `  WV\        V4      4      # )test_z6duplicate test {}.{} (also defined in {} parent class))
startswithhasattrr$   r%   r   r   __new__dict)r/   r   r0   dct	test_namebaser    s   &&&&  r   r7   BaseTestCaseMeta.__new__0   st    I''004++&((. T]])<= =   wt5$s)<<r   r   )
r   r   r   r   classmethodr1   r7   r   r   r*   r+   s   @@r   r-   r-   *   s!     " "= =r   r-   c            
          a  ] tR t^>t o R tR tR tR tR tRR/R lt	R	 t
R
 tR tR tR]P                  RRR^R^R^
/R lt]P                  ^
3R ltR tR t]P*                  R 4       tR tRtV tR# )BaseTestCasec                    \         hr   NotImplementedErrorr   s   &r   new_loopBaseTestCase.new_loop@       !!r   c                    \         hr   rA   rC   s   &r   
new_policyBaseTestCase.new_policyC   rF   r   c                    \        V4      # r   )r   )r   r	   s   &&r   mock_patternBaseTestCase.mock_patternF   s    3r   c                   "   \        V\        P                  4      '       g   R #  VP                  4       G R j  xL
  R #  L  \        \
        3 d     R # i ; i5ir   )
isinstanceasyncioStreamWriterwait_closedBrokenPipeErrorConnectionError)r   objs   &&r   rQ   BaseTestCase.wait_closedI   sF     #w3344	//###1 		s7   #AA A A A A AAAAc                ^    \        V P                  4      P                  P                  R 4      # )zasyncio.)typeloopr   r5   rC   s   &r   is_asyncio_loopBaseTestCase.is_asyncio_loopQ   s!    DII))44Z@@r   delayg{Gz?c               d    V P                   P                  \        P                  ! V4      4       R # r   )rX   run_until_completerO   sleep)r   r[   s   &$r   run_loop_brieflyBaseTestCase.run_loop_brieflyT   s    		$$W]]5%9:r   c                r    V P                   P                  V4       V P                  P                  V4       R # r   )#_BaseTestCase__unhandled_exceptionsappendrX   default_exception_handler)r   rX   contexts   &&&r   loop_exception_handler#BaseTestCase.loop_exception_handlerW   s(    ##**73		++G4r   c                   V P                  4       V n        \        P                  ! V P	                  4       4       \        P
                  ! V P                  4       R V n        V P                  P                  V P                  4       . V n	        R# )TN)
rD   rX   rO   set_event_loop_policyrH   set_event_loop"_check_unclosed_resources_in_debugset_exception_handlerrf   rb   rC   s   &r   setUpBaseTestCase.setUp[   s^    MMO	%%doo&78tyy)26/		''(C(CD&(#r   c           
     R   V P                   P                  4        V P                  '       d?   \        R 4       \        P                  ! V P                  4       V P                  R4       R# V P                  '       g   R# \        P                  ! 4        \        P                  ! 4        \        P                  ! 4        \        V P                   RR4      '       Ed   \        P                  ! 4        \        P                  ! 4        \        P                  ! 4        V P                  V P                   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                  ^ R4       V P                   P                   P#                  4        FK  w  rV P%                  R	VR
7      ;_uu_ 4        V P                  V^ RP'                  V4      4       RRR4       KM  	  V P                   P(                  P#                  4        Fe  w  rV P%                  RVR
7      ;_uu_ 4        V P                  W P                   P*                  V,          RP'                  V4      4       RRR4       Kg  	  \,        P.                  ! R4       \,        P0                  ! R4       RV n         R#   + '       g   i     EK#  ; i  + '       g   i     K  ; i)z2Unexpected calls to loop.call_exception_handler():z1unexpected calls to loop.call_exception_handler()N	_debug_ccFz&not all uv_handle_t handles were freedz&not all callbacks (call_soon) are GCedz-not all timer callbacks (call_later) are GCedz&not all stream write contexts are GCedzAlive handle after test)handle_namezalive {} after testzTotal/closed handlesztotal != closed for {})rX   closerb   printpprintfailrk   gccollectgetattrassertEqual_debug_uv_handles_total_debug_uv_handles_freed_debug_cb_handles_count_debug_cb_timer_handles_count_debug_stream_write_ctx_cnt_debug_handles_currentitemssubTestr%   _debug_handles_total_debug_handles_closedrO   rj   ri   )r   h_nameh_cnts   &  r   tearDownBaseTestCase.tearDownd   sX   		&&&FGMM$556IIIJ666 	







499k511JJLJJLJJL		11		118:
 		1118: 		77?A 		55q8: "&!A!A!G!G!I\\";.4 " 6 6$$q-44V<>6 6 "J "&!?!?!E!E!G\\"8.4 " 6 6$$yy>>vF077?A6 6 "H 	t$%%d+	6 6 66 6 6s   #L =L LL&c                    R V n         R# FN)rk   rC   s   &r   skip_unclosed_handles_check(BaseTestCase.skip_unclosed_handles_check   s
    27/r   familyaddrNtimeoutbacklogmax_clientsc                  VfK   V\         P                  8X  d4   \        P                  ! 4       ;_uu_ 4       pVP                  pR R R 4       MRp\         P                   ! V\         P
                  4      pVf   \        R4      hV^ 8:  d   \        R4      hVP                  V4        VP                  V4       VP                  V4       \        YYT4      #   + '       g   i     L; i  \         d   p	TP                  4        T	hR p	?	ii ; i)Ntimeout is required#only blocking sockets are supported)z	127.0.0.1    )socketAF_UNIXtempfileNamedTemporaryFiler   SOCK_STREAMr$   
settimeoutbindlistenOSErrorrr   TestThreadedServer)
r   server_progr   r   r   r   r   tmpsockexs
   &&$$$$$   r   
tcp_serverBaseTestCase.tcp_server   s     <'0022c88D 32 (}}VV%7%78?455a<DEE 	IIdOKK 
 "k; 	;) 32   	JJLH	s#   C'"C) C&	)D4DDc                    \         P                   ! V\         P                  4      pVf   \        R4      hV^ 8:  d   \        R4      hVP                  V4       \	        WW4      # )Nr   r   )r   r   r$   r   TestThreadedClient)r   client_progr   r   r   s   &&&& r   
tcp_clientBaseTestCase.tcp_client   s\     }}VV%7%78?455a<DEE !. 	.r   c                F    V P                   ! VR \        P                  /VB # r   )r   r   r   r   argskwargss   &*,r   unix_serverBaseTestCase.unix_server       FV^^FvFFr   c                F    V P                   ! VR \        P                  /VB # r   )r   r   r   r   s   &*,r   unix_clientBaseTestCase.unix_client   r   r   c              #  v  "   \         P                  ! 4       ;_uu_ 4       p\        P                  P	                  VR 4      p Vx   \        P
                  ! V4       RRR4       R#   \         d     Li ; i   \        P
                  ! T4       i   \         d     i i ; i; i  + '       g   i     R# ; i5i)r   N)r   TemporaryDirectoryospathjoinunlinkr   )r   tdfns   &  r   unix_sock_nameBaseTestCase.unix_sock_name   s     ((**bb&)BIIbM +*  IIbM  +**sp   B9!B%A8A'
B9'A52B%4A55B%8B":BB"BB"BB""B%%B6	0	B9c                     V P                   P                  4        V P                  V4       R #   T P                  T4       i ; ir   )rX   stopru   r   r   s   &&r   _abort_socket_testBaseTestCase._abort_socket_test   s,    	IINNIIbMDIIbMs	   / A)__unhandled_exceptionsrk   rX   )r   r   r   r   rD   rH   rK   rQ   rY   r_   rf   rm   r   r   r   AF_INETr   r   r   r   
contextlibcontextmanagerr   r   r   r   r   s   @r   r?   r?   >   s     "" A; ;5)7r8; ..;; ; 	;
  ";B !...GG 	 	 r   r?   )	metaclassc                 
   \         P                  P                  \         P                  P                  \         P                  P	                  V 4      R V4      4      p\         P                  P                  V4      '       g   Q hV# )certs)r   r   abspathr   dirnameisfile)test_file_namecert_file_namefullnames   && r   _cert_fullnamer      sW    wwrww||
'. B CH77>>(####Or   c               #      "    ! R  R\         P                  4      p \         P                  ! R4      pV ! 4       pVP                  V4        Rx  VP	                  V4       R#   TP	                  T4       i ; i5i)c                   &   a  ] tR t^t o R tRtV tR# ))silence_long_exec_warning.<locals>.Filterc                    VP                   P                  R 4      ;'       d    VP                   P                  R4      '       * # )	Executingseconds)msgr5   endswith)r   records   &&r   filter0silence_long_exec_warning.<locals>.Filter.filter   s:    

--k: 7 7

++I68 8r   r   N)r   r   r   r   r   r   r   r   s   @r   Filterr      s     	8 	8r   r   rO   N)loggingr   	getLogger	addFilterremoveFilter)r   loggerr   s      r   silence_long_exec_warningr      s`     8 8
 y)FXF
V$F#F#s   AA8A" A8"A55A8c                 :   \        W R ,           4       FC  p\        P                  ! 4       pV;_uu_ 4         VP                  RV34       VuuRRR4       u # 	  \	        R4      h  \        P                   d     RRR4       Kr  i ; i  + '       g   i     K  ; i)i   Nzcould not find a free port)ranger   r   errorr$   )
start_fromportr   s   &  r   find_free_portr      s~    js"23}}T		2t*%  T 4 3
44	 << 	 T TTs.   B	A%
B	%B	:B	B	B		Bc                   \   a  ] tR tRt o R	R ltRR/R lt]P                  R 4       tRt	V t
R# )
SSLTestCasei  Nc                   \        \        R 4      '       d&   \        P                  ! \        P                  4      pM_\        \        R4      '       d&   \        P                  ! \        P                  4      pM$\        P                  ! \        P
                  4      pV;P                  \        P                  ,          un        VP                  W4       V# )PROTOCOL_TLS_SERVERPROTOCOL_TLS)	r6   ssl
SSLContextr   r   PROTOCOL_SSLv23optionsOP_NO_SSLv2load_cert_chain)r   certfilekeyfile
sslcontexts   &&& r   _create_server_ssl_context&SSLTestCase._create_server_ssl_context  s    3-..(?(?@JS.))(8(89J(;(;<Jcoo-""85r   disable_verifyTc               x    \         P                  ! 4       pR Vn        V'       d   \         P                  Vn        V# )F)r   create_default_contextcheck_hostname	CERT_NONEverify_mode)r   r   r   s   &$ r   _create_client_ssl_context&SSLTestCase._create_client_ssl_context  s-    //1
$)
!%(]]J"r   c              #     "   \         P                  ! R 4      p\         P                  ! R4      pVP                  V4        Rx  VP	                  V4       R#   TP	                  T4       i ; i5i)rO   zhas no effect when using sslN)r   r   r   r   r   )r   r   r   s   &  r   _silence_eof_received_warning)SSLTestCase._silence_eof_received_warning!  sX      ""9- >? 	('F's   >A.A A.A++A.r   r   )r   r   r   r   r   r  r   r   r  r   r   r   s   @r   r   r     s0     	4  ( (r   r   c                   0   a  ] tR tRt o RtR tR tRtV tR# )
UVTestCasei-  uvloopc                ,    \         P                  ! 4       # r   )r  new_event_looprC   s   &r   rD   UVTestCase.new_loop1  s    $$&&r   c                ,    \         P                  ! 4       # r   )r  EventLoopPolicyrC   s   &r   rH   UVTestCase.new_policy4  s    %%''r   r   N)	r   r   r   r   implementationrD   rH   r   r   r   s   @r   r  r  -  s     N'( (r   r  c                   N   a a ] tR tRt oRtV 3R ltV 3R ltR tR tRt	Vt
V ;t# )AIOTestCasei8  rO   c                   < \         SV `  4        \        P                  R8  dI   \        P
                  ! 4       pVP                  V P                  4       \        P                  ! V4       R# R#    N)r     )	r   rm   sysversion_inforO   SafeChildWatcherattach_looprX   set_child_watcher)r   watcherr    s   & r   rm   AIOTestCase.setUp<  sM    g%..0G		*%%g. &r   c                z   < \         P                  R8  d   \        P                  ! R4       \        SV `  4        R# r  )r  r  rO   r  r   r   r   r    s   &r   r   AIOTestCase.tearDownD  s*    g%%%d+r   c                ,    \         P                  ! 4       # r   )rO   r
  rC   s   &r   rD   AIOTestCase.new_loopI  s    %%''r   c                ,    \         P                  ! 4       # r   )rO   DefaultEventLoopPolicyrC   s   &r   rH   AIOTestCase.new_policyL  s    --//r   r   )r   r   r   r   r  rm   r   rD   rH   r   r   r*   r+   s   @@r   r  r  8  s#     N/
(0 0r   r  c                      \         P                   ! \         P                  4      p V ;_uu_ 4         V P                  R4        RRR4       R#   \         d     RRR4       R# i ; i  + '       g   i     R# ; i)::1NTF)r&  r   )r   AF_INET6r   r   )server_socks    r   has_IPv6r)  P  s]    --0K		Z(  
  		 
	 
s.   A'AA'A$A'#A$$A''A8	c                   N   a  ] tR tRt o R tR tRRRRRR	/R
 ltR tR tRt	V t
R# )TestSocketWrapperic  c                    Wn         R # r   )_TestSocketWrapper__sockr   r   s   &&r   r   TestSocketWrapper.__init__e  s    r   c                    R p\        V4      V8  d9   V P                  V\        V4      ,
          4      pVR 8X  d   \        hW#,          pKH  V# )r   )lenrecvConnectionAbortedError)r   nbufr#   s   &&  r   recv_allTestSocketWrapper.recv_allh  sA    #hl99QS\*Ds{,,KC
r   server_sideFserver_hostnameNdo_handshake_on_connectTc                   \        V\        P                  4      '       g   Q hVP                  V P                  VVVR 7      pV'       d   VP                  4        V P                  P                  4        WPn        R# ))r8  r9  r:  N)rN   r   r   wrap_socketr-  do_handshakerr   )r   ssl_contextr8  r9  r:  ssl_socks   &&$$$ r   starttlsTestSocketWrapper.starttlsq  se    
 +s~~6666**KK[+$; + =
 !!#r   c                .    \        V P                  V4      # r   )rx   r-  )r   r   s   &&r   __getattr__TestSocketWrapper.__getattr__  s    t{{D))r   c                `    R P                  \        V 4      P                  V P                  4      # )z	<{} {!r}>)r%   rW   r   r-  rC   s   &r   __repr__TestSocketWrapper.__repr__  s#    !!$t*"5"5t{{CCr   )__sock)r   r   r   r   r   r6  r@  rC  rF  r   r   r   s   @r   r+  r+  c  s?     "!% *.$*D Dr   r+  c                   2   a  ] tR tRt o R tR tR tRtV tR# )SocketThreadi  c                4    R V n         V P                  4        R# r   )_activer   rC   s   &r   r   SocketThread.stop  s    		r   c                &    V P                  4        V # r   )startrC   s   &r   	__enter__SocketThread.__enter__  s    

r   c                &    V P                  4        R # r   )r   )r   excs   &*r   __exit__SocketThread.__exit__  s    		r   )rL  N)	r   r   r   r   r   rP  rT  r   r   r   s   @r   rJ  rJ    s      r   rJ  c                   ,   a  ] tR tRt o R tR tRtV tR# )r   i  c                    \         P                  P                  V R R R4       RV n        W@n        W n        RV n        W0n        Wn        R # )Nztest-clientT)		threadingThreadr   daemon_timeout_sockrL  _prog_test)r   testr   progr   s   &&&&&r   r   TestThreadedClient.__init__  s>    !!$dMB


r   c                     V P                  \        V P                  4      4       R #   \        \        3 d    h \
         d'   pT P                  P                  T4        R p?R # R p?ii ; ir   )r]  r+  r\  KeyboardInterrupt
SystemExitBaseExceptionr^  r   r   s   & r   runTestThreadedClient.run  sR    	.JJ(45!:. 	 	.JJ))"--	.s   $( A*A*A%%A*)rL  r]  r\  r^  r[  rZ  N)r   r   r   r   r   rf  r   r   r   s   @r   r   r     s     . .r   r   c                   Z   a a ] tR tRt oR tV 3R ltR tR tR t]	R 4       t
RtVtV ;t# )	r   i  c                8   \         P                  P                  V R R R4       RV n        ^ V n        ^ V n        WPn        W@n        W n        RV n	        W0n
        \        P                  ! 4       w  V n        V n        V P                  P                  R4       Wn        R # )Nztest-serverTF)rX  rY  r   rZ  _clients_finished_clients_max_clientsr[  r\  rL  r]  r   
socketpair_s1_s2setblockingr^  )r   r_  r   r`  r   r   s   &&&&&&r   r   TestThreadedServer.__init__  s|    !!$dMB!"'

#..0$(U#
r   c                  <  V P                   '       d<   V P                   P                  4       R8w  d    V P                   P                  R4       \        SV `  4        R#   \         d     Li ; i  \        ST `  4        i ; i)   s   stopN)ro  filenosendr   r   r   r  s   &r   r   TestThreadedServer.stop  sc    	xxxDHHOO-3HHMM'* GLN   GLNs-   A1 A1 A   A.+A1 -A..A1 1Bc                    V P                   ;_uu_ 4        V P                   P                  ^ 4       V P                  4        RRR4       V P                  P	                  4        V P
                  P	                  4        R#   + '       g   i     LF; i  T P                  P	                  4        T P
                  P	                  4        i ; i)r   N)r\  rp  _runrn  rr   ro  rC   s   &r   rf  TestThreadedServer.run  su    	

&&q)		  HHNNHHNN  HHNNHHNNs"   B ,B B  B	B 6C	c                X   V P                   '       d   V P                  V P                  8  d   R # \        P                  ! V P                  V P
                  .. . V P                  4      w  rpV P
                  V9   d   R # V P                  V9   g   K   V P                  P                  4       w  rEV ;P                  ^,          un        VP                  V P                  4        V;_uu_ 4        V P                  V4       R R R 4       EK
  R #   + '       g   i     EK  ; i  \        \        3 d    h \         d/   pRT n          h   T P                  P                  T4       i ; iR p?ii ; i  \         d     EK}  \         P"                   d    T P                   '       g    R # h i ; i)NF)rL  rj  rl  selectr\  rn  r[  acceptr   _handle_clientrc  rd  re  r^  r   BlockingIOErrorr   r   )r   rwxconnr   r   s   &      r   ry  TestThreadedServer._run  s=   lll}} 1 11mmTXX&B?GA! xx1}zzQ>!%!2!2!4JD MMQ&MOODMM2
>!T //5 "T1 0 "TT-z: ( >',>! JJ99"=> ' ~~ <<<	sl   E/ $
D" .D D" D	D" D" "E,=E,>E'EE$$E''E,/F)>F)F)'F)c                :    V P                  \        V4      4       R # r   )r]  r+  r.  s   &&r   r~  !TestThreadedServer._handle_client  s    

$T*+r   c                6    V P                   P                  4       # r   )r\  getsocknamerC   s   &r   r   TestThreadedServer.addr  s    zz%%''r   )rL  rj  rk  rl  r]  rn  ro  r\  r^  r[  rZ  )r   r   r   r   r   r   rf  ry  r~  propertyr   r   r   r*   r+   s   @@r   r   r     s8     $">H, ( ( (r   r   c                     R  pV! 4       pV P                  V4      pRVn         V P                  V4       VP                  4        R#   TP                  4        i ; i)c                     "   R # 5ir   r   r   r   r   oncerun_briefly.<locals>.once  s     s   FN)create_task_log_destroy_pendingr]   rr   )rX   r  gents   &   r   run_brieflyr    sN    
&CA #A"				s   A Ac                 B   \         P                   ! 4       V,           pV! 4       '       gv   VeB   V\         P                   ! 4       ,
          pV^ 8:  d   \        P                  P                  4       hV P	                  \        P
                  P                  R4      4       K  R # )NgMbP?)timerO   futuresTimeoutErrorr]   tasksr^   )rX   predr   deadlines   &&& r   	run_untilr    sk    yy{W$Hff,G!|oo2244 3 3E :; r   c               #    "   \         P                  P                  P                  p  \         P                  P                  P	                  \
        P                  ^,           4       Rx  \         P                  P                  P	                  V 4       R#   \         P                  P                  P	                  T 4       i ; i5i)zjContext manager to disable asyncio logger.

For example, it can be used to ignore warnings in debug mode.
N)rO   logr   levelsetLevelr   CRITICAL)	old_levels    r   disable_loggerr    sw      ""((I/##G$4$4q$89##I.##I.s   %CAB *+C+C  C)iP  )   )+__doc__rO   asyncio.eventscollectionsr   rv   r   r   rt   r   r|  r   r   r  r   rX  r  unittestr  r	   r   UserDictr   rW   r-   TestCaser?   r   r   r   r   r   r  r  r)  r+  rY  rJ  r   r   r  r  r  r   r   r   <module>r     s5   >     	  	  	   
 
     7# 7

(;'' 
(=t =(g8$$0@ gT $ $ 
5( (@( (0, 00 :$D $DN9## . .*P( P(p< 
/ 
/r   