§
    »"½j	‚  ã            
       ó   — 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m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Z e ej        dd¦  «        ¦  «        Zdej        v Z ej!         "                    ej#        dk    oe d¬¦  «        Z$ G d„ d¦  «        Z% G d„ de%¦  «        Z& G d„ de%¦  «        Z' ed¦  «         ed¦  «        dœ ed¦  «         ed¦  «        dœ ed¦  «         ed¦  «        dœd ed¦  «        i ed¦  «         ed ¦  «        d!œ ed¦  «        d ed ¦  «        d"œgZ( G d#„ d$¦  «        Z) G d%„ d&e)¦  «        Z*ej!         +                    d'¦  «        d(„ ¦   «         Z,d)„ Z-dS )*é    N)Úfutures)ÚPath)ÚAnyÚCallable)ÚZipFile)Úpath)ÚRequirement)ÚSetuptoolsDeprecationWarningé   )ÚDALSz __import__('setuptools').setup()ÚTIMEOUT_BACKEND_TESTÚ180Ú__pypy__Úwin32z_The combination of PyPy + Windows + pytest-xdist + ProcessPoolExecutor is flaky and problematic)Úreasonc                   ó   — e Zd Zdd„ZdS )ÚBuildBackendBaseú.Núsetuptools.build_metac                 ó4   — || _         |pi | _        || _        d S )N)ÚcwdÚenvÚbackend_name)Úselfr   r   r   s       ú`/home/spazio/kingdom_calls/venv/lib/python3.11/site-packages/setuptools/tests/test_build_meta.pyÚ__init__zBuildBackendBase.__init__&   s"   € ØˆŒØ�9˜"ˆŒØ(ˆÔÐÐó    )r   Nr   )Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r   %   s(   € € € € € ð)ð )ð )ð )ð )ð )r   r   c                   óH   ‡ — e Zd ZdZˆ fd„Zdededef         fd„Zd„ Z	ˆ xZ
S )ÚBuildBackendzPEP 517 Build Backendc                 ón   •—  t          ¦   «         j        |i |¤Ž t          j        d¬¦  «        | _        d S )Nr   )Úmax_workers)Úsuperr   r   ÚProcessPoolExecutorÚpool)r   ÚargsÚkwargsÚ	__class__s      €r   r   zBuildBackend.__init__/   s8   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ÝÔ/¸AÐ>Ñ>Ô>ˆŒ	ˆ	ˆ	r   ÚnameÚreturn.c                 ó   ‡ ‡— ˆˆ fd„}|S )ú<Handles arbitrary function invocations on the build backend.c                  óœ  •— t           j                             ‰j        ¦  «        }t	          |‰j        ‰j        ¦  «        }d }	 ‰j                             t           j	        ¦  «         
                    t          ¦  «        } ‰j        j        |‰g| ¢R i |¤Ž 
                    t          ¦  «        S # t          j        $ rQ ‰j                             d¬¦  «         ‰                     |¦  «         t!          j        dt          › d�¦  «         Y d S t          j        j        t(          t*          f$ r t,          rt!          j        d¦  «         ‚ w xY w)NF)Úwaitz(Backend did not respond before timeout (z s)z3PyPy frequently fails tests with ProcessPoolExector)Úosr   Úabspathr   ÚBuildBackendCallerr   r   r(   ÚsubmitÚgetpidÚresultÚTIMEOUTr   ÚTimeoutErrorÚshutdownÚ_killÚpytestÚxfailÚprocessÚBrokenProcessPoolÚMemoryErrorÚOSErrorÚIS_PYPY)r)   ÚkwÚrootÚcallerÚpidr,   r   s        €€r   Úmethodz(BuildBackend.__getattr__.<locals>.method6   s;  ø€ Ý”7—?’? 4¤8Ñ,Ô,ˆDÝ'¨¨d¬h¸Ô8IÑJÔJˆFØˆCð
Ø”i×&Ò&¥r¤yÑ1Ô1×8Ò8½ÑAÔA�Ø'�t”yÔ'¨°ÐB°tÐBÐBÐB¸rÐBÐB×IÒIÍ'ÑRÔRÐRøÝÔ'ð Vð Vð VØ”	×"Ò"¨Ð"Ñ.Ô.Ð.Ø—
’
˜3‘”�Ý”ÐTÍÐTÐTÐTÑUÔUÐUÐUÐUÐUÝ”OÔ5µ{ÅGÐLð ð ð Ýð XÝ”LÐ!VÑWÔWÐWØðøøøs   ÁA*B/ Â/AEÄ=Er!   )r   r,   rG   s   `` r   Ú__getattr__zBuildBackend.__getattr__3   s)   øø€ ð	ð 	ð 	ð 	ð 	ð 	ð  ˆr   c                 óô   — |€d S t          j        t          t          ¦  «        5  t	          j        |t          j        dk    rt          j        nt          j	        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚnt)
Ú
contextlibÚsuppressÚProcessLookupErrorrA   r2   Úkillr,   ÚsignalÚSIGTERMÚSIGKILL)r   rF   s     r   r;   zBuildBackend._killH   s¼   € Øˆ;ØˆFÝÔ Õ!3µWÑ=Ô=ð 	Pð 	PÝŒG�C­2¬7°dª?¨?�œ˜ÅÄÑOÔOÐOð	Pð 	Pð 	Pñ 	Pô 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pð 	Pøøøð 	Pð 	Pð 	Pð 	Pð 	Pð 	Ps   ¤<A-Á-A1Á4A1)r   r   r    Ú__doc__r   Ústrr   r   rH   r;   Ú__classcell__©r+   s   @r   r#   r#   ,   s   ø€ € € € € ØÐð?ð ?ð ?ð ?ð ?ð ð ¨°°c°Ô(:ð ð ð ð ð*Pð Pð Pð Pð Pð Pð Pr   r#   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )r4   c                 óŠ   •—  t          ¦   «         j        |i |¤Ž | j                             d¦  «        \  | _        }| _        d S )Nú:)r&   r   r   Ú	partitionÚbackend_obj)r   r)   r*   Ú_r+   s       €r   r   zBuildBackendCaller.__init__P   sH   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)à37Ô3D×3NÒ3NÈsÑ3SÔ3SÑ0ˆÔ	˜A˜tÔ/Ð/Ð/r   c                 ó  — t          j        | j        ¦  «         t           j                             | j        ¦  «         t          j        | j        ¦  «        }| j	        rt          || j	        ¦  «        }n|} t          ||¦  «        |i |¤ŽS )r/   )r2   Úchdirr   ÚenvironÚupdater   Ú	importlibÚimport_moduler   rZ   Úgetattr)r   r,   r)   rC   ÚmodÚbackends         r   Ú__call__zBuildBackendCaller.__call__U   s‚   € å
Œ�”ÑÔÐÝ
Œ
×Ò˜$œ(Ñ#Ô#Ð#ÝÔ% dÔ&7Ñ8Ô8ˆàÔð 	Ý˜c 4Ô#3Ñ4Ô4ˆGˆGàˆGà%�w�w Ñ%Ô% tÐ2¨rÐ2Ð2Ð2r   )r   r   r    r   re   rT   rU   s   @r   r4   r4   O   sL   ø€ € € € € ðTð Tð Tð Tð Tð
3ð 3ð 3ð 3ð 3ð 3ð 3r   r4   zÒ
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            úC
            def run():
                print('hello')
            ©úsetup.pyúhello.pyzü
            assert __name__ == '__main__'
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            aF  
            variable = True
            def function():
                return variable
            assert variable
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            rh   aƒ  
            # Some packages construct files on the fly, include them in the package,
            # and immediately remove them after `setup()` (e.g. pybind11==2.9.1).
            # Therefore, we cannot use `distutils.core.run_setup(..., stop_after=...)`
            # to obtain a distribution object first, and then run the distutils
            # commands later, because these files will be removed in the meantime.

            with open('world.py', 'w', encoding="utf-8") as f:
                f.write('x = 42')

            try:
                __import__('setuptools').setup(
                    name='foo',
                    version='0.0.0',
                    py_modules=['world'],
                    setup_requires=['six'],
                )
            finally:
                # Some packages will clean temporary files
                __import__('os').unlink('world.py')
            zŽ
        [metadata]
        name = foo
        version = 0.0.0

        [options]
        py_modules=hello
        setup_requires=six
        z7
        def run():
            print('hello')
        )ú	setup.cfgri   )rj   rh   ri   c                   ój  — e Zd ZdZd„ Z ej        e¬¦  «        d„ ¦   «         Zd„ Z	d„ Z
