§
    WŠtj‹  ã                   óŒ   — d 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  G d„ d¦  «        Z G d	„ d
¦  «        Zd„ ZdS )z%Tests for automatic package discoveryé    N)Úfind_namespace_packagesÚfind_packages)ÚFlatLayoutPackageFinderé   )Ú	os_helperc                   óÞ   — e Zd Zd„ Zd„ Zd„ Zdd„Zdd„Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zej                              ej        ¦   «          d¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestFindPackagesc                 ó^   — t          j        ¦   «         | _        |                      ¦   «          d S ©N)ÚtempfileÚmkdtempÚdist_dirÚ_make_pkg_structure©ÚselfÚmethods     úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/tests/test_find_packages.pyÚsetup_methodzTestFindPackages.setup_method   s*   € Ý Ô(Ñ*Ô*ˆŒØ× Ò Ñ"Ô"Ð"Ð"Ð"ó    c                 ó8   — t          j        | j        ¦  «         d S r   )ÚshutilÚrmtreer   r   s     r   Úteardown_methodz TestFindPackages.teardown_method   s   € ÝŒ�d”mÑ$Ô$Ð$Ð$Ð$r   c                 óŠ  — |                       d| j        ¦  «        | _        |                      d| j        ¦  «         |                       d| j        ¦  «        | _        |                       d| j        ¦  «         |                       d| j        ¦  «        | _        |                      d| j        ¦  «         |                       d| j        ¦  «        | _        |                       d| j        ¦  «        | _        |                      d	| j        ¦  «         |                      d
| j        ¦  «         |                      d| j        ¦  «         dS )aG  Make basic package structure.

        dist/
            docs/
                conf.py
            pkg/
                __pycache__/
                nspkg/
                    mod.py
                subpkg/
                    assets/
                        asset
                    __init__.py
            setup.py

        Údocszconf.pyÚpkgÚ__pycache__Únspkgzmod.pyÚsubpkgÚassetsÚassetú__init__.pyzsetup.pyN)Ú_mkdirr   Údocs_dirÚ_touchÚpkg_dirÚ
