U
    aÊ¹j<Q  ã                
   @  sH  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 d dlmZ d dlZd dlZd dlmZ d dlZd dlmZmZmZmZ d d	lm Z  d d
l!m"Z" d dl#m$Z$ ddddhZ%ddddddddddh
Z&ddhZ'dZ(e(ddidœe) *e&e'B d¡–ed ƒdd!œed"ƒd#d$id%œed&ƒddd'œed(ƒdddd)œd*œd+d#diid,œed-ƒddd.œd/œed0ƒd1d2œd3œZ+e
jd4k�rÀed5ƒd6d7d8œe+d9< d:d;„ Z,d<d=„ Z-ej.d>d?�d@dA„ ƒZ/ej.dBdC„ ƒZ0dDdE„ Z1dFdG„ Z2dHZ3dIdJ„ Z4dKdL„ Z5dMdN„ Z6ej7 8dOdPdQdRe( 9dSdT¡fg¡dUdV„ ƒZ:dWdX„ Z;dYdZ„ Z<d[d\„ Z=d]Z>d^Z?ej7 @d_¡d`da„ ƒZAdbdc„ ZBej7j8ddeCejD E¡ ƒeCejDƒde�dfdg„ ƒZFdhdi„ ZGdjdk„ ZHdldm„ ZIdndo„ ZJdpdq„ ZKdrds„ ZLdtdu„ ZMdvdw„ ZNdxdy„ ZOdzd{„ ZPej7 8d|d}d~g¡ej7jQe R¡ dkd€d��d‚dƒ„ ƒƒZSd„d…œd†d‡„ZTdˆd‰„ ZUdS )Šé    )ÚannotationsN)Úsuppress)Úcleandoc)ÚMock)ÚZipFile)Útags)Úbdist_wheelÚget_abi_tagÚremove_readonlyÚremove_readonly_exc)ÚDistribution)ÚSetuptoolsDeprecationWarning)Ú	run_setupz&dummy_dist-1.0.dist-info/top_level.txtú!dummy_dist-1.0.dist-info/METADATAzdummy_dist-1.0.dist-info/WHEELúdummy_dist-1.0.dist-info/RECORDÚLICENSEzLICENSE.txtZLICENCEzLICENCE.txtZCOPYINGz
COPYING.mdZNOTICEz
NOTICE.rstZAUTHORSzAUTHORS.txtzLICENSE~zAUTHORS~zQfrom setuptools import setup

setup(
    name='dummy_dist',
    version='1.0',
)
Ú	DUMMYFILEÚ )úsetup.pyZlicensesu  
            from setuptools import setup

            setup(
                name="simple.dist",
                version="0.1",
                description="A testing distribution â˜ƒ",
                extras_require={"voting": ["beaglevote"]},
            )
            )r   Z
simpledistui  
            from setuptools import setup

            setup(
                name="complex-dist",
                version="0.1",
                description="Another testing distribution â˜ƒ",
                long_description="Another testing distribution â˜ƒ",
                author="Illustrious Author",
                author_email="illustrious@example.org",
                url="http://example.org/exemplary",
                packages=["complexdist"],
                setup_requires=["setuptools"],
                install_requires=["quux", "splort"],
                extras_require={"simple": ["simple.dist"]},
                entry_points={
                    "console_scripts": [
                        "complex-dist=complexdist:main",
                        "complex-dist2=complexdist:main",
                    ],
                },
            )
            ú__init__.pyzdef main(): return)r   Zcomplexdistzý
            from setuptools import setup

            setup(
                name="headers.dist",
                version="0.1",
                description="A distribution with headers",
                headers=["header.h"],
            )
            )r   zheadersdist.pyzheader.hak  
            from setuptools import setup

            setup(
                name="testrepo",
                version="0.1",
                packages=["mypackage"],
                description="A test package with commas in file names",
                include_package_data=True,
                package_data={"mypackage.data": ["*"]},
            )
            )r   z	1,2,3.txt)r   ÚdataÚ	mypackage)r   r   ztestrepo-0.1.0u  
            from setuptools import setup

            setup(
                name="unicode.dist",
                version="0.1",
                description="A testing distribution â˜ƒ",
                packages=["unicodedist"],
                zip_safe=True,
            )
            )r   õ   Ã¥Ã¤Ã¶_æ—¥æœ¬èªž.py)r   Zunicodedistuõ   
            [metadata]
            name = utf8-metadata-dist
            version = 42
            author_email = "John X. ÃƒÃ¸rÃ§eÄ�" <john@utf8.org>, Î“Î±Î¼Î± ï­‡ æ�± <gama@utf8.org>
            long_description = file: README.rst
            õ   UTF-8 æ��è¿° èª¬æ˜Ž)ú	setup.cfgz
README.rst)ú
dummy-distzsimple-distzcomplex-distzheaders-distzcommasinfilenames-distzunicode-distzutf8-metadata-distÚwin32u   
            from setuptools import Extension, setup

            setup(
                name="extension.dist",
                version="0.1",
                description="A testing distribution â˜ƒ",
                ext_modules=[
                    Extension(
                        name="extension", sources=["extension.c"], py_limited_api=True
                    )
                ],
            )
            z![bdist_wheel]
py_limited_api=cp32z5#define Py_LIMITED_API 0x03020000
#include <Python.h>)r   r   úextension.czabi3extension-distc                  K  s^   t j d¡rtddd�n
tddiƒ}| ¡  t|ƒ}|  ¡ D ]\}}t|||ƒ q<| 	¡  |S )zHRun command in the same process so that it is easier to collect coverager   Úinit)Ú
stop_afterÚscript_namez%%build_meta%%)
ÚosÚpathÚexistsr   r   Úparse_config_filesr   ÚitemsÚsetattrÚfinalize_options)ÚkwargsZdist_objÚcmdÚattrÚvalue© r,   ú`/var/www/html/bwave/python/venv/lib/python3.8/site-packages/setuptools/tests/test_bdist_wheel.pyÚbdist_wheel_cmdÐ   s    
ÿ
ýr.   c                 C  s&   |   |¡}tjjt| t|ƒd� |S )N)Úprefix)ÚmktempÚjaracor"   ÚbuildÚEXAMPLESÚstr)Útmp_path_factoryÚnameÚbasedirr,   r,   r-   Ú	mkexampleß   s    
r8   Úsession)Úscopec              
   C  s|   |   d¡}|   d¡}tD ]J}t| |ƒ}|| }tj ¡  |¡� tt|ƒt|ƒd� 	¡  W 5 Q R X qt
