
    #)fO              	         d dl mZ d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZmZ d dl
mZ d dlmZmZ d dlZd dlZd dlZd dlZd dlmZ ddlmZmZ dd	lmZ d
dlmZ erd dlm Z m!Z! da"	 d dl#mZ$ d#dZ&d#dZ'd$dZ(	 	 	 	 	 	 d%dZ) e* e)ed            Z+ e* e)ed            Z,e+D  cg c]  } | jZ                   c} Z.ej^                  ja                         ej^                  jc                  e	jd                  jf                  dk(  d      ej^                  ji                  de.      ej^                  ji                  dg d      ej^                  jk                  d      d&d                                   Z6eej^                  ja                         ej^                  jc                  e	jd                  jf                  dk(  d      ej^                  ji                  de.      ej^                  ji                  dddg      	 	 	 	 	 	 	 	 d'd                                    Z7d#d!Z8d#d"Z9y# e%$ r eZ$Y w xY wc c} w )(    )annotationsN)PathPurePath)
ModuleType)TYPE_CHECKINGProtocol)skip_if_optional_else_raise   )_core_util)slow   )RUN_SLOW)IterableIteratorF)r   c                     	 ddl m}  t        s  g d      }|d   rJ |d   rJ day y # t        $ r}t        |       Y d }~;d }~ww xY w)Nr   )run)z--config-file=z--cache-dir=./.mypy_cachez--no-error-summaryz-czimport trior   T)mypy.apir   ImportErrorr	   mypy_cache_updated)r   errorresults      U/var/www/html/flask-app/venv/lib/python3.12/site-packages/trio/_tests/test_exports.py_ensure_mypy_cache_updatedr   (   s^    + 
  
 !9!9! 	  +#E**+s   * 	AAAc                 2   t         t         j                  t         j                  g} t        t              D ]`  }|j                  d      rd}| D ]2  }|t        |      v st        ||      t        t        |      u s.|dz  }4 t        ||       |dk(  r`J  y )N_r   r   )triolowleveltestingdirr   
startswithgetattrprint)sourcessymbolfoundsources       r    test_core_is_properly_reexportedr(   A   s     T]]DLL1Ge* 
S! 	FV$)@GvE * 
		
 	fez
    c                R    	 t        j                  d| f       y# t        $ r Y yw xY w)z&Check if a class cannot be subclassed.SubclassTesterFT)types	new_class	TypeError)clss    r   class_is_finalr0   R   s1    (3&1   s    	&&c              #  $  K   |  | j                   j                         D ]i  \  }}|j                  d      r|rt        |t              s+|j
                  j                  | j
                        sQ|| u rVt        ||      E d {    k y 7 wNr   )__dict__itemsr!   
isinstancer   __name__iter_modules)moduleonly_publicnameclass_s       r   r7   r7   ]   s      L--/ 	5f??3K&*-))&//:V444	5 	5s   BBBBT)r9   alphaz<skip static introspection tools on Python dev/alpha releases)reasonmodnametool)pylintjedimypypyright_verifytypesz>ignore:module 'sre_constants' is deprecated:DeprecationWarningc                   t        j                  |      }d&d} |t        |            }|dk(  r|j                  d       t        j
                  D ]1  }t        ||d       t        t        |      u s!|j                  |       3 | dk(  rB	 ddlm	}         }	|j                  J |	j                  |j                  |      }
 ||
      }no| dk(  rpt        j                  j                   d	k7  rt#        j$                  d
       	 dd l}j)                  d| d| d      }|j+                         } |d |D              }n| dk(  rMt,        st#        j$                  d       t        j                  j                   d	k7  rt#        j$                  d       t/        j0                         dz  }t3                t5        |j7                  d            }|dz   j9                  dd      \  }}|d d }|r||z  n|}|j;                         r|dz  }n||dz   z  }|j=                         sJ |j?                         sJ |jA                         5 }tC        jD                  |jG                               } |d |d   jI                         D              }d d d        n| dk(  rt,        st#        j$                  d       	 dd l%}dd l&}|jO                  dd| dgd       }tC        jD                  |jP                        }|d!   d   D ch c]*  }|d"   jS                  |      r|d"   tU        |      dz   d  , }}n
tW               |z
  }|dhz  }|rCtY        |  d#| d$       tY                t[        |      D ]  }tY        d%|         tW               y # t        $ r}t        |       Y d }~d }~ww xY w# t        $ r}t        |       Y d }~d }~ww xY w# 1 sw Y   xY w# t        $ r}t        |       Y d }~=d }~ww xY wc c}w )'Nsymbolsc                P    | D ch c]  }|j                  d      r| c}S c c}w r2   r!   rE   r%   s     r   no_underscoresz9test_static_tool_sees_all_symbols.<locals>.no_underscores   s#    %,K6F4E4Ec4JKKKs   ##r   testsr@   r   )PyLinterrA   cpythonzjedi does not support pypyzimport ; .c              3  4   K   | ]  }|j                     y wNr:   .0cs     r   	<genexpr>z4test_static_tool_sees_all_symbols.<locals>.<genexpr>   s     %Baff%B   rB   z$use --run-slow to check against mypy#mypy not installed in tests on pypy.mypy_cache*/trior   __init__.data.json
