U
    aÊ¹jd	  ã                   @   s\   d 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	 G dd„ dƒZ
G d	d
„ d
ƒZdS )z(Tests for automatic discovery of modulesé    N)ÚFlatLayoutModuleFinderÚModuleFinderé   )Ú	os_helper)Úensure_filesc                   @   sœ   e Zd Zdd„ Zddgi ddgfddgddgidgfdd	dgdgd
gdœdgfddgi g fdœZej de ¡ ¡dd„ ƒZ	ejj
e ¡  dd�dd„ ƒZdS )ÚTestModuleFinderc                 O   s   t tjt|ƒf|ž|ŽƒS ©N)Úsetr   ÚfindÚstr©ÚselfÚpathÚargsÚkwargs© r   úd/var/www/html/bwave/python/venv/lib/python3.8/site-packages/setuptools/tests/test_find_py_modules.pyr
      s    zTestModuleFinder.findzfile.pyzother.pyÚfileÚotherÚexcludezf*zfole.pyzfo*)Úincluder   z
my-file.pyzother.file.py)Zsimple_folderr   r   zinvalid-nameÚexamplec                 C   s8   | j | \}}}t||ƒ | j|f|Žt|ƒks4t‚d S r   ©ÚEXAMPLESr   r
   r	   ÚAssertionError)r   Útmp_pathr   Úfilesr   Úexpected_modulesr   r   r   Útest_finder%   s    
zTestModuleFinder.test_finderzSymlink support required)Úreasonc                 C   s<   d}t ||gƒ t || |d ¡ |  |¡dhks8t‚d S )Nz_myfiles/file.pyzlink.pyÚlink)r   ÚosÚsymlinkr
   r   )r   r   Úsrcr   r   r   Ú$test_symlinked_packages_are_included+   s    z5TestModuleFinder.test_symlinked_packages_are_includedN)Ú__name__Ú
__module__Ú__qualname__r
   r   ÚpytestÚmarkÚparametrizeÚkeysr   Zskipifr   Zcan_symlinkr$   r   r   r   r   r      s&   ýýýï
r   c                	   @   sl   e Zd Zdd„ Zdgg fdgg fddddd	d
gdgfdddddd
gdgfdœZej de ¡ ¡dd„ ƒZ	dS )ÚTestFlatLayoutModuleFinderc                 O   s   t t t|ƒ¡ƒS r   )r	   r   r
   r   r   r   r   r   r
   4   s    zTestFlatLayoutModuleFinder.findz
.module.pyz
_module.pyzsetup.pyzconftest.pyztest.pyztests.pyz
example.pyzmod.pyÚmodztasks.pyz
fabfile.pyz
noxfile.pyzdodo.pyz	manage.py)zhidden-fileszprivate-moduleszcommon-namesztool-specificr   c                 C   s2   | j | \}}t||ƒ |  |¡t|ƒks.t‚d S r   r   )r   r   r   r   r   r   r   r   Ú test_unwanted_files_not_includedE   s    
z;TestFlatLayoutModuleFinder.test_unwanted_files_not_includedN)
r%   r&   r'   r
   r   r(   r)   r*   r+   r.   r   r   r   r   r,   3   s   þþør,   )Ú__doc__r!   r(   Zsetuptools.discoveryr   r   Zcompat.py39r   Ztest_find_packagesr   r   r,   r   r   r   r   Ú<module>   s   &