d„ Zej                             dd	¦  «        d
„ ¦   «         Zej                             ddeg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z ed¦  «        d ed¦  «        dœZd„ Z ed¦  «        ddd iid!œZd"„ Zd#„ Z d$„ Z!ej                             d%d&d'ig¦  «        d(„ ¦   «         Z"ej                             d)d*d+gfd,d+gfd-d+gfd.d+gfd/d+d0gfd1d+gfd2d+gfd3d4gfd5d+d0gfd6d+d0gfd7d+d0gfg¦  «        ej                             d8d9d:g¦  «        d;„ ¦   «         ¦   «         Z#d<„ Z$d=„ Z%d> ed?¦  «        iZ&d@„ Z'd> edA¦  «        iZ(dB„ Z)ej                             dCdD¦  «        dE„ ¦   «         Z*dS )FÚTestBuildMetaBackendr   c                 ó,   — t          | j        ¬¦  «        S )N©r   )r#   r   )r   s    r   Úget_build_backendz&TestBuildMetaBackend.get_build_backendå   s   € Ý¨Ô):Ð;Ñ;Ô;Ð;r   )Úparamsc              #   óà   K  — t          j        |j        t          |¦  «        ¬¦  «         |                     ¦   «         5  |                      ¦   «         V — d d d ¦  «         d S # 1 swxY w Y   d S )N)Úprefix)r   ÚbuildÚparamrS   Úas_cwdro   )r   ÚtmpdirÚrequests      r   Úbuild_backendz"TestBuildMetaBackend.build_backendè   s­   è è € åŒ
�7”=­¨V©¬Ð5Ñ5Ô5Ð5Ø�]Š]‰_Œ_ð 	+ð 	+Ø×(Ò(Ñ*Ô*Ð*Ð*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s   ¿A#Á#A'Á*A'c                 óx   — |                      ¦   «         }dg}t          |¦  «        t          |¦  «        k    sJ ‚d S ©NÚsix)Úget_requires_for_build_wheelÚsorted©r   rx   ÚactualÚexpecteds       r   Ú!test_get_requires_for_build_wheelz6TestBuildMetaBackend.test_get_requires_for_build_wheelî   ó?   € Ø×;Ò;Ñ=Ô=ˆØ�7ˆÝ�f‰~Œ~¥¨Ñ!1Ô!1Ò1Ð1Ð1Ð1Ð1Ð1r   c                 óx   — |                      ¦   «         }dg}t          |¦  «        t          |¦  «        k    sJ ‚d S rz   )Úget_requires_for_build_sdistr}   r~   s       r   Ú!test_get_requires_for_build_sdistz6TestBuildMetaBackend.test_get_requires_for_build_sdistó   r‚   r   c                 óD  — t           j                             d¦  «        }t          j        |¦  «         |                     |¦  «        }t           j                             ||¦  «        }t           j                             |¦  «        sJ ‚t           j                             d¦  «        rJ ‚t          |¦  «        5 }t          | 	                    ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y   d„ |D ¦   «         }d„ |D ¦   «         }t          |¦  «        dk    sJ ‚d S )Nz	pip-wheelúworld.pyc              3   óD   K  — | ]}|                      d ¦  «        ¯|V — ŒdS )z.pyN©Úendswith©Ú.0Úfs     r   ú	<genexpr>z8TestBuildMetaBackend.test_build_wheel.<locals>.<genexpr>  s3   è è € ÐIÐI °q·z²zÀ%Ñ7HÔ7HÐI˜!ÐIÐIÐIÐIÐIÐIr   c                 ó<   — g | ]}|                      d ¦  «        °|‘ŒS )rh   r‰   r‹   s     r   ú
<listcomp>z9TestBuildMetaBackend.test_build_wheel.<locals>.<listcomp>	  s)   € ÐKÐKÐK˜°A·J²J¸zÑ4JÔ4JÐK�1ÐKÐKÐKr   r   )r2   r   r3   ÚmakedirsÚbuild_wheelÚjoinÚisfiler   ÚsetÚnamelistÚlen)	r   rx   Údist_dirÚ
wheel_nameÚ
wheel_fileÚzipfileÚwheel_contentsÚpython_scriptsÚmoduless	            r   Útest_build_wheelz%TestBuildMetaBackend.test_build_wheelø   sB  € Ý”7—?’? ;Ñ/Ô/ˆÝ
Œ�HÑÔÐØ"×.Ò.¨xÑ8Ô8ˆ
å”W—\’\ (¨JÑ7Ô7ˆ
ÝŒw�~Š~˜jÑ)Ô)Ð)Ð)Ð)õ ”7—>’> *Ñ-Ô-Ð-Ð-Ð-å�ZÑ Ô ð 	5 GÝ  ×!1Ò!1Ñ!3Ô!3Ñ4Ô4ˆNð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð
 JÐI ^ÐIÑIÔIˆØKÐK˜nÐKÑKÔKˆÝ�7‰|Œ|˜qÒ Ð Ð Ð Ð Ð s   Â:"C(Ã(C,Ã/C,Ú
build_type)ÚwheelÚsdistc                 óf  — ddt          d¦  «        t          d¦  «        dœ}t          j        |¦  «         t          j                             d|z   ¦  «        }|                      ¦   «         }t          |d|z   ¦  «        } ||¦  «        }t          dd	d
¬¦  «        5 }|                     d¦  «         d d d ¦  «         n# 1 swxY w Y    ||¦  «        }	t          j         	                    t          j         
                    ||¦  «        ¦  «        sJ ‚||	k    sJ ‚t          t          j         
                    ||	¦  «        d¦  «                             ¦   «           ||¦  «        }
|
|	k    sJ ‚t          j                             t          j         
                    ||