ns_pkg_dirÚsub_pkg_dirÚ	asset_dir)r   s    r   r   z$TestFindPackages._make_pkg_structure   s  € ð" Ÿš F¨D¬MÑ:Ô:ˆŒØ�Š�I˜tœ}Ñ-Ô-Ð-Ø—{’{ 5¨$¬-Ñ8Ô8ˆŒØ�Š�M 4¤<Ñ0Ô0Ð0ØŸ+š+ g¨t¬|Ñ<Ô<ˆŒØ�Š�H˜dœoÑ.Ô.Ð.ØŸ;š; x°´Ñ>Ô>ˆÔØŸš X¨tÔ/?Ñ@Ô@ˆŒØ�Š�G˜Tœ^Ñ,Ô,Ð,Ø�Š�M 4Ô#3Ñ4Ô4Ð4Ø�Š�J ¤Ñ.Ô.Ð.Ð.Ð.r   Nc                 ór   — |r t           j                             ||¦  «        }t          j        |¦  «         |S r   )ÚosÚpathÚjoinÚmkdir)r   r,   Ú
parent_dirs      r   r#   zTestFindPackages._mkdir4   s1   € Øð 	2Ý”7—<’< 
¨DÑ1Ô1ˆDÝ
Œ�‰ŒˆØˆr   c                 óŽ   — |r t           j                             ||¦  «        }t          |d¦  «                             ¦   «          |S )NÚwb)r+   r,   r-   ÚopenÚclose)r   r,   Údir_s      r   r%   zTestFindPackages._touch:   s@   € Øð 	,Ý”7—<’<  dÑ+Ô+ˆDÝˆT�4ÑÔ×ÒÑ Ô Ð Øˆr   c                 óx   — |                       d| j        ¦  «         t          | j        ¦  «        }|ddgk    sJ ‚d S )Nr"   r   ú
pkg.subpkg©r%   r&   r   r   ©r   Úpackagess     r   Útest_regular_packagez%TestFindPackages.test_regular_package@   sC   € Ø�Š�M 4¤<Ñ0Ô0Ð0Ý  ¤Ñ/Ô/ˆØ˜E <Ð0Ò0Ð0Ð0Ð0Ð0Ð0r   c                 óz   — |                       d| j        ¦  «         t          | j        d¬¦  «        }|dgk    sJ ‚d S )Nr"   )zpkg.*©Úexcluder   r7   r8   s     r   Útest_excludezTestFindPackages.test_excludeE   sE   € Ø�Š�M 4¤<Ñ0Ô0Ð0Ý  ¤¸
ÐCÑCÔCˆØ˜E˜7Ò"Ð"Ð"Ð"Ð"Ð"r   c                 ó°   — |                       d| j        ¦  «         |                       d| j        ¦  «         t          | j        d¬¦  «        }|dgk    sJ ‚dS )zW
        Excluding a parent package should not exclude child packages as well.
        r"   )r   r<   r6   N)r%   r&   r(   r   r   r8   s     r   Útest_exclude_recursivez'TestFindPackages.test_exclude_recursiveJ   s^   € ð 	�Š�M 4¤<Ñ0Ô0Ð0Ø�Š�M 4Ô#3Ñ4Ô4Ð4Ý  ¤¸ÐAÑAÔAˆØ˜L˜>Ò)Ð)Ð)Ð)Ð)Ð)r   c                 óÞ   — |                       d| j        ¦  «         |                      d| j        ¦  «        }|                       d|¦  «         t	          | j        dg¬¦  «        }|dgk    sJ ‚dS )zM
        If include is specified, other packages should be excluded.
        r"   Ú	other_pkg)ÚincludeN)r%   r&   r#   r   r   )r   Úalt_dirr9   s      r   Útest_include_excludes_otherz,TestFindPackages.test_include_excludes_otherS   sr   € ð 	�Š�M 4¤<Ñ0Ô0Ð0Ø—+’+˜k¨4¬=Ñ9Ô9ˆØ�Š�M 7Ñ+Ô+Ð+Ý  ¤¸¸ÐFÑFÔFˆØ˜K˜=Ò(Ð(Ð(Ð(Ð(Ð(r   c                 ó6  — t          j        t          j                             | j        d¦  «        ¦  «         |                      d| j        ¦  «        }|                      d|¦  «         |                      d|¦  «         t          | j        ¦  «        }d|vsJ ‚d S )Núpkg/subpkg/assetsz	some.datar"   zfile.datzpkg.some.data)
r   r   r+   r,   r-   r   r#   r&   r%   r   )r   Údata_dirr9   s      r   Útest_dir_with_dot_is_skippedz-TestFindPackages.test_dir_with_dot_is_skipped]   sˆ   € ÝŒ•b”g—l’l 4¤=Ð2EÑFÔFÑGÔGÐGØ—;’;˜{¨D¬LÑ9Ô9ˆØ�Š�M 8Ñ,Ô,Ð,Ø�Š�J Ñ)Ô)Ð)Ý  ¤Ñ/Ô/ˆØ hÐ.Ð.Ð.Ð.Ð.Ð.r   c                 óÈ   — |                       d| j        ¦  «        }|                       d|¦  «        }|                      d|¦  «         t          | j        ¦  «        }d|vsJ ‚dS )zk
        Ensure that a package in a non-package such as build/pkg/__init__.py
        is excluded.
        Úbuildr   r"   z	build.pkgN)r#   r   r%   r   )r   Ú	build_dirÚbuild_pkg_dirr9   s       r   Ú,test_dir_with_packages_in_subdir_is_excludedz=TestFindPackages.test_dir_with_packages_in_subdir_is_excludede   sf   € ð
 —K’K ¨¬Ñ7Ô7ˆ	ØŸš E¨9Ñ5Ô5ˆØ�Š�M =Ñ1Ô1Ð1Ý  ¤Ñ/Ô/ˆØ (Ð*Ð*Ð*Ð*Ð*Ð*r   zSymlink support required)Úreasonc                 ó&  — |                       d| j        ¦  «         t          j                             | j        d¦  «        }t          j        d|¦  «         t          j                             |¦  «        sJ ‚t          | j        ¦  «        }d|v sJ ‚dS )z¨
        A symbolically-linked directory should be treated like any other
        directory when matched as a package.

        Create a link from lpkg -> pkg.
        r"   Úlpkgr   N)	r%   r&   r+   r,   r-   r   ÚsymlinkÚisdirr   )r   Ú
