
    EgzP              	      d   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 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# n# e$$ r eZ#Y nw xY wd0dZ%d0dZ&d1dZ'd2dZ( e) e(ed                    Z* e) e(ed                    Z+d e*D             Z,ej-        .                                ej-        /                    e	j0        j1        dk    d !          ej-        2                    d"e,          ej-        2                    d#g d$          ej-        3                    d%          d3d)                                                            Z4eej-        .                                ej-        /                    e	j0        j1        dk    d !          ej-        2                    d*e,          ej-        2                    d#d+d,g          d4d-                                                            Z5d0d.Z6d0d/Z7dS )5    )annotationsN)Path)
ModuleType)TYPE_CHECKINGProtocol)skip_if_optional_else_raise   )_core_util)slow   )RUN_SLOW)IterableIteratorF)r   returnNonec                     	 ddl m}  n&# t          $ r}t          |           Y d }~nd }~ww xY wt          s% | g d          }|d         rJ |d         rJ dad S d S )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      M/var/www/sysmax/venv/lib/python3.11/site-packages/trio/_tests/test_exports.py_ensure_mypy_cache_updatedr   (   s    +        + + +#E********+  "   
 
 !9!9!" "s   	 
,',c                 P   t           t           j        t           j        g} t          t                    D ]r}|                    d          rd}| D ]=}|t          |          v r*t          ||          t          t          |          u r|dz  }>t          ||           |dk    sJ sd S )N_r   r   )triolowleveltestingdirr
   
startswithgetattrprint)sourcessymbolfoundsources       r    test_core_is_properly_reexportedr)   A   s     T]DL1Ge** 
 
S!! 	 	 	FV$$)@)@GvE E * * 
fezzzzz
 
    clstypeboolc                V    	 t          j        d| f           dS # t          $ r Y dS w xY w)z&Check if a class cannot be subclassed.SubclassTesterFT)types	new_class	TypeError)r+   s    r   class_is_finalr3   R   sG    (3&111 u    tts    
((moduletypes.ModuleTypeonly_publicIterator[types.ModuleType]c              #  "  K   | V  | j                                         D ]n\  }}|                    d          r|rt          |t                    s3|j                            | j                  sS|| u rXt          ||          E d {V  od S )Nr   )__dict__itemsr"   
isinstancer   __name__iter_modules)r4   r6   nameclass_s       r   r=   r=   ]   s       LLL--// 	5 	5f??3 	K 	&*-- 	))&/:: 	V4444444444	5 	5r*   T)r6   c                    g | ]	}|j         
S  )r<   ).0ms     r   
<listcomp>rD   p   s    :::aqz:::r*   alphaz<skip static introspection tools on Python dev/alpha releases)reasonmodnametool)pylintjedimypypyright_verifytypesz>ignore:module 'sre_constants' is deprecated:DeprecationWarningstrtmp_pathr   c                   t          j                  }d)d} |t          |                    }dk    r|                    d           t          j        D ]=}t          ||d           t          t          |          u r|                    |           >| dk    ri	 d	d
lm	} n&# t          $ r}t          |           Y d }~nd }~ww xY w |            }	|j        J |	                    |j                  }
 ||
          }n| dk    rt          j        j        dk    rt#          j        d           	 d	d l}n&# t          $ r}t          |           Y d }~nd }~ww xY w|                    d d d          }|                                } |d |D                       }n>| dk    rt,          st#          j        d           t          j        j        dk    rt#          j        d           t/          j                    dz  }t3                       t5          |                    d                    }dz                       dd          \  }d d         r|z  n|}|                                r|dz  }n|dz   z  }|                                sJ |                                sJ |                                 5 }tC          j"        |#                                          } |d |d         $                                D                       }d d d            n# 1 swxY w Y   n| dk    rt,          st#          j        d           	 d	d l%}n&# t          $ r}t          |           Y d }~nd }~ww xY wd	d l&}|'                    dd  d!gd"#          }tC          j"        |j(                  }fd$|d%         d         D             }ntS                      ||z
  }|dhz  }|rUtU          |  d& d'           tU                       tW          |          D ]}tU          d(|            tS                      d S )*NsymbolsIterable[str]r   set[str]c                    d | D             S )Nc                <    h | ]}|                     d           |S )r   r"   rB   r&   s     r   	<setcomp>zLtest_static_tool_sees_all_symbols.<locals>.no_underscores.<locals>.<setcomp>   s+    KKK6F4E4Ec4J4JKKKKr*   rA   rP   s    r   no_underscoresz9test_static_tool_sees_all_symbols.<locals>.no_underscores   s    KKWKKKKr*   r   testsrI   r   )PyLinterrJ   cpythonzjedi does not support pypyzimport ; .c              3  $   K   | ]}|j         V  d S Nr>   rB   cs     r   	<genexpr>z4test_static_tool_sees_all_symbols.<locals>.<genexpr>   s$      %B%Baf%B%B%B%B%B%Br*   rK   z$use --run-slow to check against mypy#mypy not installed in tests on pypy.mypy_cache*/trior   __init__.data.json