¦  «        ¦  «        dk    sJ ‚d S )Nz$from setuptools import setup
setup()z0.0.1zo
                [metadata]
                name = foo
                version = file: VERSION
                ú›
                [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"
                )rh   ÚVERSIONrj   úpyproject.tomlzpreexisting-Úbuild_r¥   Úwtúutf-8©Úencodingz0.0.2Úwbr   )r   r   rs   r2   r3   ro   rb   ÚopenÚwriter”   r“   ÚcloseÚgetsize)r   r    Ú
tmpdir_cwdÚfilesr˜   rx   Úbuild_methodÚfirst_resultÚversion_fileÚsecond_resultÚthird_results              r   Ú%test_build_with_existing_file_presentz:TestBuildMetaBackend.test_build_with_existing_file_present  sé  € ð
 @ØÝðñô õ #ðñô ð
ð 
ˆõ& 	Œ
�5ÑÔÐå”7—?’? >°JÑ#>Ñ?Ô?ˆà×.Ò.Ñ0Ô0ˆÝ˜}¨h¸Ñ.CÑDÔDˆð
 $�| HÑ-Ô-ˆõ �)˜T¨GÐ4Ñ4Ô4ð 	(¸Ø×Ò˜wÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð %˜ XÑ.Ô.ˆåŒw�~Š~�bœgŸlšl¨8°\ÑBÔBÑCÔCÐCÐCÐCØ˜}Ò,Ð,Ð,Ð,õ 	�RŒW�\Š\˜( MÑ2Ô2°DÑ9Ô9×?Ò?ÑAÔAÐAØ#�| HÑ-Ô-ˆØ˜}Ò,Ð,Ð,Ð,ÝŒw�Š�rœwŸ|š|¨H°lÑCÔCÑDÔDÀqÒHÐHÐHÐHÐHÐHs   ÂB>Â>CÃCÚsetup_scriptNc                 óì  — t          d¦  «        t          d¦  «        dddddddd	d
œidœ}|r||d<   |                      ¦   «         }|                     ¦   «         5  t          j        |¦  «         ddg}t          j        ¦   «         5  |D ]}t          j        d|t          ¦  «         Œ| 	                    d¦  «        }| 
                    d¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          j        t          j                             |d|¦  «        ¦  «        5 }	t          |	                     ¦   «         ¦  «        }
d d d ¦  «         n# 1 swxY w Y   t#          t          j                             |d|¦  «        ¦  «        5 }t          |                     ¦   «         ¦  «        }t'          |                     d¦  «        d¦  «        }t'          |                     d¦  «        d¦  «        }t'          |                     d¦  «        d¦  «        }d d d ¦  «         n# 1 swxY w Y   |
dhz
  h d£k    sJ ‚|h d£k    sJ ‚|dk    sJ ‚ddddddt'          t+          d¦  «        ¦  «        z   dt'          t+          d¦  «        ¦  «        z   fD ]}||v sJ ||f¦   «         ‚Œ|                     ¦   «                              d¦  «        sJ ‚|                     ¦   «         d k    sJ ‚d S )!Naj  
                [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "foo"
                license = {text = "MIT"}
                description = "This is a Python package"
                dynamic = ["version", "readme"]
                classifiers = [
                    "Development Status :: 5 - Production/Stable",
                    "Intended Audience :: Developers"
                ]
                urls = {Homepage = "http://github.com"}
                dependencies = [
                    "appdirs",
                ]

                [project.optional-dependencies]
                all = [
                    "tomli>=1",
                    "pyscaffold>=4,<5",
                    'importlib; python_version == "2.6"',
                ]

                [project.scripts]
                foo = "foo.cli:main"

                [tool.setuptools]
                zip-safe = false
                package-dir = {"" = "src"}
                packages = {find = {where = ["src"]}}
                license-files = ["LICENSE*"]

                [tool.setuptools.dynamic]
                version = {attr = "foo.__version__"}
                readme = {file = "README.rst"}

                [tool.distutils.sdist]
                formats = "gztar"
                zd
                global-include *.py *.txt
                global-exclude *.py[cod]
                zThis is a ``README``z!---- placeholder MIT license ----Úfooz__version__ = '0.1'z__version__: strz def main(): print('hello world')Ú )ú__init__.pyz__init__.pyizcli.pyzdata.txtzpy.typed)r¦   úMANIFEST.inz
README.rstzLICENSE.txtÚsrcrh   zQ'tool.setuptools.license-files' is deprecated in favor of 'project.license-files'z/`project.license` as a TOML table is deprecatedÚignoreÚtempúfoo-0.1.dist-info/METADATAr©   ú&foo-0.1.dist-info/licenses/LICENSE.txtú"foo-0.1.dist-info/entry_points.txtzfoo-0.1/setup.py>   úfoo-0.1úfoo-0.1/srcúfoo-0.1/src/fooúfoo-0.1/PKG-INFOúfoo-0.1/setup.cfgúfoo-0.1/README.rstúfoo-0.1/LICENSE.txtúfoo-0.1/MANIFEST.inúfoo-0.1/pyproject.tomlúfoo-0.1/src/foo/cli.pyúfoo-0.1/src/foo.egg-infoúfoo-0.1/src/foo/data.txtúfoo-0.1/src/foo/py.typedúfoo-0.1/src/foo/__init__.pyúfoo-0.1/src/foo/__init__.pyiú!foo-0.1/src/foo.egg-info/PKG-INFOú$foo-0.1/src/foo.egg-info/SOURCES.txtú%foo-0.1/src/foo.egg-info/not-zip-safeú%foo-0.1/src/foo.egg-info/requires.txtú&foo-0.1/src/foo.egg-info/top_level.txtú)foo-0.1/src/foo.egg-info/entry_points.txtú-foo-0.1/src/foo.egg-info/dependency_links.txt>   ú
foo/cli.pyúfoo/data.txtúfoo/py.typedúfoo/__init__.pyúfoo/__init__.pyiúfoo-0.1.dist-info/WHEELúfoo-0.1.dist-info/RECORDúfoo-0.1.dist-info/top_level.txtrÂ   rÄ   rÃ   z!Summary: This is a Python packagezLicense: MITzLicense-File: LICENSE.txtz+Classifier: Intended Audience :: DeveloperszRequires-Dist: appdirszRequires-Dist: ztomli>=1 ; extra == "all"z2importlib; python_version=="2.6" and extra =="all"z$[console_scripts]
foo = foo.cli:main)r   ro   ru   r   rs   ÚwarningsÚcatch_warningsÚfilterwarningsr
   Úbuild_sdistr’   Útarfiler­   r2   r“   r•   Úgetnamesr   r–   rS   Úreadr	   ÚstriprŠ   )r   rv   r¹   r²   rx   ÚmsgsÚmsgÚ