dd„ | d¡D ƒƒS )Nr2   Údist©Ú	bdist_dirÚdist_dirc                 s  s   | ]}t |ƒV  qd S ©N©r4   ©Ú.0Úfnamer,   r,   r-   Ú	<genexpr>ï   s     zwheel_paths.<locals>.<genexpr>z*.whl)r0   r3   r8   r1   r"   ZDirectoryStackÚcontextr.   r4   ÚrunÚsortedÚglob)r5   Ú
build_baser>   r6   Zexample_dirÚ	build_dirr,   r,   r-   Úwheel_pathså   s    


$rK   c                 C  s
   t | dƒS )Nr   )r8   )r5   r,   r,   r-   Ú
dummy_distò   s    rL   c                 C  s6   t dd„ | D ƒƒ}t|ƒ ¡ D ]}d|jkst‚qdS )z0Make sure entry point scripts are not generated.c                 s  s   | ]}d |kr|V  qdS )Zcomplex_distNr,   ©rB   r"   r,   r,   r-   rD   ù   s      z"test_no_scripts.<locals>.<genexpr>z.data/scripts/N)Únextr   ÚinfolistÚfilenameÚAssertionError)rK   r"   Úentryr,   r,   r-   Útest_no_scripts÷   s    rS   c              	   C  sD   t dd„ | D ƒƒ}t|ƒ�}| d¡}W 5 Q R X d ¡ |ks@t‚d S )Nc                 s  s   | ]}d |kr|V  qdS )Zunicode_distNr,   rM   r,   r,   r-   rD   ÿ   s      z&test_unicode_record.<locals>.<genexpr>z!unicode_dist-0.1.dist-info/RECORDr   )rN   r   ÚreadÚencoderQ   )rK   r"   ÚzfÚrecordr,   r,   r-   Útest_unicode_recordþ   s    
rX   už   Metadata-Version: 2.1
Name: helloworld
Version: 42
Author-email: "John X. ÃƒÃ¸rÃ§eÄ�" <john@utf8.org>, Î“Î±Î¼Î± ï­‡ æ�± <gama@utf8.org>