linked_pkgr9   s      r   Ú$test_symlinked_packages_are_includedz5TestFindPackages.test_symlinked_packages_are_includedp   sƒ   € ð 	�Š�M 4¤<Ñ0Ô0Ð0Ý”W—\’\ $¤-°Ñ8Ô8ˆ
Ý
Œ
�5˜*Ñ%Ô%Ð%ÝŒw�}Š}˜ZÑ(Ô(Ð(Ð(Ð(Ý  ¤Ñ/Ô/ˆØ˜Ð!Ð!Ð!Ð!Ð!Ð!r   c                 óJ   — t          |¦  «        t          |¦  «        k    sJ ‚d S r   )Úset)r   ÚactualÚexpecteds      r   Ú_assert_packagesz!TestFindPackages._assert_packages   s%   € Ý�6‰{Œ{�c (™mœmÒ+Ð+Ð+Ð+Ð+Ð+r   c                 óh   — t          | j        dgdg¬¦  «        }|                      |g d¢¦  «         d S )Nzpkg*úpkg.subpkg.assets)rC   r=   ©r   ú	pkg.nspkgr6   ©r   r   rZ   r8   s     r   Útest_pep420_ns_packagez'TestFindPackages.test_pep420_ns_package‚   sJ   € Ý*ØŒM F 8Ð6IÐ5Jð
ñ 
ô 
ˆð 	×Ò˜hÐ(JÐ(JÐ(JÑKÔKÐKÐKÐKr   c                 ód   — t          | j        dg¬¦  «        }|                      |g d¢¦  «         d S )Nr\   r<   )r   r   r^   r6   r_   r8   s     r   Ú"test_pep420_ns_package_no_includesz3TestFindPackages.test_pep420_ns_package_no_includesˆ   s=   € Ý*¨4¬=ÐCVÐBWÐXÑXÔXˆØ×Ò˜hÐ(RÐ(RÐ(RÑSÔSÐSÐSÐSr   c                 ób   — t          | j        ¦  «        }g d¢}|                      ||¦  «         d S )N)r   r   r^   r6   r\   r_   )r   r9   rY   s      r   Ú.test_pep420_ns_package_no_includes_or_excludesz?TestFindPackages.test_pep420_ns_package_no_includes_or_excludesŒ   s8   € Ý*¨4¬=Ñ9Ô9ˆØRÐRÐRˆØ×Ò˜h¨Ñ1Ô1Ð1Ð1Ð1r   c                 óœ   — |                       d| j        ¦  «         t          | j        ddg¬¦  «        }|                      |g d¢¦  «         d S )Nr"   r   r\   r<   r]   )r%   r&   r   r   rZ   r8   s     r   Ú3test_regular_package_with_nested_pep420_ns_packageszDTestFindPackages.test_regular_package_with_nested_pep420_ns_packages‘   s^   € Ø�Š�M 4¤<Ñ0Ô0Ð0Ý*ØŒM FÐ,?Ð#@ð
ñ 
ô 
ˆð 	×Ò˜hÐ(JÐ(JÐ(JÑKÔKÐKÐKÐKr   c                 óþ   — t          j        | j        ¦  «         t          j        t          j                             | j        d¦  «        ¦  «         t          | j        ¦  «        }|                      |g d¢¦  «         d S )NrG   r]   )	r   r   r$   r+   r,   r-   r   r   rZ   r8   s     r   Ú*test_pep420_ns_package_no_non_package_dirsz;TestFindPackages.test_pep420_ns_package_no_non_package_dirs˜   si   € ÝŒ�d”mÑ$Ô$Ð$ÝŒ•b”g—l’l 4¤=Ð2EÑFÔFÑGÔGÐGÝ*¨4¬=Ñ9Ô9ˆØ×Ò˜hÐ(JÐ(JÐ(JÑKÔKÐKÐKÐKr   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r#   r%   r:   r>   r@   rE   rI   rN   ÚpytestÚmarkÚskipifr   Úcan_symlinkrU   rZ   r`   rb   rd   rf   rh   © r   r   r	   r	      sm  € € € € € ð#ð #ð #ð%ð %ð %ð/ð /ð /ð:ð ð ð ðð ð ð ð1ð 1ð 1ð
#ð #ð #ð
*ð *ð *ð)ð )ð )ð/ð /ð /ð	+ð 	+ð 	+ð „[×ÒÐ1˜IÔ1Ñ3Ô3Ð3Ð<VÐÑWÔWð"ð "ñ XÔWð"ð,ð ,ð ,ðLð Lð LðTð Tð Tð2ð 2ð 2ð
Lð Lð LðLð Lð Lð Lð Lr   r	   c            	       óÚ   — e Zd Zg d¢ddgfddgddgfg d¢g fg d¢dgfg d	¢dgfg d
¢g d¢fg d¢g d¢fdœZej                             de                     ¦   «         ¦  «        d„ ¦   «         ZdS )ÚTestFlatLayoutPackageFinder)z.pkg/__init__.pyúpkg/__init__.pyzpkg/nested/file.txtr   z
pkg.nestedz_pkg/__init__.pyzpkg/_private/__init__.pyzpkg._private)zinvalid-pkg/__init__.pyzother.pkg/__init__.pyzyet,another/file.py)rs   zdocs/conf.pyzdocs/readme.rst)rs   ztests/test_pkg.pyztests/__init__.py)rs   zexamples/__init__.pyzexamples/file.pyzexample/other_file.pyzpkg/example/__init__.pyzpkg/examples/__init__.py)r   zpkg.exampleszpkg.example)zhtmlcov/index.htmlrs   ztasks/__init__.pyztasks/subpackage/__init__.pyzfabfile/__init__.pyzfabfile/subpackage/__init__.pyzpkg/tasks/__init__.pyzpkg/fabfile/__init__.py)r   z	pkg.taskszpkg.fabfile)zhidden-folderszprivate-packageszinvalid-namer   ÚtestsÚexamplesztool-specificÚexamplec                 óÌ   — | j         |         \  }}t          ||¦  «         t          j        t	          |¦  «        ¦  «        }t          |¦  «        t          |¦  «        k    sJ ‚d S r   )ÚEXAMPLESÚensure_filesr   ÚfindÚstrrW   )r   Útmp_pathrv   ÚfilesÚexpected_packagesÚfound_packagess         r   Ú&test_unwanted_directories_not_includedzBTestFlatLayoutPackageFinder.test_unwanted_directories_not_includedÎ   sb   € à#'¤=°Ô#9Ñ ˆÐ Ý�X˜uÑ%Ô%Ð%Ý0Ô5µc¸(±m´mÑDÔDˆÝ�>Ñ"Ô"¥cÐ*;Ñ&<Ô&<Ò<Ð<Ð<Ð<Ð<Ð<r   N)	ri   rj   rk   rx   rl   rm   ÚparametrizeÚkeysr€   rp   r   r   rr   rr   Ÿ   s   € € € € € ð KÐJÐJØ�LÐ!ð
ð
  Ð!;Ð<Ø�NÐ#ð