.data.jsonc              3  b   K   | ]*\  }}|                     d           s|d         dk    &|V  +dS )r^   kindGdefNrU   )rB   keyvalues      r   rd   z4test_static_tool_sees_all_symbols.<locals>.<genexpr>   sW       * *C~~c*** 05V}/F/F /F/F/F/F* *r*   namesrL   z'use --run-slow to check against pyrightpyrightz--verifytypes=z--outputjsonT)capture_outputc                    h | ]=}|d                                         |d          t                    dz   d         >S )r>   r   N)r"   len)rB   xrG   s     r   rW   z4test_static_tool_sees_all_symbols.<locals>.<setcomp>   s[     
 
 
y##G,,
fIc'llQ&(()
 
 
r*   typeCompletenessz" can't see the following names in :z    rP   rQ   r   rR   ),	importlibimport_moduler!   discard
__future__all_feature_namesr#   removepylint.lintr[   r   r   __file__get_astsysimplementationr>   pytestskiprJ   Scriptcompleter   r   cwdr   nextglobsplitis_direxistsis_fileopenjsonloadsreadr:   rq   
subprocessr   stdoutAssertionErrorr$   sorted)rH   rG   rN   r4   rY   runtime_namesr>   r[   r   linteraststatic_namesrJ   scriptcompletionscache
trio_cacher   	mod_cache
cache_file
cache_jsonrq   r   rescurrent_resultmissing_namess    `                        r   !test_static_tool_sees_all_symbolsr   w   s    $W--FL L L L #N3v;;//M &g&&& , ' '64&&'*d*C*CCC  &&&x	/,,,,,,, 	/ 	/ 	/'........	/ ***nnV_g66%~c**	"i//K4555	/KKKK 	/ 	/ 	/'........	/ <w<<'<<<==oo''%~%B%Bk%B%B%BBB	 	@K>???"i//K=>>>

]*"$$$%**X..//
m**322
7#2#,,3CJ((	 	>!$88II"g&<=I!!!!!  """""^^ 	JOO$5$566J)> * *",W"5";";"="=* * *  L	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
&	&	& 	CKABBB	/NNNN 	/ 	/ 	/'........	/nn222NC  
 
 CJ//
 
 
 
#$67	B
 
 
  "L0M gYM CCCCCDDD=)) 	! 	!D---     s[   B% %
C/CC6D; ;
EEE
AL**L.1L.M 
N 'M;;N module_namerJ   rK   c                   t           t                              |                   }dId}| dk    rXt          j        j        dk    rt          j        d           t          j	                    d	z  t                       t                              d
                    }|}|dz                       dd          \  }}|d d         }|r||z  n|}|                                r|dz  }n||dz   z  }|                                sJ |                                sJ |                                5 }	t%          j        |	                                          }
d d d            n# 1 swxY w Y   t*          j        dJfd            }i }|j                                        D ]\  }}t3          |t4                    s|dk    r|t7          t8                    v r9|t:          j        j        u rMtA          t7          t5          |                              h dz  }t          j        j        dk    r|h dz  } |d tC          j"        |          D                       |z
  }| dk    rx	 dd l#}n&# tH          $ r}tK          |           Y d }~nd }~ww xY w|&                    d| d| d| d          }|'                                } |d |D                       |z
  }n| dk    r|
d         |         }d |vr ||d!                   }d |v sJ |d          } |d" |d         D                       }|d#         dd          D ]1} ||          d          }| |d$ |d         D                       z  }2||z  }ntQ          d%          ||z
  }||z
  }| dk    r3tR          |j*        v r%t          j+        d&k    r|,                    d'           | dk    r3tR          |j*        v r%t          j+        d&k    r|,                    d(           | dk    rGt[          j.        |          r3t_          |          }d) |D             }t_          |          |dz
  k    sJ | dk    r8t`          j1        |j*        v r%t          j+        d*k    r|,                    d+           | dk    r%|t:          j2        k    r|,                    d,           t:          j3        d-d.ht:          j4        d/d0ht:          j5        h d1t:          j6        d2ht:          j7        d3ht:          j8        d/ht:          j9        d/ht:          j        j:        d4d5ht:          j        j;        h d6t:          j        j<        h d7i
}| dk    rI||v rEt_          |          }|||         z  }t_          |          |t_          ||                   z
  k    sJ | dk    rN|t:          j        k    r>t          j=        d8k    r.t_          |          }|h d9z  }t_          |          |d:z
  k    sJ |t:          j>        k    r*|,                    d;           |,                    d<           | dk    rt          j+        d&k    r|t:          j3        t:          j?        t:          j@        t:          j6        t:          j8        fv r*|,                    d=           |,                    d>           |t:          j3        t:          j?        fv r*|,                    d?           |,                    d@           |t:          j        k    rC|,                    dA           t_          |          }|h dBz  }t_          |          |dCz
  k    sJ |s|r||dD|| d| <   |r'ddElAmA} t          dF|  dG| dH            ||           |rJ d S )KNrP   rQ   r   rR   c                    d | D             S )Nc                f    h | ].}|                     d           r|                     d          ,|/S )r   __rU   rV   s     r   rW   zItest_static_tool_sees_class_members.<locals>.no_hidden.<locals>.<setcomp>  sT     
 
 