.data.jsonc              3  X   K   | ]"  \  }}|j                  d       s|d   dk(  r| $ yw)rN   kindGdefNrG   )rS   keyvalues      r   rU   z4test_static_tool_sees_all_symbols.<locals>.<genexpr>   s3      *C~~c*uV}/F *s   (*namesrC   z'use --run-slow to check against pyrightpyrightz--verifytypes=z--outputjsonT)capture_outputtypeCompletenessr:   z" can't see the following names in :z    rE   zIterable[str]returnzset[str]).	importlibimport_moduler    discard
__future__all_feature_namesr"   removepylint.lintrK   r   r	   __file__get_astsysimplementationr:   pytestskiprA   Scriptcompleter   r   cwdr   nextglobsplitis_direxistsis_fileopenjsonloadsreadr4   rc   
subprocessr   stdoutr!   lenAssertionErrorr#   sorted)r?   r>   tmp_pathr8   rI   runtime_namesr:   rK   r   linteraststatic_namesrA   scriptcompletionscache
trio_cacher   	mod_cache
cache_file
cache_jsonrc   r   rescurrent_resultxmissing_namess                              r   !test_static_tool_sees_all_symbolsr   w   s    $$W-FL #3v;/M &g& ,, '64&'*d*CC  &' x	/, **nnV__g6%c*	""i/KK45	/
 wwir'!<=oo'%%Bk%BB	KK>?""i/KK=>
]*"$%**X./
m**32
7#2,,3J(	!$88I"g&<=I!!  ""^^ 	JOO$56J) *",W"5";";"=* L	 	 
&	&KKAB	/ 	nn.	2NC  
 CJJ/ $$67	B
y##G, fIc'lQ&()
 
  "L0M gYM8	CD=) 	!DD- 	! g  	/'..	/  	/'..	/8	 	  	/'..	/
s[   N N. AO5O ?/O>	N+N&&N+.	O7OOO	O;%O66O;module_namerA   rB   c                v   t         t        j                  |         }d>d}| dk(  r,t        j                  j
                  dk7  rt        j                  d       t        j                         dz  t                t        j                  d            }|}|dz   j                  dd      \  }}|d d	 }|r||z  n|}|j                         r|d