sdist_pathrš   ÚtarÚsdist_contentsr›   rœ   ÚmetadataÚlicenseÚepointsÚlines                    r   Ú test_build_with_pyproject_configz5TestBuildMetaBackend.test_build_with_pyproject_config?  sm  € õ #ð)ñ+ô +õX  ðñô ð 1Ø>àØ#8Ø$6Ø@Ø BØ "ðð ððk>
ð >
ˆð~ ð 	-Ø ,ˆE�*Ñà×.Ò.Ñ0Ô0ˆØ�]Š]‰_Œ_ð 
	?ð 
	?ÝŒJ�uÑÔÐàcØAðˆDõ Ô(Ñ*Ô*ð ?ð ?Øð Yð Y�CÝÔ+¨H°cÕ;WÑXÔXÐXÐXØ*×6Ò6°vÑ>Ô>�
Ø*×6Ò6°vÑ>Ô>�
ð	?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð
	?ð 
	?ð 
	?ñ 
	?ô 
	?ð 
	?ð 
	?ð 
	?ð 
	?ð 
	?ð 
	?øøøð 
	?ð 
	?ð 
	?ð 
	?õ Œ\�"œ'Ÿ,š, v¨v°zÑBÔBÑCÔCð 	1ÀsÝ  §¢¡¤Ñ0Ô0ˆNð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ •R”W—\’\ &¨&°*Ñ=Ô=Ñ>Ô>ð 	WÀ'Ý  ×!1Ò!1Ñ!3Ô!3Ñ4Ô4ˆNÝ˜7Ÿ<š<Ð(DÑEÔEÀwÑOÔOˆHÝØ—’ÐEÑFÔFÈñô ˆGõ ˜'Ÿ,š,Ð'KÑLÔLÈgÑVÔVˆGð	Wð 	Wð 	Wñ 	Wô 	Wð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wøøøð 	Wð 	Wð 	Wð 	Wð Ð!3Ð 4Ñ4ð 9
ð 9
ð 9
ò 
ð 
ð 
ð 
ð0 ð "
ð "
ð "
ò 
ð 
ð 
ð 
ð Ð=Ò=Ð=Ð=Ð=ð 0ØØ'Ø9Ø$Ø¥¥KÐ0KÑ$LÔ$LÑ MÔ MÑMØÝ•+ÐRÑSÔSÑTÔTñUð	
ð 
	6ð 
	6ˆDð ˜8Ð#Ð#Ð# d¨HÐ%5Ñ#Ô#Ð#Ð#à�~Š~ÑÔ×(Ò(Ð)?Ñ@Ô@Ð@Ð@Ð@Ø�}Š}‰ŒÐ"IÒIÐIÐIÐIÐIÐIs\   Á,C4ÂACÃC4ÃC!	Ã!C4Ã$C!	Ã%C4Ã4C8Ã;C8Ä2"E Å E$Å'E$ÆBH0È0H4È7H4c                 ód  — t          d¦  «        t          d¦  «        t          d¦  «        dœ}|                      ¦   «         }|                     ¦   «         5  t          j        |¦  «         |                     d¦  «        }|                     d¦  «        }d d d ¦  «         n# 1 swxY w Y   |dz                       ¦   «         sJ ‚|dz                       ¦   «         sJ ‚|dz                       ¦   «         rJ ‚|d	z                       ¦   «         rJ ‚|d
z                       ¦   «         rJ ‚|dz                       ¦   «         rJ ‚|dz                       ¦   «         rJ ‚|dz                       ¦   «         rJ ‚t          j	        t          j                             |d|¦  «        ¦  «        5 }t          |                     d¦  «                             ¦   «         d¦  «        }|                     ¦   «         }d|vsJ ‚	 d d d ¦  «         n# 1 swxY w Y   t!          t          j                             |d|¦  «        ¦  «        5 }	t          |	                     d¦  «        d¦  «        }
|	                     ¦   «         }d|vsJ ‚	 d d d ¦  «         n# 1 swxY w Y   ||
fD ]}dD ]}||v sJ ‚Œ	dD ]}||vsJ ‚Œ	Œd S )NaR  
                [build-system]
                requires = ["setuptools", "wheel"]
                build-backend = "setuptools.build_meta"

                [project]
                name = "foo"
                description = "This is a Python package"
                version = "42"
                dependencies = ["six"]
                zO
                def run():
                    print('hello')
                z•
                __import__('setuptools').setup(
                    name='bar',
                    version='13',
                )
                )r¦   ri   rh   rÁ   ztemp/foo-42.tar.gzztemp/foo-42-py3-none-any.whlztemp/bar-13.tar.gzztemp/bar-42.tar.gzztemp/foo-13.tar.gzztemp/bar-13-py3-none-any.whlztemp/bar-42-py3-none-any.whlztemp/foo-13-py3-none-any.whlzfoo-42/PKG-INFOr©   zbar-13/PKG-INFOzfoo-42.dist-info/METADATAzbar-13.dist-info/METADATA)z	Name: foozVersion: 42)z	Name: barzVersion: 13)r   ro   ru   r   rs   ræ   r’   Úexistsrç   r­   r2   r“   rS   Úextractfileré   rè   r   r–   )r   rv   r²   rx   rí   rš   rî   Úpkg_infoÚmembersr›   rð   Úfileró   s                r   Ú(test_static_metadata_in_pyproject_configz=TestBuildMetaBackend.test_static_metadata_in_pyproject_configÑ  sÀ  € õ #ð
ñô õ ðñô õ ðñô ð)
ð 
ˆð: ×.Ò.Ñ0Ô0ˆØ�]Š]‰_Œ_ð 	;ð 	;ÝŒJ�uÑÔÐØ&×2Ò2°6Ñ:Ô:ˆJØ&×2Ò2°6Ñ:Ô:ˆJð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð
 Ð-Ñ-×5Ò5Ñ7Ô7Ð7Ð7Ð7ØÐ7Ñ7×?Ò?ÑAÔAÐAÐAÐAØÐ1Ñ1×9Ò9Ñ;Ô;Ð;Ð;Ð;ØÐ1Ñ1×9Ò9Ñ;Ô;Ð;Ð;Ð;ØÐ1Ñ1×9Ò9Ñ;Ô;Ð;Ð;Ð;ØÐ;Ñ;×CÒCÑEÔEÐEÐEÐEØÐ;Ñ;×CÒCÑEÔEÐEÐEÐEØÐ;Ñ;×CÒCÑEÔEÐEÐEÐEåŒ\�"œ'Ÿ,š, v¨v°zÑBÔBÑCÔCð 	4ÀsÝ˜3Ÿ?š?Ð+<Ñ=Ô=×BÒBÑDÔDÀgÑNÔNˆHØ—l’l‘n”nˆGØ$¨GÐ3Ð3Ð3Ð3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ
 •R”W—\’\ &¨&°*Ñ=Ô=Ñ>Ô>ð 	>À'Ý˜7Ÿ<š<Ð(CÑDÔDÀgÑNÔNˆHØ×&Ò&Ñ(Ô(ˆGØ.°gÐ=Ð=Ð=Ð=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð
 ˜hÐ&ð 	(ð 	(ˆDØ4ð $ð $�Ø˜t�|�|�|�|�|Ø4ð (ð (�Ø 4Ð'Ð'Ð'Ð'Ð'ð(ð	(ð 	(s7   Á?B!Â!B%Â(B%Æ'AHÈHÈHÈ=>JÊJÊJc                 ó  — t           j                             d¦  «        }t          j        |¦  «         |                     |¦  «        }t           j                             t           j                             ||¦  «        ¦  «        sJ ‚d S )Nz	pip-sdist)r2   r   r3   r‘   ræ   r”   r“   ©r   rx   r˜   Ú