UTF-8 æ��è¿° èª¬æ˜Ž
c                 C  sš   |   |¡ |d }|d }| ¡  |d jtdd� |d  ¡  G dd„ dtƒ}|ƒ }| ||¡ |d	 jdd�}d
|ks~t‚d|ksŠt‚d|ks–t‚d S )Nzdummy_dist.egg-infoúdummy_dist.dist-infozPKG-INFOúutf-8©Úencodingzdependency_links.txtc                   @  s$   e Zd ZdZdd„ Zedd„ ƒZdS )z;test_preserve_unicode_metadata.<locals>.simpler_bdist_wheelz1Avoid messing with setuptools/distutils internalsc                 S  s   d S r?   r,   ©Úselfr,   r,   r-   Ú__init__  s    zDtest_preserve_unicode_metadata.<locals>.simpler_bdist_wheel.__init__c                 S  s   g S r?   r,   r]   r,   r,   r-   Úlicense_paths   s    zItest_preserve_unicode_metadata.<locals>.simpler_bdist_wheel.license_pathsN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r_   Úpropertyr`   r,   r,   r,   r-   Úsimpler_bdist_wheel  s   rf   ÚMETADATAu"   Author-email: "John X. ÃƒÃ¸rÃ§eÄ�"u   Î“Î±Î¼Î± ï­‡ æ�± r   )	ÚchdirÚmkdirÚ
write_textÚUTF8_PKG_INFOÚtouchr   Zegg2distÚ	read_textrQ   )ÚmonkeypatchÚtmp_pathZegginfoÚdistinforf   Úcmd_objÚmetadatar,   r,   r-   Útest_preserve_unicode_metadata  s    

rs   c              	   C  sZ   |  | ¡ tt|ƒd� ¡  tdƒ�,}dd„ tD ƒ}t| ¡ ƒt|B ksLt	‚W 5 Q R X d S )N©r=   ú$dist/dummy_dist-1.0-py3-none-any.whlc                 S  s   h | ]}d | ’qS ©zdummy_dist-1.0.dist-info/r,   rA   r,   r,   r-   Ú	<setcomp>1  s    z(test_licenses_default.<locals>.<setcomp>)
rh   r.   r4   rF   r   ÚDEFAULT_LICENSE_FILESÚsetÚnamelistÚDEFAULT_FILESrQ   ©rL   rn   ro   ÚwfÚlicense_filesr,   r,   r-   Útest_licenses_default-  s    

ÿr   c              	   C  sf   |   d¡jddd� | | ¡ tt|ƒd� ¡  tdƒ�$}dh}t| ¡ ƒt	|B ksXt
‚W 5 Q R X d S )Nr   z*[metadata]
license_file=licenses/DUMMYFILErZ   r[   rt   ru   z"dummy_dist-1.0.dist-info/DUMMYFILE©Újoinpathrj   rh   r.   r4   rF   r   ry   rz   r{   rQ   r|   r,   r,   r-   Útest_licenses_deprecated7  s    
 ÿ

r‚   zconfig_file, config)r   z-[metadata]
license_files=licenses/*
  LICENSE)r   z,[metadata]
license_files=licenses/*, LICENSEr   ú)z2  license_files=['licenses/DUMMYFILE', 'LICENSE'])c              	   C  sn   |   |¡j|dd� | | ¡ tt|ƒd� ¡  tdƒ�,}dd„ dD ƒ}t| ¡ ƒt	|B ks`t
‚W 5 Q R X d S )NrZ   r[   rt   ru   c                 S  s   h | ]}d | ’qS rv   r,   rA   r,   r,   r-   rw   V  s    z)test_licenses_override.<locals>.<setcomp>>   r   r   r€   )rL   rn   ro   Úconfig_fileÚconfigr}   r~   r,   r,   r-   Útest_licenses_overrideD  s    