z  }n||dz   z  }|j                         sJ |j!                         sJ |j#                         5 }	t%        j&                  |	j)                               }
d d d        t*        j,                  d?fd       }i }|j.                  j1                         D ]l  \  }}t3        |t4              s|dk(  r|t7        t8              v r/|t:        j<                  j>                  u rLtA        t7        t5        |                  h dz  }t        j                  j
                  dk(  r|h dz  } |d tC        jD                  |      D              |z
  }| dk(  rC	 dd l#}jM                  d| d| d| d      }|jO                         } |d |D              |z
  }nw| dk(  rg
d   |   }d|vr |d         }d|v sJ |d   } |d |d   D              }|d   dd  D ]"  } |      d   }| |d |d   D              z  }$ ||z  }ntQ        d      ||z
  }||z
  }| dk(  r6tR        |jT                  v r$t        jV                  dk\  r|jY                  d        | dk(  r6tR        |jT                  v r$t        jV                  dk\  r|jY                  d!       | dk(  rTt[        j\                  |      r?t_        |      }|D ch c]  }|ja                  d"      r| }}t_        |      |dz
  k(  sJ | dk(  r@tb        jd                  |jT                  v r$t        jV                  d#k\  r|jY                  d$       | dk(  r$|t:        jf                  k(  r|jY                  d%       t:        jh                  d&d'ht:        jj                  d(d)ht:        jl                  h d*t:        jn                  d+ht:        jp                  d,ht:        jr                  d(ht:        jt                  d(ht:        j<                  jv                  d-d.ht:        j<                  jx                  h d/t:        j<                  jz                  h d0i
}| dk(  r6||v r2t_        |      }|||   z  }t_        |      |t_        ||         z
  k(  sJ |t:        j|                  k(  r"|jY                  d1       |jY                  d2       | dk(  rt        jV                  dk\  r|t:        jh                  t:        j~                  t:        j                  t:        jn                  t:        jr                  fv r"|jY                  d3       |jY                  d4       |t:        jh                  t:        j~                  fv r"|jY                  d5       |jY                  d6       |t:        j                  t:        j                  t:        j                  fv r_|t        j.                  j                         z  }| dk(  rt        j                  d7k(  r|h d8z  }| dk(  rt        j                  d7k(  r|h d8z  }|s|s`||d9|| d| <   o |r dd:lFmF} t        d;|  d<| d=        ||       |rJ y # 1 sw Y   xY w# tH        $ r}tK        |       Y d }~d }~ww xY wc c}w )@Nc                p    | D ch c]&  }|j                  d      r|j                  d      r|( c}S c c}w )Nr   __rG   rH   s     r   	no_hiddenz6test_static_tool_sees_class_members.<locals>.no_hidden  s?     "
%%c*v/@/@/F 
 	
 
s   +3rB   rL   rW   rX   rY   rN   r   rZ   r[   r\   c                   | j                  d      ^}}}t        	j                  d            }||z  }|j                         s||dz   z  }|r9|d d D ]  }||z  }	 ||d   z  }|j                         r|dz  }n!||d   dz   z  }n|j                         r|dz  }|j	                         5 }t        j                  |j                               d   |   cd d d        S # 1 sw Y   y xY w)NrN   z3.*/r\   rZ   r[   rb   )r{   ry   rz   r|   r   r   r   r   )
r%   topnamer>   r:   versionr   piece
next_cachefr   s
            r   lookup_symbolz:test_static_tool_sees_class_members.<locals>.lookup_symbol%  s    &,ll3&7#Ggt5::f-.G')I##%#w'=>	$Sb\ 'E&I'&4