ð
 XÐWÐWØð
ð HÐGÐGÈ%ÈÐQàIÐIÐIØˆGð
ð
ð ð ð 3Ð2Ð2ð
ð
ð 
ð 
ð 0Ð/Ð/ð
ð=,ð ,€Hð\ „[×Ò˜Y¨¯ª©¬Ñ8Ô8ð=ð =ñ 9Ô8ð=ð =ð =r   rr   c                 óz   — |D ]7}| |z  }|j                              dd¬¦  «         |                     ¦   «          Œ8d S )NT)ÚparentsÚexist_ok)Úparentr.   Útouch)Ú	root_pathr}   Úfiler,   s       r   ry   ry   Ö   sO   € Øð ð ˆØ˜4ÑˆØŒ×Ò $°ÐÑ6Ô6Ð6Ø�
Š
‰Œˆˆðð r   )Ú__doc__r+   r   r   rl   Ú
setuptoolsr   r   Úsetuptools.discoveryr   Úcompat.py39r   r	   rr   ry   rp   r   r   ú<module>rŽ      sæ   ðØ +Ð +à 	€	€	€	Ø €€€Ø €€€à €€€à =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8à "Ð "Ð "Ð "Ð "Ð "ðMLð MLð MLð MLð MLñ MLô MLð MLð`4=ð 4=ð 4=ð 4=ð 4=ñ 4=ô 4=ð 4=ðnð ð ð ð r   