%%c**
 06/@/@/F/F

 
 
r*   rA   rX   s    r   	no_hiddenz6test_static_tool_sees_class_members.<locals>.no_hidden  s#    
 
!
 
 
 	
r*   rK   r\   re   rf   rg   r^   r   rh   ri   rj   r&   rM   dict[str, str]c                
   |                      d          ^}}}t          	                    d                    }||z  }|                                s||dz   z  }|rE|d d         D ]}||z  }||d         z  }|                                r|dz  }n||d         dz   z  }|                                5 }t          j        |                                          d         |         cd d d            S # 1 swxY w Y   d S )Nr^   z3.*/rj   rh   ri   rp   )r   r   r   r   r   r   r   r   )
r&   topnamerG   r>   versionr   piece
next_cachefr   s
            r   lookup_symbolz:test_static_tool_sees_class_members.<locals>.lookup_symbol%  s`   &,ll3&7&7#Ggt5::f--..G')I##%% ?#w'=>	 I$SbS\ ' 'E&II&4
$$&& I *-A AII )WR[<-G HI!! ;Qz!&&((++G4T:; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s   92C88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          V  dS )r   NrA   )rB   ru   s     r   rd   z6test_static_tool_sees_class_members.<locals>.<genexpr>k  s&      ??qad??????r*   rJ   r   zfrom z import r]   c              3  $   K   | ]}|j         V  d S r`   ra   rb   s     r   rd   z6test_static_tool_sees_class_members.<locals>.<genexpr>x  s$      $A$AQV$A$A$A$A$A$Ar*   rp   node	cross_refc              3  D   K   | ]}|                     d           |V  dS r^   NrU   rB   ks     r   rd   z6test_static_tool_sees_class_members.<locals>.<genexpr>  s4      $W$W1Q\\RUEVEV$WQ$W$W$W$W$W$Wr*   mroc              3  D   K   | ]}|                     d           |V  dS r   rU   r   s     r   rd   z6test_static_tool_sees_class_members.<locals>.<genexpr>  sG       * *ALL4E4E** * * * * *r*   zunknown tool)      add_note	__notes__c                <    h | ]}|                     d           |S )AttrsAttributes__)endswith)rB   es     r   rW   z6test_static_tool_sees_class_members.<locals>.<setcomp>  s*    MMM1QZZ8K-L-LMQMMMr*   )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win32>   groupowneris_mountr   receive_streamsend_stream
__aenter__	__aexit__	__aiter__	__anext____getattr__>
   r>   rootstemdrivepartsanchorparentsuffixparentssuffixes
   )missingextra)pprint
z$ can't see the following symbols in rw   rx   )r&   rM   r   r   )CPUBLIC_MODULESPUBLIC_MODULE_NAMESindexr   r   r>   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	functools	lru_cacher9   r:   r;   r,   r!   stdlib_socketr   r    RaisesGroupsetinspect
getmembersrJ   r   r   r   r   r   BaseException__mro__version_infor~   attrshasrt   enumEnumNurseryDTLSChannelDTLSEndpointProcessSSLListener	SSLStreamSocketListenerSocketStreamMemoryReceiveStreamMemorySendStreamMatcherplatformStapledStreamMemoryReceiveChannelMemorySendChannelr
  r$   )rH   r   rN   r4   r   r   rG   r   r   r   r   r   errors