ÿr†   c              	   C  s\   |   d¡jddd� | | ¡ tt|ƒd� ¡  tdƒ�}t| ¡ ƒt	ksNt
‚W 5 Q R X d S )Nr   z[metadata]
license_files=
rZ   r[   rt   ru   r€   )rL   rn   ro   r}   r,   r,   r-   Útest_licenses_disabled\  s    
 ÿ

r‡   c              	   C  sZ   |  | ¡ tt|ƒdd� ¡  tdƒ�*}t| ¡ ƒ}d|ks@t‚d|ksLt‚W 5 Q R X d S )NÚ2©r=   Úbuild_numberz&dist/dummy_dist-1.0-2-py3-none-any.whlr   r   )rh   r.   r4   rF   r   ry   rz   rQ   )rL   rn   ro   r}   Ú	filenamesr,   r,   r-   Útest_build_numberf  s    

rŒ   c              	   C  sL   |  | ¡ tjtdd�� tt|ƒdd� ¡  W 5 Q R X tj 	d¡sHt
‚d S )Nz.*universal is deprecated©ÚmatchT)r=   Ú	universalz(dist/dummy_dist-1.0-py2.py3-none-any.whl)rh   ÚpytestZwarnsr   r.   r4   rF   r!   r"   r#   rQ   )rL   rn   ro   r,   r,   r-   Útest_universal_deprecatedo  s    
r‘   a&  #include <Python.h>

static PyMethodDef methods[] = {
  { NULL, NULL, 0, NULL }
};

static struct PyModuleDef module_def = {
  PyModuleDef_HEAD_INIT,
  "extension",
  "Dummy extension module",
  -1,
  methods
};

PyMODINIT_FUNC PyInit_extension(void) {
  return PyModule_Create(&module_def);
}
uú   from __future__ import annotations

from setuptools import Extension, setup

setup(
    name="extension.dist",
    version="0.1",
    description="A testing distribution â˜ƒ",
    ext_modules=[Extension(name="extension", sources=["extension.c"])],
)
zEonce:Config variable '.*' is unset.*, Python ABI tag may be incorrectc                 C  sh   |  d¡}|d jtdd� |d jtdd� | d¡}| d¡}|  |¡ tt|ƒt|ƒd� ¡  d	S )
z=Test that building a binary wheel with the limited ABI works.Zextension_distr   rZ   r[   r   r2   r;   r<   N)	r0   rj   ÚEXTENSION_SETUPPYÚEXTENSION_EXAMPLEr�   rh   r.   r4   rF   )rn   ro   r5   Ú
source_dirrJ   r>   r,   r,   r-   Útest_limited_abi™  s    



r•   c                 C  sn   t | d¡ƒ}t t | ƒ|¡ | |¡ t |¡D ],\}}}|D ]}t tj 	||¡t
j¡ q@q2tƒ  ¡  d S )NÚdummy)r4   r�   ÚshutilÚcopytreerh   r!   ÚwalkÚchmodr"   ÚjoinÚstatÚS_IREADr.   rF   )rL   rn   ro   r7   ÚrootÚ_dirsÚfilesrC   r,   r,   r-   Útest_build_from_readonly_tree§  s    
r¡   zoption, compress_type)Zidsc              	   C  st   |  | ¡ tt|ƒ|d� ¡  tdƒ�D}t| ¡ ƒ}d|ks@t‚d|ksLt‚|jD ]}|j	|ksRt‚qRW 5 Q R X d S )N)r=   Úcompressionru   r   r   )
rh   r.   r4   rF   r   ry   rz   rQ   ÚfilelistÚcompress_type)rL   rn   ro   Úoptionr¤   r}   r‹   Úzinfor,   r,   r-   Útest_compression´  s    


