a
    xdR                     @   s   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 Zdd ZeeeZd	d
 eD Zejjejjejjdkddejdeejdddgejddd Zdd ZdS )    N   )_core)_utilc                  C   s   t t jt jg} ttD ]d}|ds|dkr.qd}| D ],}|t|v r6t||tt|u r6|d7 }q6t|| |dksJ qd S )N_testsr      )trioZlowlevelZtestingdirr   
startswithgetattrprint)sourcessymbolfoundsource r   O/var/www/html/Ranjet/env/lib/python3.9/site-packages/trio/tests/test_exports.py test_core_is_properly_reexported   s    

r   c                 c   sl   | V  | j  D ]V\}}|dr$qt|tjs2q|j| jsBq|| u rLq|jdkrXqt|E d H  qd S )Nr   z
trio.tests)__dict__itemsr
   
isinstancetypes
ModuleType__name__public_modulesmodulenameclass_r   r   r   r   "   s    

r   c                 C   s   g | ]
}|j qS r   )r   ).0mr   r   r   
<listcomp>5       r!   alphaz<skip static introspection tools on Python dev/alpha releases)reasonmodnametoolpylintjediz>ignore:module 'sre_constants' is deprecated:DeprecationWarningc                 C   s   t |}dd }|t|}|dkr0|d | dkrbddlm} | }||j|}||}nF| dkrdd l}	|		d	
||}
|
 }|d
d |D }ndsJ || }|rtd
| | t  t|D ]}td
| qdsJ d S )Nc                 S   s   dd | D S )Nc                 S   s   h | ]}| d s|qS )r   )r
   )r   r   r   r   r   	<setcomp>M   r"   zLtest_static_tool_sees_all_symbols.<locals>.no_underscores.<locals>.<setcomp>r   )symbolsr   r   r   no_underscoresL   s    z9test_static_tool_sees_all_symbols.<locals>.no_underscoresr   r   r'   r   )PyLinterr(   zimport {}; {}.c                 s   s   | ]}|j V  qd S )N)r   )r   cr   r   r   	<genexpr>b   r"   z4test_static_tool_sees_all_symbols.<locals>.<genexpr>Fz'{} can't see the following names in {}:z    {})	importlibimport_moduler	   removeZpylint.lintr,   Zget_ast__file__r(   ZScriptformatZcompleter   sorted)r&   r%   r   r+   Zruntime_namesr,   ZlinterastZstatic_namesr(   scriptZcompletionsZmissing_namesr   r   r   r   !test_static_tool_sees_all_symbols<   s.    


r7   c                  C   s   t D ]|} | j D ]l\}}t|ts&q|dr2qt|r>qt|t	rJq|t
jjt
jjhv r`qt|tjrnqt|tjsJ qqd S )Nr   )PUBLIC_MODULESr   r   r   typer
   inspect
isabstract
issubclassBaseExceptionr   abcZ
Instrumentsocket
SocketTypeenumEnumr   Finalr   r   r   r   test_classes_are_finalu   s    



rD   )resysr/   r   r:   rA   Zpytestr   Ztrio.testing r   r   r   r   listr8   ZPUBLIC_MODULE_NAMESmarkZredistributors_should_skipZskipifversion_inforeleaselevelZparametrizefilterwarningsr7   rD   r   r   r   r   <module>   s4   
,