sdist_names       r   Útest_build_sdistz%TestBuildMetaBackend.test_build_sdist  sh   € Ý”7—?’? ;Ñ/Ô/ˆÝ
Œ�HÑÔÐØ"×.Ò.¨xÑ8Ô8ˆ
åŒw�~Š~�bœgŸlšl¨8°ZÑ@Ô@ÑAÔAÐAÐAÐAÐAÐAr   c                 ó  — t           j                             d¦  «        }t          j        |¦  «         |                     |¦  «        }t           j                             t           j                             ||d¦  «        ¦  «        sJ ‚d S )Núpip-dist-infoÚMETADATA)r2   r   r3   r‘   Ú prepare_metadata_for_build_wheelr”   r“   )r   rx   r˜   Ú	dist_infos       r   Ú%test_prepare_metadata_for_build_wheelz:TestBuildMetaBackend.test_prepare_metadata_for_build_wheel  sj   € Ý”7—?’? ?Ñ3Ô3ˆÝ
Œ�HÑÔÐà!×BÒBÀ8ÑLÔLˆ	åŒw�~Š~�bœgŸlšl¨8°YÀ
ÑKÔKÑLÔLÐLÐLÐLÐLÐLr   c                 óä   — dD ]}t          j        |d¬¦  «         Œ|                     d¦  «        }t           j                             t           j                             |d¦  «        ¦  «        sJ ‚dS )zy
        Some users might pass metadata_directory pre-populated with `.tox` or `.venv`.
        See issue #3523.
        )z?.tox/python/lib/python3.10/site-packages/attrs-22.1.0.dist-infozD.tox/python/lib/python3.10/site-packages/autocommand-2.2.1.dist-infoz>.nox/python/lib/python3.10/site-packages/build-0.8.0.dist-infoz4.venv/python3.10/site-packages/click-8.1.3.dist-infoz5venv/python3.10/site-packages/distlib-0.3.5.dist-infoz4env/python3.10/site-packages/docutils-0.19.dist-infoT)Úexist_okr   r  N)r2   r‘   r  r   r”   r“   )r   rx   Úpre_existingr  s       r   Útest_prepare_metadata_inplacez2TestBuildMetaBackend.test_prepare_metadata_inplace  sp   € ð

ð 	5ð 	5ˆLõ ŒK˜¨tÐ4Ñ4Ô4Ð4Ð4Ø!×BÒBÀ3ÑGÔGˆ	ÝŒw�~Š~�bœgŸlšl¨9°jÑAÔAÑBÔBÐBÐBÐBÐBÐBr   c                 óì   — t           j                             d¦  «        }|                     |¦  «        }t           j                             t           j                             ||¦  «        ¦  «        sJ ‚d S )NÚdist)r2   r   r3   ræ   r”   r“   rý   s       r   Útest_build_sdist_explicit_distz3TestBuildMetaBackend.test_build_sdist_explicit_dist0  sZ   € õ ”7—?’? 6Ñ*Ô*ˆØ"×.Ò.¨xÑ8Ô8ˆ
ÝŒw�~Š~�bœgŸlšl¨8°ZÑ@Ô@ÑAÔAÐAÐAÐAÐAÐAr   c                 ó"  — t           j                             d¦  «        }t          j        |¦  «         |                     |¦  «        }t           j                             t           j                             ||¦  «        ¦  «        sJ ‚t           j                             d¦  «        }t           j                             |¦  «        st           j                             d¦  «        }t          |dd¬¦  «        5 }| 	                    ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |dd¬¦  «        5 }| 
                    |                     dd	¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         t          j        |¦  «         |                     d¦  «        }t           j                             t           j                             t           j                             d¦  «        |¦  «        ¦  «        sJ ‚d S )
NÚ	out_sdistrh   rj   Úrtr©   rª   r¨   zversion='0.0.0'zversion='0.0.1')r2   r   r3   r‘   ræ   r”   r“   rö   r­   ré   r®   ÚreplaceÚshutilÚrmtree)r   rx   Úsdist_into_directoryrþ   Ú	setup_locÚfile_handlerÚcontents          r   Útest_build_sdist_version_changez4TestBuildMetaBackend.test_build_sdist_version_change7  s,  € Ý!œwŸš¨{Ñ;Ô;ÐÝ
ŒÐ(Ñ)Ô)Ð)à"×.Ò.Ð/CÑDÔDˆ
ÝŒw�~Š~�bœgŸlšlÐ+?ÀÑLÔLÑMÔMÐMÐMÐMõ
 ”G—O’O JÑ/Ô/ˆ	ÝŒw�~Š~˜iÑ(Ô(ð 	5ÝœŸš¨Ñ4Ô4ˆIå�)˜T¨GÐ4Ñ4Ô4ð 	*¸Ø"×'Ò'Ñ)Ô)ˆGð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*å�)˜T¨GÐ4Ñ4Ô4ð 	V¸Ø×Ò˜wŸšÐ/@ÐBSÑTÔTÑUÔUÐUð	Vð 	Vð 	Vñ 	Vô 	Vð 	Vð 	Vð 	Vð 	Vð 	Vð 	Vøøøð 	Vð 	Vð 	Vð 	Võ 	ŒÐ*Ñ+Ô+Ð+Ý
ŒÐ(Ñ)Ô)Ð)à"×.Ò.¨{Ñ;Ô;ˆ
ÝŒw�~Š~�bœgŸlšl­2¬7¯?ª?¸;Ñ+GÔ+GÈÑTÔTÑUÔUÐUÐUÐUÐUÐUs$   Ã7DÄDÄDÄ5*E+Å+E/Å2E/c                 ó²  — t          d¦  «        dt          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }|                     d¦  «        }t          j        t          j                             d|¦  «        ¦  «        5 }t          d„ | 
                    ¦   «         D ¦   «         ¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nú°
                __import__('setuptools').setup(
                    name='foo',
                    version='0.0.0',
                    py_modules=['hello']
                )r¼   r¤   )rh   ri   r¦   rÁ   c              3   ó   K  — | ]}d |v V — Œ	dS )r¦   Nr!   ©rŒ   r,   s     r   rŽ   zNTestBuildMetaBackend.test_build_sdist_pyproject_toml_exists.<locals>.<genexpr>g  s(   è è € ÐKÐK°DÐ'¨4Ð/ÐKÐKÐKÐKÐKÐKr   ©r   r   rs   ro   ræ   rç   r­   r2   r“   Úanyrè   ©r   r±   r²   rx   Ú
targz_pathrî   s         r   Ú&test_build_sdist_pyproject_toml_existsz;TestBuildMetaBackend.test_build_sdist_pyproject_toml_existsP  s/  € åðñô ð Ý"ðñô ð
ð 
ˆõ$ 	Œ
�5ÑÔÐØ×.Ò.Ñ0Ô0ˆØ"×.Ò.¨vÑ6Ô6ˆ
ÝŒ\�"œ'Ÿ,š, v¨zÑ:Ô:Ñ;Ô;ð 	L¸sÝÐKÐK¸C¿LºL¹N¼NÐKÑKÔKÑKÔKÐKÐKÐKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð 	Lð 	Ló   Â.CÃCÃCc                 óˆ  — t          j        t          d         ¦  «         |                      ¦   «         }|                     d¦  «        }t          j        t          j                              d|¦  «        ¦  «        5 }t          d„ | 
                    ¦   «         D ¦   «         ¦  «        sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rÁ   c              3   ó   K  — | ]}d |v V — Œ	dS ©rh   Nr!   r  s     r   rŽ   zHTestBuildMetaBackend.test_build_sdist_setup_py_exists.<locals>.<genexpr>q  s'   è è € ÐEÐE¨d�z TÐ)ÐEÐEÐEÐEÐEÐEr   )r   rs   Údefnsro   ræ   rç   r­   r2   r“   r  rè   )r   r±   rx   r  rî   s        r   Ú test_build_sdist_setup_py_existsz5TestBuildMetaBackend.test_build_sdist_setup_py_existsi  sþ   € õ 	Œ