r§   c              
   C  sL   | D ]B}t |ƒ�0}tdd„ |jD ƒƒ}| |¡}d|ks<t‚W 5 Q R X qd S )Nc                 s  s   | ]}|j  d ¡r|V  qdS )ÚWHEELN)rP   Úendswith)rB   Úfnr,   r,   r-   rD   Ç  s      z.test_wheelfile_line_endings.<locals>.<genexpr>ó   )r   rN   r£   rT   rQ   )rK   r"   r}   Z	wheelfileZwheelfile_contentsr,   r,   r-   Útest_wheelfile_line_endingsÄ  s
    

r¬   c              	   C  s\   |  dd¡ | | ¡ tt|ƒdd� ¡  tdƒ� }|jD ]}|jdks:t‚q:W 5 Q R X d S )NÚSOURCE_DATE_EPOCHÚ0Z2ar‰   z'dist/dummy_dist-1.0-2a-py3-none-any.whl)i¼  é   r¯   r   r   r   )	Zsetenvrh   r.   r4   rF   r   r£   Ú	date_timerQ   )rL   rn   ro   r}   r¦   r,   r,   r-   Útest_unix_epoch_timestampsÌ  s    


r±   c                 C  s’   |   tddd„ ¡ |   tddd„ ¡ tƒ dks2t‚|   tddd„ d	¡ tƒ d
ksTt‚|   tddd„ ¡ tƒ dkstt‚|  td¡ tƒ dksŽt‚d S )NÚinterpreter_namec                   S  s   dS )NÚcpr,   r,   r,   r,   r-   Ú<lambda>Ö  ó    z*test_get_abi_tag_windows.<locals>.<lambda>Úget_config_varc                 S  s   dS )Nzcp313-win_amd64r,   ©Úxr,   r,   r-   r´   ×  rµ   Zcp313Úgettotalrefcountc                   S  s   dS )Nr¯   r,   r,   r,   r,   r-   r´   Ù  rµ   FZcp313dc                 S  s   dS )Nzcp313t-win_amd64r,   r·   r,   r,   r-   r´   Û  rµ   Zcp313tdZcp313t)r&   r   Ú	sysconfigr	   rQ   ÚsysÚdelattr©rn   r,   r,   r-   Útest_get_abi_tag_windowsÕ  s    r¾   c                 C  s6   |   tddd„ ¡ |   tddd„ ¡ tƒ dks2t‚d S )Nr²   c                   S  s   dS ©NÚppr,   r,   r,   r,   r-   r´   â  rµ   z+test_get_abi_tag_pypy_old.<locals>.<lambda>r¶   c                 S  s   dS )Nzpypy36-pp73r,   r·   r,   r,   r-   r´   ã  rµ   Zpypy36_pp73)r&   r   rº   r	   rQ   r½   r,   r,   r-   Útest_get_abi_tag_pypy_oldá  s    rÁ   c                 C  s6   |   tddd„ ¡ |   tddd„ ¡ tƒ dks2t‚d S )Nr¶   c                 S  s   dS )Nzpypy37-pp73-darwinr,   r·   r,   r,   r-   r´   è  rµ   z+test_get_abi_tag_pypy_new.<locals>.<lambda>r²   c                   S  s   dS r¿   r,   r,   r,   r,   r-   r´   é  rµ   Zpypy37_pp73©r&   rº   r   r	   rQ   r½   r,   r,   r-   Útest_get_abi_tag_pypy_newç  s    rÃ   c                 C  s6   |   tddd„ ¡ |   tddd„ ¡ tƒ dks2t‚d S )Nr¶   c                 S  s   dS )Nz"graalpy231-310-native-x86_64-linuxr,   r·   r,   r,   r-   r´   ï  rµ   z*test_get_abi_tag_graalpy.<locals>.<lambda>r²   c                   S  s   dS )NÚgraalpyr,   r,   r,   r,   r-   r´   ñ  rµ   Zgraalpy231_310_nativerÂ   r½   r,   r,   r-   Útest_get_abi_tag_graalpyí  s      ÿrÅ   c                 C  s6   |   tddd„ ¡ |   tddd„ ¡ tƒ dks2t‚d S )Nr¶   c                 S  s   dS )Nzunknown-python-310r,   r·   r,   r,   r-   r´   ö  rµ   z+test_get_abi_tag_fallback.<locals>.<lambda>r²   c                   S  s   dS )Nzunknown-pythonr,   r,   r,   r,   r-   r´   ÷  rµ   Zunknown_python_310rÂ   r½   r,   r,   r-   Útest_get_abi_tag_fallbackõ  s    rÆ   c                 C  s   |  | ¡ tdd� ¡  dS )z>Ensure building on platforms with a space in the name succeed.zisilon onefs)Ú	plat_nameN)rh   r.   rF   )rL   rn   r,   r,   r-   Útest_platform_with_spaceû  s    
rÈ   c                 C  sª   |d }|  ¡  | d¡}| ¡  | tj¡ tj d¡r>dnd}tj	dk rtt
td�}tj||d� |j|ksšt‚n&t
td�}tj||d	� |j|ksšt‚| ¡ r¦t‚d
S )zVerify onerr works as expectedZwith_readonlyúfile.txtÚwinr¯   r   )é   é   )Zside_effect)Úonerror)ÚonexcN)ri   r�   rl   rš   rœ   r�   r»   ÚplatformÚ
startswithÚversion_infor   r
   r—   ÚrmtreeZ