$$& *-A AI )WR[<-G HI!!#11	! ;Qzz!&&(+G4T:; ; ;s   .)C!!C*ztrio.socket>   __copy__	__final__	__order__	__slots____weakref____deepcopy____getstate____setstate____match_args____orig_bases____parameters____annotations____attrs_attrs____class_getitem____protocol_attrs____attrs_own_setattr____callable_proto_members_only__pypy>   
__sizeof____unicode____itemsize____basicsize____dictoffset____weakrefoffset__c              3  &   K   | ]	  }|d      yw)r   N )rS   r   s     r   rU   z6test_static_tool_sees_class_members.<locals>.<genexpr>l  s     ?qad?s   rA   r   zfrom z import rM   c              3  4   K   | ]  }|j                     y wrP   rQ   rR   s     r   rU   z6test_static_tool_sees_class_members.<locals>.<genexpr>y  s     $AQVV$ArV   rb   node	cross_refc              3  D   K   | ]  }|j                  d       r|  ywrN   NrG   rS   ks     r   rU   z6test_static_tool_sees_class_members.<locals>.<genexpr>  s     $W1Q\\RUEVQ$W     mroc              3  D   K   | ]  }|j                  d       r|  ywr   rG   r   s     r   rU   z6test_static_tool_sees_class_members.<locals>.<genexpr>  s       *ALL4EA*r   zunknown tool)      add_note	__notes__AttrsAttributes__)r      __signature__cancel_scopepeer_addressendpointsocketincoming_packets_buffer>   pidargsstdinstdiostderrr   transport_listenertransport_stream
close_hookreceive_some_hook>   r   send_all_hook"wait_send_all_might_not_block_hook>   checkmatchexception_typereceive_streamsend_stream
__aenter__	__aexit__	__aiter__	__anext__win32>   groupowneris_mount)missingextra)pprint
z$ can't see the following symbols in rf   rg   )r%   strrh   zdict[str, str])HPUBLIC_MODULESPUBLIC_MODULE_NAMESindexrr   rs   r:   rt   ru   r   rx   r   ry   rz   r{   r|   r}   r~   r   r   r   r   	functools	lru_cacher3   r4   r5   typer    stdlib_socketr   r   RaisesGroupsetinspect
getmembersrA   r   r	   rv   rw   r   BaseException__mro__version_inforn   attrshasr   endswithenumEnumNurseryDTLSChannelDTLSEndpointProcessSSLListener	SSLStreamSocketListenerSocketStreamMemoryReceiveStreamMemorySendStreamMatcherStapledStreamMemoryReceiveChannelMemorySendChannelWindowsPath	PosixPathr   keysplatformr   r#   ) r?   r   r   r8   r   r   r>   r   r   r   r   r   errors
class_namer;   ignore_namesr   rA   r   r   r   r   cached_type_infor   r%   r   r   beforeeEXTRASr   r   s                                   @r   #test_static_tool_sees_class_membersr     s    /55kBCF
 v~""i/KK=>
]*"$%**X./
m**32
7#2,,3J(	!$88I"g&<=I!!  ""^^ 	7JOO$56J	7 
			; 
	;( !#F$oo335 y
F&$'-'J#m:L,L T\\--- 3tF|,- 1
 
. ""f,  L ?G$6$6v$>??,N 	 6>3 [[}HZL:,aHF !//+K$$A[$AALPLV^)'2:>--#01A+1N#O ---#F+D$$WW$WWLu+ab/ $V,V4	 *#G}* ! 
 L(L !00,.}, FN/  G+NN:& FN/  G+LL%6>eii/ZF %M1QZZ8K-LQMEMu:!++ FN		V^^+  G+ LL) 6>f4LL( ~z:*CDLLO34NN/0(zLL,,|=P.QLL)) ,
 LL   #
( 6>f.ZFVF^#Eu:#fVn*=!=== T'''LL)*LL' 6>c..'9  ))&&  ##  |,{+$**D,E,EFF{+{+dii!1!14>>BBx((--//Gv~#,,'"999v~#,,'"977e"5Fk]!J<01myz !4&<[MKLvvy	7 	7b  3+E223f Ns0   $\-\\6&\6\	\3\..\3c                     t        t        j                        sJ t        D ]L  } | j                  j                         D ]-  \  }}t        |t        j                        s!t        |      r-J  N y)z6Check all NoPublicConstructor classes are also @final.N)r0   r   NoPublicConstructorALL_MODULESr3   r4   r5   )r8   _namer;   s      r   test_nopublic_is_finalr#     s]    %3344 .#__224 	.ME6&%";";<%f--	..r)   c                 X   t        t              rJ t        t              sJ t        D ]  } | j                  j                         D ]  \  }}t        |t              s|j                  d      r)t        j                  |      r?t        |j                  v st        |j                  v rdt        |t              ru|t         j"                  j$                  u s|t         j&                  j(                  u r|t         j*                  u r|j-                  d      rt        |      rJ   y )Nr   
Statistics)r0   objectboolr   r3   r4   r5   r   r!   r   
isabstractr   	__bases__Protocol_ext
issubclassr   r   abc
Instrumentr   
SocketTyper   r  )r8   r:   r;   s      r   test_classes_are_finalr/  
  s    f%%$   *"OO113 	*LD&fd+s# !!&)6+++|v?O?O/O &-0 ,,,$++:P:P0P "}}\*!&))?	* *r)   )rh   None)r/   r   rh   r'  )r8   ztypes.ModuleTyper9   r'  rh   zIterator[types.ModuleType])r?   r   r>   r   r   r   rh   r0  )r?   r   r   r   r   r   rh   r0  ):rl   r   r  r   ri   r   r   r   r   rr   r,   pathlibr   r   r   typingr   r   r   rt   r   trio.testingtrio._tests.pytest_pluginr	    r   r   _core._tests.tutilr   pytest_pluginr   collections.abcr   r   r   typing_extensionsr*  r   r   r(   r0   r7   listr   r!  r6   r   markredistributors_should_skipskipifr   releaselevelparametrizefilterwarningsr   r  r#  r/  )ms   0r   <module>rB     sN   "        
  "  *     A  % #2 :
"2"555  5" l4T:;<%89+9:aqzz:  '') !!W,I   $78!RSDl	 T 9	 *lb '') !!W,I   (;<&&!12}
}}+/}	} 3 =	 * }@.%*M  LX ;s   8H2 8I 2H=<H=