•5˜”8ÑÔÐà×.Ò.Ñ0Ô0ˆØ"×.Ò.¨vÑ6Ô6ˆ
ÝŒ\�"œ'Ÿ,š, v¨zÑ:Ô:Ñ;Ô;ð 	F¸sÝÐEÐE°c·l²l±n´nÐEÑEÔEÑEÔEÐEÐEÐEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fs   Á;.B7Â7B;Â>B;c                 ó²  — t          d¦  «        dt          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }|                     d¦  «        }t          j        t          j                             d|¦  «        ¦  «        5 }t          d„ | 
                    ¦   «         D ¦   «         ¦  «        rJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nzˆ
        __import__('setuptools').setup(
            name='foo',
            version='0.0.0',
            py_modules=['hello']
        )r¼   z"
        exclude setup.py
        )rh   ri   r¾   rÁ   c              3   ó   K  — | ]}d |v V — Œ	dS r$  r!   r  s     r   rŽ   zSTestBuildMetaBackend.test_build_sdist_setup_py_manifest_excluded.<locals>.<genexpr>‹  s'   è è € ÐIÐI°$˜:¨Ð-ÐIÐIÐIÐIÐIÐIr   r  r  s         r   Ú+test_build_sdist_setup_py_manifest_excludedz@TestBuildMetaBackend.test_build_sdist_setup_py_manifest_excludeds  s1  € õ ðñô ð Ýðñô ð
ð 
ˆõ" 	Œ
�5ÑÔÐà×.Ò.Ñ0Ô0ˆØ"×.Ò.¨vÑ6Ô6ˆ
ÝŒ\�"œ'Ÿ,š, v¨zÑ:Ô:Ñ;Ô;ð 	J¸sÝÐIÐI¸#¿,º,¹.¼.ÐIÑIÔIÑIÔIÐIÐIÐIÐIð	Jð 	Jð 	Jñ 	Jô 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jøøøð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jr!  c                 óÀ   — t          d¦  «        dt          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }|                     d¦  «         d S )Nr  r¼   zE
                [sdist]
                formats=zip
                ©rh   ri   rj   rÁ   )r   r   rs   ro   ræ   )r   r±   r²   rx   s       r   Ú3test_build_sdist_builds_targz_even_if_zip_indicatedzHTestBuildMetaBackend.test_build_sdist_builds_targz_even_if_zip_indicated�  st   € åðñô ð Ýðñô ð
ð 
ˆõ$ 	Œ
�5ÑÔÐà×.Ò.Ñ0Ô0ˆØ×!Ò! &Ñ)Ô)Ð)Ð)Ð)r   z´
            __import__('setuptools').setup(
                name='foo',
                version=__import__('hello').__version__,
                py_modules=['hello']
            )z__version__ = "0.0.0"z9
            [sdist]
            formats=zip
            r+  c                 óò   — t          j        | j        ¦  «         |                      ¦   «         }t	          j        t          d¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz^No module named 'hello'$©ÚmatchrÁ   )r   rs   Ú_relative_path_import_filesro   r<   ÚraisesÚImportErrorræ   ©r   r±   rx   s      r   Ú%test_build_sdist_relative_path_importz:TestBuildMetaBackend.test_build_sdist_relative_path_import·  s´   € ÝŒ