call_countrQ   r   Úis_dir)rn   ro   r=   Z	some_fileZexpected_countZcount_remove_readonlyZcount_remove_readonly_excr,   r,   r-   Útest_rmtree_readonly  s    



rÔ   c           
   
   C  s°   |   |¡ dddddœ}| ¡ D ]0\}}t|ddd��}| t|ƒ¡ W 5 Q R X q tƒ  ¡  d}tj 	|¡spt
‚tt|ƒ ¡ ƒ}d	D ]}||ks„t
‚q„d
D ]}	|	|ksšt
‚qšdS )zþ
    Setuptools allow authors to set PEP 440's local version segments
    using ``egg_info.tag_build``. This should be reflected not only in the
    ``.whl`` file name, but also in the ``.dist-info`` and ``.data`` dirs.
    See pypa/setuptools#3997.
    z]
            from setuptools import setup
            setup(headers=["hello.h"])
            zê
            [metadata]
            name = test
            version = 1.0

            [options.data_files]
            hello/world = file.txt

            [egg_info]
            tag_build = +what
            tag_date = 0
            r   )r   r   rÉ   zhello.hÚwrZ   r[   z#dist/test-1.0+what-py3-none-any.whl)z"test-1.0+what.data/headers/hello.hz,test-1.0+what.data/data/hello/world/file.txtz test-1.0+what.dist-info/METADATAztest-1.0+what.dist-info/WHEEL)ztest.data/headers/hello.hz'test-1.0.data/data/hello/world/file.txtztest.dist-info/METADATAztest-1.0.dist-info/WHEELN)rh   r%   ÚopenÚwriter   r.   rF   r!   r"   r#   rQ   ry   r   rz   )
rn   ro   r    ÚfileÚcontentÚfhÚ
wheel_pathÚentriesÚexpectedZnot_expectedr,   r,   r-   Útest_data_dir_with_tag_build  s"    
î
rÞ   zreported,expected)zlinux-x86_64Ú
linux_i686)zlinux-aarch64Zlinux_armv7lÚLinuxz!Only makes sense to test on Linux)Úreasonc                 C  sL   |  tddd„ ¡ t ¡ }t|ƒ}| |_d|_| ¡ \}}}||ksHt‚d S )NÚcalcsizec                 S  s   dS )Né   r,   r·   r,   r,   r-   r´   W  rµ   z'test_platform_linux32.<locals>.<lambda>F)	r&   ÚstructÚ
setuptoolsr   r   rÇ   Zroot_is_pureZget_tagrQ   )ZreportedrÝ   rn   r;   r)   Ú_Úactualr,   r,   r-   Útest_platform_linux32O  s    rè   ÚNone)Úreturnc              	   C  sz   ddœdd„}t tƒ� |  tjd¡ W 5 Q R X |  td|¡ tjt	dd�� d	d l
}W 5 Q R X |  tjd
¡ d	d l}d S )Nr4   )r6   c                 _  s(   | dkrt d| › �ƒ‚tj| f|ž|ŽS )NÚctypeszNo module named )ÚModuleNotFoundErrorÚ	importlibÚ
__import__)r6   Úargsr(   r,   r,   r-   Ú_fake_importa  s    z$test_no_ctypes.<locals>._fake_importzwheel.macosx_libfilerî   zNo module named ctypesr�   r   zsetuptools.command.bdist_wheel)r   ÚKeyErrorÚdelitemr»   Úmodulesr&   Úbuiltinsr�   Zraisesrì   Zwheel.macosx_libfileÚsetuptools.command.bdist_wheel)rn   rð   Úwheelrå   r,   r,   r-   Útest_no_ctypes`  s    
r÷   c              	   C  s¦   |  | ¡ |d }| ¡  |d jddd� |d jddd� tt|ƒt|ƒd� ¡  d	d
h}tdƒ�}t| ¡ ƒ}W 5 Q R X || tƒ ks�t	‚dd„ |D ƒr¢t	‚d S )NrY   rg   zname: helloworldrZ   r[   ZFOOÚbar)r=   Údist_info_dirzdummy_dist-1.0.dist-info/FOOr   ru   c                 S  s   g | ]}d t |ƒkr|‘qS )zegg-infor@   rM   r,   r,   r-   Ú
<listcomp>Œ  s      z+test_dist_info_provided.<locals>.<listcomp>)
rh   ri   rj   r.   r4   rF   r   ry   rz   rQ   )rL   rn   ro   rp   rÝ   r}   Zfiles_foundr,   r,   r-   Útest_dist_info_providedv  s    
þ
rû   )VÚ
__future__r   rô   rí   Úos.pathr!   rÏ   r—   rœ   rä   r»   rº   Ú
contextlibr   Úinspectr   Zunittest.mockr   Úzipfiler   Zjaraco.pathr1   r�   Ú	packagingr   rå   rõ   r   r	   r
   r   Zsetuptools.distr   Zsetuptools.warningsr   Údistutils.corer   r{   rx   ZOTHER_IGNORED_FILESZSETUPPY_EXAMPLEÚdictÚfromkeysr3   r.   r8   ZfixturerK   rL   rS   rX   rk   rs   r   r‚   ÚmarkZparametrizeÚreplacer†   r‡   rŒ   r‘   r“   r’   Úfilterwarningsr•   r¡   ÚlistZsupported_compressionsr%   r§   r¬   r±   r¾   rÁ   rÃ   rÅ   rÆ   rÈ   rÔ   rÞ   ZskipifÚsystemrè   r÷   rû   r,   r,   r,   r-   Ú<module>   s0  üöþþýÿóÿæÿòÿþ ÿíÿòÿ	ö˜wÿî




 ÿþýþ

		ÿ
ý
	7þ
 ÿ