class_namer?   ignore_namesr   rJ   r   r   r   r   cached_type_infor   r&   r  r	  beforeEXTRASr
  r   s                                 @r   #test_static_tool_sees_class_membersr2     s    /55kBBCF
 
 
 
 v~~"i//K=>>>

]*"$$$%**X..//
m**322
7#2#,,3CJ((	 	>!$88II"g&<=I!!!!!  """""^^ 	7JOO$5$566J	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 
		; 	; 	; 	; 	; 
		;& !#F$o3355 J J
F&$'' 	-''J#m:L:L,L,L T\--- 3tF||,,-- 1
 1
 1
 
. "f,,    L I??G$6v$>$>?????,N 	 6>>3 3 3 3+E222222223 [[HHHZHH:HHH F !//++K$9$A$A[$A$A$AAALPLLV^^)'2:>---#0=1A+1N#O#O -----#F+D$9$W$WW$W$W$WWWLu+abb/  $}V,,V4		 * *#G}* * * ! !  L(LL !000,.}, FNN// G++NN:&&& FNN// G++LL%%%6>>ei//>ZZFMMMMMEu::!++++ FNN	V^++ G++ LL))) 6>>f44LL((( ~z:*CDLOOO34N/0(zL,|=P.QL) , , ,
 L  # # #
( 6>>f..ZZFVF^#Eu::#fVn*=*=!===== 6>>f	11clg6M6M\\F5555Gw<<6A:---- T'''LL)***LL''' 6>>c.'99 )& #   |,,,{+++$*D,EFFF{+++{+++
 TYNN=)))ZZF    E u::",,,, 	e 	"5 5Fk00J001  !!!!!!K4KK[KKKLLLvs*   4'E''E+.E+-I22
J<JJc                     t          t          j                  sJ t          D ]L} | j                                        D ]0\  }}t          |t          j                  rt          |          sJ 1MdS )z6Check all NoPublicConstructor classes are also @final.N)r3   r   NoPublicConstructorALL_MODULESr9   r:   r;   )r4   _namer?   s      r   test_nopublic_is_finalr7    s    %344444 . .#_2244 	. 	.ME6&%";<< .%f-----	.. .r*   c                 4   t          t                    rJ t          t                    sJ t          D ]} | j                                        D ]\  }}t          |t                    s|                    d          r1t          j
        |          rFt          |j        v st          |j        v rct          |t                    ry|t           j        j        u s|t           j        j        u r|                    d          rt          |          sJ Ȍd S )Nr   
Statistics)r3   objectr-   r  r9   r:   r;   r,   r"   r  
isabstractr   	__bases__Protocol_ext
issubclassr  r   abc
Instrumentr   
SocketTyper   )r4   r>   r?   s      r   test_classes_are_finalrB    s6   f%%%%%$  * *"O1133 	* 	*LD&fd++ s##  !&)) 6+++|v?O/O/O &-00  ,,,$+:P0P0P }}\** !&))))))9	** *r*   )r   r   )r+   r,   r   r-   )r4   r5   r6   r-   r   r7   )rH   rM   rG   rM   rN   r   r   r   )rH   rM   r   rM   rN   r   r   r   )8r|   r   r  r  ry   r  r   r   r  r   r0   pathlibr   r   typingr   r   r  r   r   trio.testingtrio._tests.pytest_pluginr    r
   r   _core._tests.tutilr   pytest_pluginr   collections.abcr   r   r   typing_extensionsr=  r   r   r)   r3   r=   listr  r5  r  markredistributors_should_skipskipifr  releaselevelparametrizefilterwarningsr   r2  r7  rB  rA   r*   r   <module>rS     s   " " " " " "                    



              * * * * * * * *        A A A A A A         % % % % % % # # # # # # 322222222 :::::::   LLL" " " "2   "   5 5 5 5" ll4T:::;;d<<%88899::>:::  '')) !W,I    $788!R!R!RSSD l l l	  TS 98	  *)lb '')) !W,I    (;<<&&!122M M M 32 =<	  *) M`. . . ."* "* "* "* "* "*s   6A= =BB