�4Ô3Ñ4Ô4Ð4Ø×.Ò.Ñ0Ô0ˆÝŒ]�;Ð.IÐJÑJÔJð 	.ð 	.Ø×%Ò% fÑ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s   Á	A,Á,A0Á3A0zX
            [project]
            name = "proj"
            version = "42"
            Úprojr½   r¼   )r¦   r¿   c                 óÜ   — t          t          |¦  «                             d¦  «        ¦  «        }|sJ ‚|D ]5}|                     ¦   «         st	          j        |¦  «        j        dk    sJ ‚Œ6dS )z?All files in the directory should be either links or hard linksz**/*r   N)Úlistr   ÚglobÚ
is_symlinkr2   ÚstatÚst_nlink)r   Ú
parent_dirr²   rú   s       r   Ú_assert_link_treez&TestBuildMetaBackend._assert_link_treeÈ  sw   € å•T˜*Ñ%Ô%×*Ò*¨6Ñ2Ô2Ñ3Ô3ˆØˆˆˆuØð 	Cð 	CˆDØ—?’?Ñ$Ô$ÐB­¬°©¬Ô(>ÀÒ(BÐ(BÐ(BÐBøð	Cð 	Cr   c                 ó  — t          j        | j        ¦  «         |                      ¦   «         }t	          d¦  «                             ¦   «         rJ ‚|                     d¦  «         t	          d¦  «                             ¦   «         rJ ‚dS )zù
        Sanity check to ensure tests with --mode=strict are different from the ones
        without --mode.

        --mode=strict should create a local directory with a package tree.
        The directory should not get created otherwise.
        rs   rÁ   N)r   rs   Ú_simple_pyproject_examplero   r   rö   Úbuild_editabler3  s      r   Ú%test_editable_without_config_settingsz:TestBuildMetaBackend.test_editable_without_config_settingsÏ  s~   € õ 	Œ
�4Ô1Ñ2Ô2Ð2Ø×.Ò.Ñ0Ô0ˆÝ˜‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)Ø×$Ò$ VÑ,Ô,Ð,Ý˜‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)Ð)Ð)r   c                 ó’  — dddgi}t          j        | j        ¦  «         |                      ¦   «         }t	          d¦  «                             ¦   «         rJ ‚t	          d¦  «                             ¦   «          |                     d|¦  «         |                     d|¦  «         t	          d¦  «                             ¦   «         sJ ‚d S )Nz--build-optionÚ	build_extz	--inplacers   zbuild/proj-42-py3-none-any.whl)	r   rs   r?  ro   r   rö   Úmkdirr  r’   ©r   r±   Úconfig_settingsrx   s       r   Útest_build_wheel_inplacez-TestBuildMetaBackend.test_build_wheel_inplaceÝ  s¾   € Ø+¨k¸;Ð-GÐHˆÝŒ
�4Ô1Ñ2Ô2Ð2Ø×.Ò.Ñ0Ô0ˆÝ˜‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)ÝˆW‰Œ×ÒÑÔÐØ×6Ò6°wÀÑPÔPÐPØ×!Ò! '¨?Ñ;Ô;Ð;ÝÐ4Ñ5Ô5×<Ò<Ñ>Ô>Ð>Ð>Ð>Ð>Ð>r   rF  zeditable-modeÚstrictc                 ó�  — t          j        i | j        ¥di i¥¦  «         t          d¦  «                             ¦   «         rJ ‚|                      ¦   «         }|                     d|¦  «         |                     d|d¦  «         |                      t          t          d¦  «         
                    d¦  «        ¦  «        ¦  «         d S )NÚ_metars   rÁ   z__editable__.*)r   rs   r?  r   rö   ro   Ú#prepare_metadata_for_build_editabler@  r=  Únextr8  rE  s       r   Ú"test_editable_with_config_settingsz7TestBuildMetaBackend.test_editable_with_config_settingsç  s¹   € åŒ
ÐB�dÔ4ÐB°g¸rÐBÐBÑCÔCÐCÝ˜‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)Ø×.Ò.Ñ0Ô0ˆØ×9Ò9¸'À?ÑSÔSÐSØ×$Ò$ V¨_¸gÑFÔFÐFØ×Ò�t¥D¨¡M¤M×$6Ò$6Ð7GÑ$HÔ$HÑIÔIÑJÔJÐJÐJÐJr   )Úsetup_literalÚrequirementsz'foo'r»   z['foo']z'foo\n'z	'foo\n\n'z['foo', 'bar']Úbarz'# Has a comment line\nfoo'z'foo # Has an inline comment'z'foo \\\n >=3.0'zfoo>=3.0z
'foo\nbar'z'foo\nbar\n'z['foo\n', 'bar\n']Ú	use_wheelTFc                 ó:  — t          d¦  «                             |¬¦  «        t          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }|r|j        }n|j        }t          |¦  «        } |¦   «         }	|t          |	¦  «        k    sJ ‚d S )Na  
                from setuptools import setup

                setup(
                    name="qux",
                    version="0.0.0",
                    py_modules=["hello"],
                    setup_requires={setup_literal},
                )
            )rN  rf   rg   )r   Úformatr   rs   ro   r|   r„   r}   )
r   rN  rO  rQ  r±   r²   rx   Úget_requiresr€   r   s
             r   Útest_setup_requiresz(TestBuildMetaBackend.test_setup_requiresð  sº   € õ& ð	ñô ÷ Šf =ˆfÑ1Ô1Ýðñô ð
ð 
ˆõ* 	Œ
�5ÑÔÐà×.Ò.Ñ0Ô0ˆàð 	FØ(ÔEˆLˆLà(ÔEˆLõ ˜,Ñ'Ô'ˆØ�‘”ˆà�6 &™>œ>Ò)Ð)Ð)Ð)Ð)Ð)r   c                 óÒ   — t          d¦  «        t          d¦  «        dddœ}t          j        |¦  «         |                      ¦   «         }|                     ¦   «         }|dgk    sJ ‚d S )Nzd
                [project]
                name = "proj"
                version = "42"
            z¯
                __import__('setuptools').setup(
                    setup_requires=["foo"],
                    py_modules = ["hello", "world"]
                )
            z'hello'z'world')r¦   rh   ri   r‡   r»   )r   r   rs   ro   r|   )r   r±   r²   rx   Úsetup_requiress        r   Ú'test_setup_requires_with_auto_discoveryz<TestBuildMetaBackend.test_setup_requires_with_auto_discovery&  s‹   € õ
 #ðñô õ ðñô ð "Ø!ð#
ð 
ˆõ& 	Œ
�5ÑÔÐØ×.Ò.Ñ0Ô0ˆØ&×CÒCÑEÔEˆØ % Ò(Ð(Ð(Ð(Ð(Ð(r   c                 ó$  — t          d¦  «        t          d¦  «        dœ}t          j        |¦  «         |                      ¦   «         }t          j                             d¦  «        }t	          j        |¦  «         |                     |¦  «         d S )NaN  
                        from setuptools import setup

                        setup(
                            name="qux",
                            version="0.0.0",
                            py_modules=["hello"],
                            setup_requires=["does-not-exist >99"],
                        )
                    z[
                    def run():
                        print('hello')
                    rg   r  )r   r   rs   ro   r2   r3   r‘   r  )r   r±   r²   rx   r˜   s        r   Ú test_dont_install_setup_requiresz5TestBuildMetaBackend.test_dont_install_setup_requiresB  s–   € åð	ñô õ ðñô ð
ð 
ˆõ* 	Œ
�5ÑÔÐà×.Ò.Ñ0Ô0ˆå”7—?’? ?Ñ3Ô3ˆÝ
Œ�HÑÔÐð 	×6Ò6°xÑ@Ô@Ð@Ð@Ð@r   rh   aD  
            import os
            import sys

            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
            )

            sys_argv = os.path.abspath(sys.argv[0])
            file_path = os.path.abspath('setup.py')
            assert sys_argv == file_path
            c                 óî   — t          j        | j        ¦  «         |                      ¦   «         }t	          j        t          ¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©NrÁ   )r   rs   Ú_sys_argv_0_passthroughro   r<   r1  ÚAssertionErrorræ   r3  s      r   Útest_sys_argv_passthroughz.TestBuildMetaBackend.test_sys_argv_passthroughu  s®   € ÝŒ
�4Ô/Ñ0Ô0Ð0Ø×.Ò.Ñ0Ô0ˆÝŒ]�>Ñ*Ô*ð 	.ð 	.Ø×%Ò% fÑ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.s   ÁA*Á*A.Á1A.a  
            import os
            assert os.path.isabs(__file__)
            __import__('setuptools').setup(
                name='foo',
                version='0.0.0',
                py_modules=['hello'],
                setup_requires=['six'],
            )
            c                 óŠ   — t          j        | j        ¦  «         |                      ¦   «         }|                     d¦  «         d S r\  )r   rs   Ú_setup_py_file_abspathro   ræ   r3  s      r   Útest_setup_py_file_abspathz/TestBuildMetaBackend.test_setup_py_file_abspathŠ  s@   € ÝŒ
�4Ô.Ñ/Ô/Ð/Ø×.Ò.Ñ0Ô0ˆØ×!Ò! &Ñ)Ô)Ð)Ð)Ð)r   Ú
build_hook)ræ   r’   c                 óø   — ddi}t          j        |¦  «         t          j        d¦  «        }t	          j        t          |¬¦  «        5   t          ||¦  «        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrh   r¼   zNo distribution was found.r.  rÁ   )r   rs   ÚreÚescaper<   r1  Ú
ValueErrorrb   )r   rx   rc  r²   rì   s        r   Útest_build_with_empty_setuppyz2TestBuildMetaBackend.test_build_with_empty_setuppy�  s¿   € à˜RÐ ˆÝŒ
�5ÑÔÐåŒiÐ4Ñ5Ô5ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	7ð 	7Ø.�G�M :Ñ.Ô.¨vÑ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s   ÁA/Á/A3Á6A3)+r   r   r    r   ro   r<   Úfixturer%  rx   r�   r…   rŸ   ÚmarkÚparametrizer¸   ÚSETUP_SCRIPT_STUBrô   rû   rÿ   r  r	  r  r  r   r&  r)  r,  r   r0  r4  r?  r=  rA  rG  rM  rU  rX  rZ  r]  r_  ra  rb  rh  r!   r   r   rl   rl   â   s  € € € € € Ø*€Lð<ð <ð <ð €V„^˜5Ð!Ñ!Ô!ð+ð +ñ "Ô!ð+ð
2ð 2ð 2ð
2ð 2ð 2ð
!ð !ð !ð( „[×Ò˜\Ð+=Ñ>Ô>ð0Ið 0Iñ ?Ô>ð0Iðd „[×Ò˜^¨dÐ4EÐ-FÑGÔGðOJð OJñ HÔGðOJðb=(ð =(ð =(ð~Bð Bð BðMð Mð MðCð Cð Cð"Bð Bð BðVð Vð Vð2Lð Lð Lð2Fð Fð FðJð Jð Jð4*ð *ð *ð2 �Dðñ
ô 
ð ,Ø�Tðñ
ô 
ð#ð #Ðð$.ð .ð .ð ˜$ðñ
ô 
ð ˜¨Ð+Ð,ð	!ð 	!ÐðCð Cð Cð*ð *ð *ð?ð ?ð ?ð „[×ÒÐ.°/À8Ð1LÐ0MÑNÔNðKð Kñ OÔNðKð „[×ÒØ)à�u�gÐØ˜˜Ð Ø˜%˜Ð!Ø˜E˜7Ð#Ø  u˜~Ð.Ø+¨e¨WÐ5Ø-°¨wÐ7Ø  : ,Ð/Ø˜U E˜NÐ+Ø˜u e˜nÐ-Ø" U¨E NÐ3ð	
ñô ð  „[×Ò˜[¨4°¨-Ñ8Ô8ð#*ð #*ñ 9Ô8ñ!ô ð"#*ðJ)ð )ð )ð8Að Að AðD 	�D�Dðñ
ô 
ðÐð$.ð .ð .ð 	�D�Dð	ñ
ô 
ðÐð*ð *ð *ð
 „[×Ò˜\Ð+IÑJÔJð7ð 7ñ KÔJð7ð 7ð 7r   rl   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestBuildMetaLegacyBackendz setuptools.build_meta:__legacy__c                 óŠ   — t          j        | j        ¦  «         |                      ¦   «         }|                     d¦  «         d S r\  )r   rs   r0  ro   ræ   r3  s      r   r4  z@TestBuildMetaLegacyBackend.test_build_sdist_relative_path_import�  s@   € åŒ
�4Ô3Ñ4Ô4Ð4à×.Ò.Ñ0Ô0ˆØ×!Ò! &Ñ)Ô)Ð)Ð)Ð)r   c                 óŠ   — t          j        | j        ¦  «         |                      ¦   «         }|                     d¦  «         d S r\  )r   rs   r]  ro   ræ   r3  s      r   r_  z4TestBuildMetaLegacyBackend.test_sys_argv_passthrough¤  s@   € ÝŒ
�4Ô/Ñ0Ô0Ð0à×.Ò.Ñ0Ô0ˆØ×!Ò! &Ñ)Ô)Ð)Ð)Ð)r   N)r   r   r    r   r4  r_  r!   r   r   rn  rn  ™  s7   € € € € € Ø5€Lð*ð *ð *ð*ð *ð *ð *ð *r   rn  z/ignore::setuptools.SetuptoolsDeprecationWarningc                 óÖ   — |                       |¦  «         d}|dz                       t          |¦  «        d¬¦  «         t          d¬¦  «        }|                     ¦   «         g k    sJ ‚dS )zHSetuptools should be resilient to setup.py with ``sys.exit(0)`` (#3973).zr
        import sys, setuptools
        setuptools.setup(name='foo', version='0.0.0')
        sys.exit(0)
        rh   r©   rª   r   rn   N)r]   Ú
write_textr   r#   r|   ©ÚmonkeypatchÚtmp_pathÚsetuppyrd   s       r   Útest_sys_exit_0_in_setuppyrw  «  sy   € ð ×Ò�hÑÔÐð€Gð
 �
Ñ×&Ò&¥t¨G¡}¤}¸wÐ&ÑGÔGÐGÝÐ(?Ð@Ñ@Ô@€GØ×/Ò/Ñ1Ô1°RÒ7Ð7Ð7Ð7Ð7Ð7r   c                 ó  — |                       |¦  «         d}|dz                       |d¬¦  «         t          j        t          d¬¦  «        5  t          d¬¦  «        }|                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )	Nz"import sys; sys.exit('some error')rh   r©   rª   z
some errorr.  r   rn   )r]   rr  r<   r1  Ú
SystemExitr#   r|   rs  s       r   Útest_system_exit_in_setuppyrz  ¹  sÕ   € Ø×Ò�hÑÔÐØ2€GØ�
Ñ×&Ò& w¸Ð&ÑAÔAÐAÝ	Œ•z¨Ð	6Ñ	6Ô	6ð /ð /ÝÐ,CÐDÑDÔDˆØ×,Ò,Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   Á%A?Á?BÂB).rK   r`   r2   re  r  rO   Úsysrç   rã   Ú
concurrentr   Úpathlibr   Útypingr   r   r›   r   r<   Újaracor   Úpackaging.requirementsr	   Úsetuptools.warningsr
   Útextwrapr   rl  ÚintÚgetenvr8   Úbuiltin_module_namesrB   rj  ÚskipifÚplatformÚ
pytestmarkr   r#   r4   r%  rl   rn  rå   rw  rz  r!   r   r   ú<module>r‰     sÂ  ðØ Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .à <Ð <Ð <Ð <Ð <Ð <à Ð Ð Ð Ð Ð à6Ð ð ˆ#ˆiˆbŒiÐ.°Ñ6Ô6Ñ
7Ô
7€Ø
˜Ô0Ð
0€ð Œ[×ÒØ„L�GÒÐ' ðð  ñ ô €
ð)ð )ð )ð )ð )ñ )ô )ð )ð Pð  Pð  Pð  Pð  PÐ#ñ  Pô  Pð  PðF3ð 3ð 3ð 3ð 3Ð)ñ 3ô 3ð 3ð, �Dðñ	
ô 	
ð �Dðñ
ô 
ðð ð& �Dðñ

ô 

ð �Dðñ
ô 
ðð ð( �Dðñ
ô 
ð �Dðñ
ô 
ðð ð. 	�D�Dðñ
ô 
ðð4 �Tðñ

ô 

ð �Dðñ
ô 
ðð ð( �Tðñ

ô 

ð 7Ø�Dðñ
ô 
ðð ðQ|	€ð~t
7ð t
7ð t
7ð t
7ð t
7ñ t
7ô t
7ð t
7ðn*ð *ð *ð *ð *Ð!5ñ *ô *ð *ð$ „×ÒÐMÑNÔNð
8ð 
8ñ OÔNð
8ð/ð /ð /ð /ð /r   