§ w<ˆj(‚ã ó —ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z ddl mZmZddlmZddlZddlmZddlmZddlmZd d lmZd Zeejd d ¦«¦«ZdejvZ ej! "ej#dkoe d¬¦«Z$Gd„d¦«Z%Gd„de%¦«Z&Gd„de%¦«Z'ed¦«ed¦«dœed¦«ed¦«dœed¦«ed¦«dœded¦«ied¦«ed ¦«d!œed¦«d ed ¦«d"œgZ(Gd#„d$¦«Z)Gd%„d&e)¦«Z*ej! +d'¦«d(„¦«Z,d)„Z-dS)*é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ó—eZdZddd„ZdS)ÚBuildBackendBaseú.Núsetuptools.build_metaÚreturncó4—||_|pi|_||_dS)N)ÚcwdÚenvÚ backend_name)Úselfrrrs úr/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/setuptools/tests/test_build_meta.pyÚ__init__zBuildBackendBase.__init__&s"€ØˆŒØ�9˜"ˆŒØ(ˆÔÐÐó)rNr©rN)Ú__name__Ú __module__Ú __qualname__r©rrrr%s-€€€€€ð)ð)ð)ð)ð)ð)ð)rrcóJ‡—eZdZdZd ˆfd„ Zdededeffd„Zd„Z ˆxZ S) Ú BuildBackendzPEP 517 Build BackendrNcón•—t¦«j|i|¤Žtjd¬¦«|_dS)Nr )Ú max_workers)ÚsuperrrÚProcessPoolExecutorÚpool)rÚargsÚkwargsÚ __class__s €rrzBuildBackend.__init__/s8ø€Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)ÝÔ/¸AÐ>Ñ>Ô>ˆŒ ˆ ˆ rÚname.c󇇗ˆˆfd„}|S)ú.method6s;ø€Ý”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/Â/AE Ä=E r#)rr.rHs`` rÚ __getattr__zBuildBackend.__getattr__3s)øø€ð ð ð ð ð ð ð ˆ rcóô—|€dStjtt¦«5t j|tjdkr tjn tj ¦«ddd¦«dS#1swxYwYdS)NÚnt) Ú contextlibÚsuppressÚProcessLookupErrorrBr3Úkillr.ÚsignalÚSIGTERMÚSIGKILL)rrGs rr<zBuildBackend._killHs¼€Ø ˆ;Ø ˆ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ð Ps¤ed?¦«iZ&d@„Z'd>edA¦«iZ(dB„Z)ej   dCdD¦«dE„¦«Z*d S)FÚTestBuildMetaBackendrcó,—t|j¬¦«S)N©r)r%r)rs rÚget_build_backendz&TestBuildMetaBackend.get_build_backendås€Ý¨Ô):Ð;Ñ;Ô;Ð;r)Úparamsc#óàK—tj|jt|¦«¬¦«| ¦«5| ¦«V—ddd¦«dS#1swxYwYdS)N)Úprefix)rÚbuildÚparamrTÚas_cwdrp)rÚtmpdirÚrequests rÚ build_backendz"TestBuildMetaBackend.build_backendès­èè€å Œ �7”=­¨V©¬Ð5Ñ5Ô5Ð5Ø �]Š]‰_Œ_ð +ð +Ø×(Ò(Ñ*Ô*Ð *Ð *Ð *ð +ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s¿A#Á#A'Á*A'cóx—| ¦«}dg}t|¦«t|¦«ksJ‚dS©NÚsix)Úget_requires_for_build_wheelÚsorted©rryÚactualÚexpecteds rÚ!test_get_requires_for_build_wheelz6TestBuildMetaBackend.test_get_requires_for_build_wheelîó?€Ø×;Ò;Ñ=Ô=ˆØ�7ˆÝ�f‰~Œ~¥¨Ñ!1Ô!1Ò1Ð1Ð1Ð1Ð1Ð1rcóx—| ¦«}dg}t|¦«t|¦«ksJ‚dSr{)Úget_requires_for_build_sdistr~rs rÚ!test_get_requires_for_build_sdistz6TestBuildMetaBackend.test_get_requires_for_build_sdistórƒrcóD—tj d¦«}tj|¦«| |¦«}tj ||¦«}tj |¦«sJ‚tj d¦«rJ‚t|¦«5}t|  ¦«¦«}ddd¦«n #1swxYwYd„|D¦«}d„|D¦«}t|¦«dksJ‚dS)Nz pip-wheelúworld.pyc3óDK—|]}| d¦«¯|V—ŒdS)z.pyN©Úendswith©Ú.0Úfs rú z8TestBuildMetaBackend.test_build_wheel..s3èè€ÐIÐI °q·z²zÀ%Ñ7HÔ7HÐI˜!ÐIÐIÐIÐIÐIÐIrcó<—g|]}| d¦«°|‘ŒS)rirŠrŒs rú z9TestBuildMetaBackend.test_build_wheel.. s)€ÐKÐKÐK˜°A·J²J¸zÑ4JÔ4JÐK�1ÐKÐKÐKrr ) r3rr4ÚmakedirsÚ build_wheelÚjoinÚisfilerÚsetÚnamelistÚlen) rryÚ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—ddtd¦«td¦«dœ}tj|¦«tj d|z¦«}| ¦«}t |d|z¦«}||¦«}tdd d ¬ ¦«5}| d ¦«ddd¦«n #1swxYwY||¦«} tj  tj  ||¦«¦«sJ‚|| ksJ‚ttj  || ¦«d ¦«  ¦«||¦«} | | ksJ‚tj  tj  || ¦«¦«dksJ‚dS)Nz$from setuptools import setup setup()z0.0.1zo [metadata] name = foo version = file: VERSION ú› [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" )riÚVERSIONrkúpyproject.tomlz preexisting-Úbuild_r¦Úwtúutf-8©Úencodingz0.0.2Úwbr) r rrtr3r4rprcÚopenÚwriter•r”ÚcloseÚgetsize) rr¡Ú tmpdir_cwdÚfilesr™ryÚ 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 óì—td¦«td¦«dddddddd d œid œ}|r||d <| ¦«}| ¦«5tj|¦«d dg}t j¦«5|D]}t jd|t¦«Œ|  d¦«}|  d¦«}ddd¦«n #1swxYwYddd¦«n #1swxYwYtj tj |d|¦«¦«5} t|  ¦«¦«} ddd¦«n #1swxYwYt#tj |d|¦«¦«5} t|  ¦«¦«} t'|  d¦«d¦«} t'|  d¦«d¦«}t'|  d¦«d¦«}ddd¦«n #1swxYwY| dhz hd£ksJ‚| hd£ksJ‚|dksJ‚ddddddt't+d¦«¦«zdt't+d¦«¦«zfD]}|| vs J|| f¦«‚Œ|  ¦« d¦«sJ‚| ¦«d ksJ‚dS)!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] zThis is a ``README``z!---- placeholder MIT license ----Úfooz__version__ = '0.1'z__version__: strz def main(): print('hello world')Ú)ú __init__.pyz __init__.pyizcli.pyzdata.txtzpy.typed)r§ú MANIFEST.inz README.rstz LICENSE.txtÚsrcrizQ'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.txtzfoo-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: MITzLicense-File: LICENSE.txtz+Classifier: Intended Audience :: DeveloperszRequires-Dist: appdirszRequires-Dist: ztomli>=1 ; extra == "all"z2importlib; python_version=="2.6" and extra =="all"z$[console_scripts] foo = foo.cli:main)r rprvrrtÚwarningsÚcatch_warningsÚfilterwarningsr Ú build_sdistr“Útarfiler®r3r”r–Úgetnamesrr—rTÚreadr Ústripr‹)rrwrºr³ryÚ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Ã4C8Ã;C8Ä2"E Å E$Å'E$ÆB H0È0H4È7H4cód—td¦«td¦«td¦«dœ}| ¦«}| ¦«5tj|¦«| d¦«}| d¦«}ddd¦«n #1swxYwY|dz  ¦«sJ‚|dz  ¦«sJ‚|dz  ¦«rJ‚|d z  ¦«rJ‚|d z  ¦«rJ‚|d z  ¦«rJ‚|d z  ¦«rJ‚|d z  ¦«rJ‚tj tj  |d|¦«¦«5}t|  d¦« ¦«d¦«}| ¦«}d|vsJ‚ ddd¦«n #1swxYwYt!tj  |d|¦«¦«5} t|  d¦«d¦«} |  ¦«}d|vsJ‚ ddd¦«n #1swxYwY|| fD]} dD]} | | vsJ‚Œ dD]} | | vsJ‚Œ ŒdS)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§rjrirÂztemp/foo-42.tar.gzztemp/foo-42-py3-none-any.whlztemp/bar-13.tar.gzztemp/bar-42.tar.gzztemp/foo-13.tar.gzztemp/bar-13-py3-none-any.whlztemp/bar-42-py3-none-any.whlztemp/foo-13-py3-none-any.whlzfoo-42/PKG-INFOrªzbar-13/PKG-INFOzfoo-42.dist-info/METADATAzbar-13.dist-info/METADATA)z Name: fooz Version: 42)z Name: barz Version: 13)r rprvrrtrçr“Úexistsrèr®r3r”rTÚ extractfilerêrérr—) rrwr³ryrî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%Æ'AHÈHÈ HÈ=>JÊJ ÊJ có—tj d¦«}tj|¦«| |¦«}tj tj ||¦«¦«sJ‚dS)Nz pip-sdist)r3rr4r’rçr•r”©rryr™Ú sdist_names rÚtest_build_sdistz%TestBuildMetaBackend.test_build_sdistsh€Ý”7—?’? ;Ñ/Ô/ˆÝ Œ �HÑÔÐØ"×.Ò.¨xÑ8Ô8ˆ åŒw�~Š~�bœgŸlšl¨8°ZÑ@Ô@ÑAÔAÐAÐAÐAÐAÐArcó—tj d¦«}tj|¦«| |¦«}tj tj ||d¦«¦«sJ‚dS)Nú pip-dist-infoÚMETADATA)r3rr4r’Ú prepare_metadata_for_build_wheelr•r”)rryr™Ú dist_infos rÚ%test_prepare_metadata_for_build_wheelz:TestBuildMetaBackend.test_prepare_metadata_for_build_wheelsj€Ý”7—?’? ?Ñ3Ô3ˆÝ Œ �HÑÔÐà!×BÒBÀ8ÑLÔLˆ åŒw�~Š~�bœgŸlšl¨8°YÀ ÑKÔKÑLÔLÐLÐLÐLÐLÐLrcóä—dD]}tj|d¬¦«Œ| d¦«}tj tj |d¦«¦«sJ‚dS)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_okrrN)r3r’rrr•r”)rryÚ pre_existingrs rÚtest_prepare_metadata_inplacez2TestBuildMetaBackend.test_prepare_metadata_inplacesp€ð  ð 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ÐBrcóì—tj d¦«}| |¦«}tj tj ||¦«¦«sJ‚dS)NÚdist)r3rr4rçr•r”rþs rÚtest_build_sdist_explicit_distz3TestBuildMetaBackend.test_build_sdist_explicit_dist0sZ€õ”7—?’? 6Ñ*Ô*ˆØ"×.Ò.¨xÑ8Ô8ˆ ÝŒw�~Š~�bœgŸlšl¨8°ZÑ@Ô@ÑAÔAÐAÐAÐAÐAÐArcó"—tj d¦«}tj|¦«| |¦«}tj tj ||¦«¦«sJ‚tj d¦«}tj |¦«stj d¦«}t|dd¬¦«5}|  ¦«}ddd¦«n #1swxYwYt|dd¬¦«5}|  |  dd ¦«¦«ddd¦«n #1swxYwYtj |¦«tj|¦«| d¦«}tj tj tj d¦«|¦«¦«sJ‚dS) NÚ out_sdistrirkÚrtrªr«r©zversion='0.0.0'zversion='0.0.1')r3rr4r’rçr•r”r÷r®rêr¯ÚreplaceÚshutilÚrmtree)rryÚsdist_into_directoryrÿÚ setup_locÚ file_handlerÚcontents rÚtest_build_sdist_version_changez4TestBuildMetaBackend.test_build_sdist_version_change7s,€Ý!œ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$Ã7DÄDÄDÄ5*E+Å+E/Å2E/có²—td¦«dtd¦«dœ}tj|¦«| ¦«}| d¦«}t jtj d|¦«¦«5}td„|  ¦«D¦«¦«sJ‚ ddd¦«dS#1swxYwYdS)Nú° __import__('setuptools').setup( name='foo', version='0.0.0', py_modules=['hello'] )r½r¥)rirjr§rÂc3óK—|]}d|vV—Œ dS)r§Nr#©r�r.s rr�zNTestBuildMetaBackend.test_build_sdist_pyproject_toml_exists..gs(èè€ÐKÐK°DÐ'¨4Ð/ÐKÐKÐKÐKÐKÐKr© r rrtrprçrèr®r3r”Úanyré©rr²r³ryÚ targz_pathrïs rÚ&test_build_sdist_pyproject_toml_existsz;TestBuildMetaBackend.test_build_sdist_pyproject_toml_existsPs/€åðñôðÝ"ðñôð ð ˆõ$ Œ �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ÃCcóˆ—tjtd¦«| ¦«}| d¦«}t jtj d|¦«¦«5}td„|  ¦«D¦«¦«sJ‚ ddd¦«dS#1swxYwYdS)NrrÂc3óK—|]}d|vV—Œ dS©riNr#rs rr�zHTestBuildMetaBackend.test_build_sdist_setup_py_exists..qs'èè€ÐEÐE¨d�z TÐ)ÐEÐEÐEÐEÐEÐEr) rrtÚdefnsrprçrèr®r3r”rré)rr²ryr rïs rÚ test_build_sdist_setup_py_existsz5TestBuildMetaBackend.test_build_sdist_setup_py_existsisþ€õ Œ •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ð FsÁ;.B7Â7B;Â>B;có²—td¦«dtd¦«dœ}tj|¦«| ¦«}| d¦«}t jtj d|¦«¦«5}td„|  ¦«D¦«¦«rJ‚ ddd¦«dS#1swxYwYdS)Nzˆ __import__('setuptools').setup( name='foo', version='0.0.0', py_modules=['hello'] )r½z" exclude setup.py )rirjr¿rÂc3óK—|]}d|vV—Œ dSr%r#rs rr�zSTestBuildMetaBackend.test_build_sdist_setup_py_manifest_excluded..‹s'èè€ÐIÐI°$˜:¨Ð-ÐIÐIÐIÐIÐIÐIrrrs rÚ+test_build_sdist_setup_py_manifest_excludedz@TestBuildMetaBackend.test_build_sdist_setup_py_manifest_excludedss1€õð ñôðÝð ñôð ð ˆõ" Œ �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ð Jr"cóÀ—td¦«dtd¦«dœ}tj|¦«| ¦«}| d¦«dS)Nrr½zE [sdist] formats=zip ©rirjrkrÂ)r rrtrprç)rr²r³rys rÚ3test_build_sdist_builds_targz_even_if_zip_indicatedzHTestBuildMetaBackend.test_build_sdist_builds_targz_even_if_zip_indicated�st€åðñôðÝðñôð ð ˆõ$ Œ �5ÑÔÐà×.Ò.Ñ0Ô0ˆ Ø×!Ò! &Ñ)Ô)Ð)Ð)Ð)rz´ __import__('setuptools').setup( name='foo', version=__import__('hello').__version__, py_modules=['hello'] )z__version__ = "0.0.0"z9 [sdist] formats=zip r,cóò—tj|j¦«| ¦«}t jt d¬¦«5| d¦«ddd¦«dS#1swxYwYdS)Nz^No module named 'hello'$©ÚmatchrÂ)rrtÚ_relative_path_import_filesrpr=ÚraisesÚ ImportErrorrç©rr²rys 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Á3A0zX [project] name = "proj" version = "42" Úprojr¾r½)r§rÀcóÜ—tt|¦« d¦«¦«}|sJ‚|D]5}| ¦«st j|¦«jdksJ‚Œ6dS)z?All files in the directory should be either links or hard linksz**/*rN)ÚlistrÚglobÚ is_symlinkr3Ú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ð Crcó—tj|j¦«| ¦«}t d¦« ¦«rJ‚| d¦«t d¦« ¦«rJ‚dS)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. rtrÂN)rrtÚ_simple_pyproject_examplerprr÷Úbuild_editabler4s rÚ%test_editable_without_config_settingsz:TestBuildMetaBackend.test_editable_without_config_settingsÏs~€õ Œ �4Ô1Ñ2Ô2Ð2Ø×.Ò.Ñ0Ô0ˆ ݘ‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)Ø×$Ò$ VÑ,Ô,Ð,ݘ‘=”=×'Ò'Ñ)Ô)Ð)Ð)Ð)Ð)Ð)rcó’—dddgi}tj|j¦«| ¦«}t d¦« ¦«rJ‚t d¦« ¦«| d|¦«| d|¦«t d¦« ¦«sJ‚dS)Nz--build-optionÚ build_extz --inplacertzbuild/proj-42-py3-none-any.whl) rrtr@rprr÷Úmkdirrr“©rr²Úconfig_settingsrys 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×<Ò<Ñ>Ô>Ð>Ð>Ð>Ð>Ð>rrGz editable-modeÚstrictcó�—tji|j¥dii¥¦«td¦« ¦«rJ‚| ¦«}| d|¦«| d|d¦«| ttd¦«  d¦«¦«¦«dS)NÚ_metartrÂz__editable__.*) rrtr@rr÷rpÚ#prepare_metadata_for_build_editablerAr>Únextr9rFs 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'zfoo>=3.0z 'foo\nbar'z 'foo\nbar\n'z['foo\n', 'bar\n']Ú use_wheelTFcó:—td¦« |¬¦«td¦«dœ}tj|¦«| ¦«}|r|j}n|j}t|¦«}|¦«} |t| ¦«ksJ‚dS)Na from setuptools import setup setup( name="qux", version="0.0.0", py_modules=["hello"], setup_requires={setup_literal}, ) )rOrgrh)r Úformatrrtrpr}r…r~) rrOrPrRr²r³ryÚ 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 &™>œ>Ò)Ð)Ð)Ð)Ð)Ð)rcóÒ—td¦«td¦«dddœ}tj|¦«| ¦«}| ¦«}|dgksJ‚dS)Nzd [project] name = "proj" version = "42" z¯ __import__('setuptools').setup( setup_requires=["foo"], py_modules = ["hello", "world"] ) z'hello'z'world')r§rirjrˆr¼)r rrtrpr})rr²r³ryÚsetup_requiress rÚ'test_setup_requires_with_auto_discoveryz99"], ) z[ def run(): print('hello') rhr)r rrtrpr3r4r’r)rr²r³ryr™s rÚ test_dont_install_setup_requiresz5TestBuildMetaBackend.test_dont_install_setup_requiresBs–€åð ñ ô õðñôð ð ˆõ* Œ �5ÑÔÐà×.Ò.Ñ0Ô0ˆ å”7—?’? ?Ñ3Ô3ˆÝ Œ �HÑÔÐð ×6Ò6°xÑ@Ô@Ð@Ð@Ð@rriaD 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óî—tj|j¦«| ¦«}t jt ¦«5| d¦«ddd¦«dS#1swxYwYdS©NrÂ)rrtÚ_sys_argv_0_passthroughrpr=r2ÚAssertionErrorrçr4s rÚtest_sys_argv_passthroughz.TestBuildMetaBackend.test_sys_argv_passthroughus®€Ý Œ �4Ô/Ñ0Ô0Ð0Ø×.Ò.Ñ0Ô0ˆ Ý Œ]�>Ñ *Ô *ð .ð .Ø × %Ò % fÑ -Ô -Ð -ð .ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .sÁA*Á*A.Á1A.a import os assert os.path.isabs(__file__) __import__('setuptools').setup( name='foo', version='0.0.0', py_modules=['hello'], setup_requires=['six'], ) cóŠ—tj|j¦«| ¦«}| d¦«dSr])rrtÚ_setup_py_file_abspathrprçr4s rÚtest_setup_py_file_abspathz/TestBuildMetaBackend.test_setup_py_file_abspathŠs@€Ý Œ �4Ô.Ñ/Ô/Ð/Ø×.Ò.Ñ0Ô0ˆ Ø×!Ò! &Ñ)Ô)Ð)Ð)Ð)rÚ build_hook)rçr“cóø—ddi}tj|¦«tjd¦«}t jt |¬¦«5t||¦«d¦«ddd¦«dS#1swxYwYdS)Nrir½zNo distribution was found.r/rÂ)rrtÚreÚescaper=r2Ú ValueErrorrc)rryrdr³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Á6A3)+r r!r"rrpr=Úfixturer&ryr‚r†r ÚmarkÚ parametrizer¹ÚSETUP_SCRIPT_STUBrõrürrr r rr!r'r*r-r r1r5r@r>rBrHrNrVrYr[r^r`rbrcrir#rrrmrmâs€€€€€Ø*€Lð<ð<ð<ð€V„^˜5Ð!Ñ!Ô!ð+ð+ñ"Ô!ð+ð 2ð2ð2ð 2ð2ð2ð !ð!ð!ð( „[×Ò˜\Ð+=Ñ>Ô>ð0Ið0Iñ?Ô>ð0Iðd „[×Ò˜^¨dÐ4EÐ-FÑGÔGðOJðOJñHÔGðOJðb=(ð=(ð=(ð~BðBðBðMðMðMðCðCðCð"BðBðBðVðVðVð2LðLðLð2Fð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)ð)ð)ð8AðAðAðD �D�Dð ñ ô ðÐð$.ð.ð.ð �D�Dð ñ  ô  ð Ðð*ð*ð*ð  „[×Ò˜\Ð+IÑJÔJð7ð7ñKÔJð7ð7ð7rrmcó—eZdZdZd„Zd„ZdS)ÚTestBuildMetaLegacyBackendz setuptools.build_meta:__legacy__cóŠ—tj|j¦«| ¦«}| d¦«dSr])rrtr1rprçr4s rr5z@TestBuildMetaLegacyBackend.test_build_sdist_relative_path_import�s@€å Œ �4Ô3Ñ4Ô4Ð4à×.Ò.Ñ0Ô0ˆ Ø×!Ò! &Ñ)Ô)Ð)Ð)Ð)rcóŠ—tj|j¦«| ¦«}| d¦«dSr])rrtr^rprçr4s rr`z4TestBuildMetaLegacyBackend.test_sys_argv_passthrough¤s@€Ý Œ �4Ô/Ñ0Ô0Ð0à×.Ò.Ñ0Ô0ˆ Ø×!Ò! &Ñ)Ô)Ð)Ð)Ð)rN)r r!r"rr5r`r#rrroro™s7€€€€€Ø5€Lð*ð*ð*ð*ð*ð*ð*ð*rroz/ignore::setuptools.SetuptoolsDeprecationWarningcóÖ—| |¦«d}|dz  t|¦«d¬¦«td¬¦«}| ¦«gksJ‚dS)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) rirªr«rroN)r^Ú write_textr r%r}©Ú monkeypatchÚtmp_pathÚsetuppyres rÚtest_sys_exit_0_in_setuppyrx«sy€ð×Ò�hÑÔÐð €Gð � Ñ×&Ò&¥t¨G¡}¤}¸wÐ&ÑGÔGÐGÝÐ(?Ð@Ñ@Ô@€GØ × /Ò /Ñ 1Ô 1°RÒ 7Ð 7Ð 7Ð 7Ð 7Ð 7rcó—| |¦«d}|dz  |d¬¦«tjtd¬¦«5t d¬¦«}| ¦«ddd¦«dS#1swxYwYdS) Nz"import sys; sys.exit('some error')rirªr«z some errorr/rro)r^rsr=r2Ú SystemExitr%r}rts rÚtest_system_exit_in_setuppyr{¹sÕ€Ø×Ò�hÑÔÐØ2€GØ � Ñ×&Ò& w¸Ð&ÑAÔAÐAÝ Œ•z¨Ð 6Ñ 6Ô 6ð/ð/ÝÐ,CÐDÑDÔDˆØ×,Ò,Ñ.Ô.Ð.ð/ð/ð/ñ/ô/ð/ð/ð/ð/ð/ð/ð/øøøð/ð/ð/ð/ð/ð/sÁ %A?Á?BÂB).rLrar3rfrrPÚsysrèräÚ concurrentrÚpathlibrÚtypingrrrœrr=ÚjaracorÚpackaging.requirementsr Úsetuptools.warningsr Útextwrapr rmÚintÚgetenvr9Úbuiltin_module_namesrCrkÚskipifÚplatformÚ pytestmarkrr%r5r&rmrorærxr{r#rrúrŠsÂðØÐÐÐØÐÐÐØ € € € Ø € € € Ø € € € Ø € € € Ø € € € Ø€€€Ø€€€ØÐÐÐÐÐØÐÐÐÐÐØ Ð Ð Ð Ð Ð Ð Ð ØÐÐÐÐÐà € € € ØÐÐÐÐÐØ.Ð.Ð.Ð.Ð.Ð.à<Ð<Ð<Ð<Ð<Ð<àÐÐÐÐÐà6Ðð ˆ#ˆiˆbŒiÐ.°Ñ6Ô6Ñ 7Ô 7€Ø ˜Ô0Ð 0€ðŒ[× Ò Ø„L�GÒÐ' ð ð ñô€ ð)ð)ð)ð)ð)ñ)ô)ð)ð Pð Pð Pð Pð PÐ#ñ Pô Pð PðF3ð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