Ë
    –2Úi`K  ã                  ó”  — d Z ddlm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ZddlmZ ddlmZ ddlZdd	lmZ dd
lmZmZmZ ddlmZmZ ddlmZ ddlmZ ddlm Z m!Z!  e	e"«      jF                  Z$dZ%d„ Z&ejN                  jQ                  d e!e$e%z  «      «      ejN                  jS                  d«      ejN                  jT                  d„ «       «       «       Z+dZ,dZ-dZ.de,fd„Z/d„ Z0ejN                  jQ                  dg d¢«      d„ «       Z1d„ Z2d„ Z3ejN                  jQ                  d  ejh                  e,d!d"¬#«       ejh                  e-d$ejN                  jk                  d%d&¬'«      d(¬)«      f«      d*„ «       Z6 G d+„ d,«      Z7 G d-„ d.«      Z8 G d/„ d0«      Z9 G d1„ d2«      Z: G d3„ d4«      Z; G d5„ d6«      Z< G d7„ d8«      Z=d:d9„Z>y);zÍMake sure that applying the configuration from pyproject.toml is equivalent to
applying a similar configuration from setup.cfg

To run these tests offline, please have a look on ``./downloads/preload.py``
é    )ÚannotationsN)Úcleandoc)ÚPath)ÚMock)ÚLiteTranslator)ÚMetadata)Úwrite_requirements)ÚexpandÚpyprojecttomlÚsetupcfg)Ú_MissingDynamicÚ_some_attrgetter©ÚDistribution)ÚRemovedConfigErroré   )Úretrieve_fileÚurls_from_filezsetupcfg_examples.txtc                ó    — t        d| i|¥«      S )NÚsrc_rootr   )ÚpathÚattrss     úg/var/www/html/acx/venv/lib/python3.12/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.pyÚmakedistr   !   s   € Ü˜ TÐ3¨UÐ3Ó4Ð4ó    ÚurlÚignorec           	     ó\  — |j                  t        dt        d¬«      «       t        | «      }t	        |d«      }|j                  d¬«      }t        «       j                  |d«      }|j                  |d¬«       t        j                  t        |«      |«      }t        j                  t        |«      |«      }t        |«      }	t        |«      }
|	|
k(  sJ ‚t        d„ ||fD «       «      r-t        |j                   «      t        |j                   «      k(  sJ ‚t        d	„ ||fD «       «      rœt#        |j$                  «       |j$                  j'                  «       D ��ch c]  \  }}|gt)        d
„ |D «       «      ¢­’Œ }}}|j$                  j'                  «       D ��ch c]  \  }}|gt)        d„ |D «       «      ¢­’Œ }}}||k(  sJ ‚t        d„ ||fD «       «      ry|j*                  j'                  «       D ��ch c]  \  }}|gt)        |«      ¢­’Œ }}}|j*                  j'                  «       D ��ch c]  \  }}|gt)        |«      ¢­’Œ }}}||k(  sJ ‚t        d„ ||fD «       «      r]|j,                  D ��ch c]  \  }}|gt)        |«      ¢­’Œ }}}|j,                  D ��ch c]  \  }}|gt)        |«      ¢­’Œ }}}||k(  sJ ‚t        |j.                  «      t        |j.                  «      k(  sJ ‚t        d„ ||fD «       «      rz|j0                  j'                  «       D ��ch c]  \  }}|gt)        |«      ¢­’Œ }}}|j0                  j'                  «       D ��ch c]  \  }}|gt)        |«      ¢­’Œ }}}||k(  sJ ‚y y c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w )NÚ	read_attrz0.0.1)Úreturn_valueúpyproject.tomlúutf-8©Úencodingz	setup.cfgc              3  ó6   K  — | ]  }t        |d d«      –— Œ y­w)Úlicense_filesN©Úgetattr©Ú.0Úds     r   ú	<genexpr>z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>7   s   è ø€ Ò
L°Œ7�1�o t×,Ñ
Lùó   ‚c              3  ó6   K  — | ]  }t        |d d«      –— Œ y­w)Úentry_pointsNr'   r)   s     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>:   ó   è ø€ Ò
K°Œ7�1�n d×+Ñ
Kùr-   c              3  ó@   K  — | ]  }|j                  d d«      –— Œ y­w©ú Ú N©Úreplace©r*   Úis     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>=   ó   è ø€ Ò6¨q˜Ÿ	™	 # r×*Ñ6ùó   ‚c              3  ó@   K  — | ]  }|j                  d d«      –— Œ y­wr2   r5   r7   s     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>A   r9   r:   c              3  ó6   K  — | ]  }t        |d d«      –— Œ y­w)Úpackage_dataNr'   r)   s     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>F   r0   r-   c              3  ó6   K  — | ]  }t        |d d«      –— Œ y­w)Ú
data_filesNr'   r)   s     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>K   s   è ø€ Ò
I¨aŒ7�1�l D×)Ñ
Iùr-   c              3  ó6   K  — | ]  }t        |d d«      –— Œ y­w)Úextras_requireNr'   r)   s     r   r,   z>test_apply_pyproject_equivalent_to_setupcfg.<locals>.<genexpr>Q   s   è ø€ Ò
M°!Œ7�1Ð&¨×-Ñ
Mùr-   )Úsetattrr
   r   r   r   Ú	read_textr   Ú	translateÚ
write_textr   Úapply_configurationr   r   Úcore_metadataÚanyÚsetr&   Úprintr/   ÚitemsÚsortedr=   r?   Úinstall_requiresrA   )r   ÚmonkeypatchÚtmp_pathÚsetupcfg_exampleÚpyproject_exampleÚsetupcfg_textÚtoml_configÚ	dist_tomlÚdist_cfgÚpkg_info_tomlÚpkg_info_cfgÚkÚvÚep_tomlÚep_cfgÚpkg_data_tomlÚpkg_data_cfgÚdata_files_tomlÚdata_files_cfgÚextra_req_tomlÚextra_req_cfgs                        r   Ú+test_apply_pyproject_equivalent_to_setupcfgrb   %   ss  € ð ×Ñœ ¬T¸wÔ-GÔHÜ$ SÓ)ÐÜ˜XÐ'7Ó8ÐØ$×.Ñ.¸Ð.Ó@€MÜ Ó"×,Ñ,¨]¸KÓH€KØ× Ñ  °wÐ Ô?ä×1Ñ1´(¸8Ó2DÐFWÓX€IÜ×+Ñ+¬H°XÓ,>Ð@PÓQ€Hä! )Ó,€MÜ  Ó*€LØ˜LÒ(Ð(Ð(ä
Ñ
L°yÀ(Ð6KÔ
LÔLÜ�9×*Ñ*Ó+¬s°8×3IÑ3IÓ/JÒJÐJÐJä
Ñ
K°iÀÐ5JÔ
KÔKÜˆh×#Ñ#Ô$ð "×.Ñ.×4Ñ4Ó6÷
á��1ð Ð7”Ñ6°AÔ6Ó6Ó7ð
ˆñ 
ð !×-Ñ-×3Ñ3Ó5÷
á��1ð Ð7”Ñ6°AÔ6Ó6Ó7ð
ˆñ 
ð ˜&Ò Ð Ð ä
Ñ
K°iÀÐ5JÔ
KÔKØ5>×5KÑ5K×5QÑ5QÓ5S×T©T¨Q°˜!˜œf Q›i›ÐTˆÑTØ4<×4IÑ4I×4OÑ4OÓ4Q×R©D¨A¨q˜˜œV A›Y›ÐRˆÑRØ Ò,Ð,Ð,ä
Ñ
I°I¸xÐ3HÔ
IÔIØ7@×7KÑ7K×L©t¨q°!˜A˜?¤ q£	›?ÐLˆÑLØ6>×6IÑ6I×J©d¨a°˜1˜/œv a›y›/ÐJˆÑJØ .Ò0Ð0Ð0äˆy×)Ñ)Ó*¬c°(×2KÑ2KÓ.LÒLÐLÐLÜ
Ñ
M¸	À8Ð7LÔ
MÔMØ6?×6NÑ6N×6TÑ6TÓ6V×W©d¨a°˜1˜/œv a›y›/ÐWˆÑWØ5=×5LÑ5L×5RÑ5RÓ5T×U©T¨Q°˜!˜œf Q›i›ÐUˆÑUØ Ò.Ð.Ñ.ð Nùó+
ùó
ùó UùÛRùó MùÛJùó
 XùÛUs0   Å M>Æ NÇ5N
È.NÉ4NÊNÌ N"ÍN(u‚  [project]
name = "spam"
version = "2020.0.0"
description = "Lovely Spam! Wonderful Spam!"
readme = "README.rst"
requires-python = ">=3.8"
license = {file = "LICENSE.txt"}
keywords = ["egg", "bacon", "sausage", "tomatoes", "Lobster Thermidor"]
authors = [
  {email = "hi@pradyunsg.me"},
  {name = "Tzu-Ping Chung"}
]
maintainers = [
  {name = "Brett Cannon", email = "brett@python.org"},
  {name = "John X. ÃƒÃ¸rÃ§eÄ�", email = "john@utf8.org"},
  {name = "Î“Î±Î¼Î± ï­‡ æ�±", email = "gama@utf8.org"},
]
classifiers = [
  "Development Status :: 4 - Beta",
  "Programming Language :: Python"
]

dependencies = [
  "httpx",
  "gidgethub[httpx]>4.0.0",
  "django>2.1; os_name != 'nt'",
  "django>2.0; os_name == 'nt'"
]

[project.optional-dependencies]
test = [
  "pytest < 5.0.0",
  "pytest-cov[all]"
]

[project.urls]
homepage = "http://example.com"
documentation = "http://readthedocs.org"
repository = "http://github.com"
changelog = "http://github.com/me/spam/blob/master/CHANGELOG.md"

[project.scripts]
spam-cli = "spam:main_cli"

[project.gui-scripts]
spam-gui = "spam:main_gui"

[project.entry-points."spam.magical"]
tomatoes = "spam:main_tomatoes"
uá   [project]
name = "spam"
version = "2020.0.0"
authors = [
  {email = "hi@pradyunsg.me"},
  {name = "Tzu-Ping Chung"}
]
maintainers = [
  {name = "Ð¡Ñ‚ÐµÐ¿Ð°Ð½ Ð‘Ð°Ð½Ð´ÐµÑ€Ð°", email = "ÐºÑ€Ð¸Ñ—Ð²ÐºÐ°@Ð¾ÑƒÐ½-ÑƒÐ¿Ð°.ÑƒÐºÑ€"},
]
zE
def main_cli(): pass
def main_gui(): pass
def main_tomatoes(): pass
z
README.rstc                ó*  — | dz  }|}dd|› d�i}|j                  «       D ]  \  }}|j                  ||«      }Œ |j                  |d¬«       | |z  j                  dd¬«       | dz  j                  d	d¬«       | d
z  j                  t        d¬«       |S )Nr!   zreadme = "README.rst"z
readme = "ú"r"   r#   zhello worldúLICENSE.txtú--- LICENSE stub ---zspam.py)rK   r6   rE   ÚPEP621_EXAMPLE_SCRIPT)rO   ÚreadmeÚpyproject_textÚ	pyprojectÚtextÚreplacementsÚorigÚsubsts           r   Ú_pep621_example_projectro   Ÿ   s¶   € ð
 Ð+Ñ+€IØ€DØ+¨z¸&¸ÀÐ-CÐD€LØ#×)Ñ)Ó+ò )‰ˆˆeØ�|‰|˜D %Ó(‰ð)à×Ñ˜¨ÐÔ0à�Ñ×"Ñ" =¸7Ð"ÔCØ�Ñ×)Ñ)Ð*@È7Ð)ÔSØ�	Ñ×%Ñ%Ô&;ÀgÐ%ÔNØÐr   c                óØ   — t        | «      }t        j                  t        | «      |«      }|j                  j
                  dk(  sJ ‚t        |j                  j                  «      dhk(  sJ ‚y)z&Make sure the example in PEP 621 worksrf   re   N)ro   r   rF   r   ÚmetadataÚlicenserI   r&   ©rO   rj   Údists      r   Útest_pep621_exampleru   ±   s[   € ä'¨Ó1€IÜ×,Ñ,¬X°hÓ-?ÀÓK€DØ�=‰=× Ñ Ð$:Ò:Ð:Ð:Üˆt�}‰}×*Ñ*Ó+°¨Ò>Ð>Ñ>r   )rh   Úctype))z
Readme.txtz
text/plain)z	readme.mdztext/markdown)ztext.rstz
text/x-rstc                ó�   — t        | |«      }t        j                  t        | «      |«      }|j                  j
                  |k(  sJ ‚y ©N©ro   r   rF   r   rq   Úlong_description_content_type)rO   rh   rv   rj   rt   s        r   Útest_readme_content_typer{   ¹   s?   € ô (¨°&Ó9€IÜ×,Ñ,¬X°hÓ-?ÀÓK€DØ�=‰=×6Ñ6¸%Ò?Ð?Ñ?r   c                óº   — t        | d«      }t        j                  t        d¬«      5  t	        j
                  t        | «      |«       d d d «       y # 1 sw Y   y xY w)Nz
README.texz%Undefined content type for README.tex©Úmatch)ro   ÚpytestÚraisesÚ
ValueErrorr   rF   r   )rO   rj   s     r   Útest_undefined_content_typer‚   Ç   sK   € Ü'¨°,Ó?€IÜ	�‰”zÐ)PÔ	Qñ IÜ×)Ñ)¬(°8Ó*<¸iÔH÷I÷ Iñ Iús   ¨ AÁAc                óŠ   — t        | d«      }t        j                  t        | «      |«      }|j                  j
                  �J ‚y )NÚREADMEry   rs   s      r   Ú3test_no_explicit_content_type_for_missing_extensionr…   Í   s;   € Ü'¨°(Ó;€IÜ×,Ñ,¬X°hÓ-?ÀÓK€DØ�=‰=×6Ñ6Ð>Ð>Ñ>r   )ri   Úexpected_maintainers_meta_valueug   Brett Cannon <brett@python.org>, "John X. ÃƒÃ¸rÃ§eÄ�" <john@utf8.org>, Î“Î±Î¼Î± ï­‡ æ�± <gama@utf8.org>znon-international-emails)ÚiduA   Ð¡Ñ‚ÐµÐ¿Ð°Ð½ Ð‘Ð°Ð½Ð´ÐµÑ€Ð° <ÐºÑ€Ð¸Ñ—Ð²ÐºÐ°@Ð¾ÑƒÐ½-ÑƒÐ¿Ð°.ÑƒÐºÑ€>zlCPython's `email.headerregistry.Address` only supports RFC 5322, as of Nov 10, 2022 and latest Python 3.11.0T)ÚreasonÚstrictzinternational-email)Úmarksr‡   c                óP  — t        |d|¬«      }t        j                  t        |«      |«      }|j                  j
                  | k(  sJ ‚|dz  }t        |dd¬«      5 }|j                  j                  |«       d d d «       |j                  d¬«      }d| › �|v sJ ‚y # 1 sw Y   Œ%xY w)Nr„   )ri   zPKG-FILEÚwr"   r#   zMaintainer-email: )	ro   r   rF   r   rq   Úmaintainer_emailÚopenÚwrite_pkg_filerC   )r†   ri   rO   rj   rt   Úpkg_fileÚfhÚcontents           r   Ú test_utf8_maintainer_in_metadatar“   Ó   s²   € ô8 (ØØØ%ô€Iô
 ×,Ñ,¬X°hÓ-?ÀÓK€DØ�=‰=×)Ñ)Ð-LÒLÐLÐLØ˜*Ñ$€HÜ	ˆh˜ gÔ	.ð )°"Ø�‰×$Ñ$ RÔ(÷)à× Ñ ¨'Ð Ó2€GØÐ ?Ð@ÐAÀWÑLÐLÑL÷)ð )ús   ÁBÂB%c                  ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestLicenseFilesc                ó�   — t        |d«      }|j                  d¬«      }d|v sJ ‚d|vsJ ‚|› d|› d�}|j                  |d¬«       |S )Nr„   r"   r#   z license = {file = "LICENSE.txt"}z[tool.setuptools]ú
)ro   rC   rE   )ÚselfrO   Úadditional_textrj   rk   s        r   Úbase_pyprojectzTestLicenseFiles.base_pyproject  sk   € Ü+¨H°hÓ?ˆ	Ø×"Ñ"¨GÐ"Ó4ˆð 2°TÑ9Ð9Ð9Ø"¨$Ñ.Ð.Ð.à��r˜/Ð*¨"Ð-ˆØ×Ñ˜T¨GÐÔ4ØÐr   c                óh  — d}| j                  ||«      }|dz  j                  «        |dz  j                  «        |dz  }|j                  dd¬«       t        j                  t        |«      |«      }t        |j                  j                  «      ddhk(  sJ ‚|j                  j                  dk(  sJ ‚y )Nz,[tool.setuptools]
license-files = ["_FILE*"]z	_FILE.txtz	_FILE.rstre   zLicenseRef-Proprietary
r"   r#   )
rš   ÚtouchrE   r   rF   r   rI   rq   r&   rr   )r˜   rO   Úsetuptools_configrj   rr   rt   s         r   Ú+test_both_license_and_license_files_definedz<TestLicenseFiles.test_both_license_and_license_files_defined  s¯   € ØKÐØ×'Ñ'¨Ð2CÓDˆ	à	�KÑ	×&Ñ&Ô(Ø	�KÑ	×&Ñ&Ô(ð ˜]Ñ*ˆØ×ÑÐ5ÀÐÔHä×0Ñ0´¸(Ó1CÀYÓOˆÜ�4—=‘=×.Ñ.Ó/°KÀÐ3MÒMÐMÐMØ�}‰}×$Ñ$Ð(BÒBÐBÑBr   c                óD  — d}| j                  ||«      }dj                  «       }|D ]  }||z  j                  |› d�d¬«       Œ t        j                  t        |«      |«      }|dz  j                  «       sJ ‚t        |j                  j                  «      h |£d’k(  sJ ‚y )Nz"[tool.setuptools]
zip-safe = falsez5LICENCE-a.html COPYING-abc.txt AUTHORS-xyz NOTICE,defr—   r"   r#   re   )
rš   ÚsplitrE   r   rF   r   ÚexistsrI   rq   r&   )r˜   rO   r�   rj   r&   Úfnamert   s          r   Útest_default_patternsz&TestLicenseFiles.test_default_patterns  s°   € ØAÐà×'Ñ'¨Ð2CÓDˆ	àO×UÑUÓWˆà"ò 	JˆEØ˜Ñ×)Ñ)¨U¨G°2¨,ÀÐ)ÕIð	Jô ×0Ñ0´¸(Ó1CÀYÓOˆØ˜=Ñ(×0Ñ0Ô2Ð2Ð2Ü�4—=‘=×.Ñ.Ó/Ð3R°]Ð3RÀMÐ3RÒRÐRÑRr   N)Ú__name__Ú
__module__Ú__qualname__rš   rž   r£   © r   r   r•   r•   ý   s   „ ò
òCó Sr   r•   c                  ó¢   — e Zd Zd„ Zej
                  j                  dddg«      d„ «       Zej
                  j                  dg d¢«      d„ «       Zy)	ÚTestPyModulesc                óš   — d|›d�}t        d«      }|j                  t        |«      d¬«       t        j                  t        i «      |«      S )Nzr
        [project]
        name = "test"
        version = "42.0"
        [tool.setuptools]
        py-modules = [z
]
        r!   r"   r#   )r   rE   r   r   rF   r   )r˜   ÚnamerS   rj   s       r   rt   zTestPyModules.dist/  sW   € ðð
 �hð 	ðˆô Ð)Ó*ˆ	Ø×ÑœX kÓ2¸WÐÔEÜ×0Ñ0´¸bÓ1AÀ9ÓMÐMr   Úmodulezpip-runu   abc-d.Î»-xyz-ec                ód   — |j                  |«       || j                  |«      j                  v sJ ‚y rx   )Úchdirrt   Ú
py_modules©r˜   rO   rN   r¬   s       r   Útest_valid_module_namez$TestPyModules.test_valid_module_name;  s-   € à×Ñ˜(Ô#Ø˜Ÿ™ 6Ó*×5Ñ5Ñ5Ð5Ñ5r   )zpip runz-pip-runzpip-run-stubsc                ó¼   — |j                  |«       t        j                  t        d¬«      5  | j	                  |«      j
                   d d d «       y # 1 sw Y   y xY w)Nz
py-modulesr}   )r®   r   r€   r�   rt   r¯   r°   s       r   Útest_invalid_module_namez&TestPyModules.test_invalid_module_name@  sE   € à×Ñ˜(Ô#Ü�]‰]œ:¨\Ô:ñ 	)Ø�I‰I�fÓ×(Ò(÷	)÷ 	)ñ 	)ús   ­AÁAN)	r¤   r¥   r¦   rt   r   ÚmarkÚparametrizer±   r³   r§   r   r   r©   r©   ,  s[   „ ò
Nð ‡[�[×Ñ˜X¨	Ð3CÐ'DÓEñ6ó Fð6ð ‡[�[×Ñ˜XÒ'OÓPñ)ó Qñ)r   r©   c                  ó   — e Zd Zd„ Zy)ÚTestExtModulesc                óè  — |j                  |«       t        d«      }d}|j                  t        |«      d¬«       t	        j
                  t        j                  «      5  t        j                  t        i «      |«      }d d d «       t        j                  «      dk(  sJ ‚|j                  d   j                  dk(  sJ ‚t        |j                  d   j                  «      dd	hk(  sJ ‚y # 1 sw Y   ŒkxY w)
Nr!   zÄ
        [project]
        name = "test"
        version = "42.0"
        [tool.setuptools]
        ext-modules = [
          {name = "my.ext", sources = ["hello.c", "world.c"]}
        ]
        r"   r#   r   r   zmy.extzhello.czworld.c)r®   r   rE   r   r   Úwarnsr   Ú_ExperimentalConfigurationrF   r   ÚlenÚext_modulesr«   rI   Úsources)r˜   rO   rN   rj   rS   rt   s         r   Útest_pyproject_sets_attributez,TestExtModules.test_pyproject_sets_attributeH  sß   € Ø×Ñ˜(Ô#ÜÐ)Ó*ˆ	ðˆð 	×ÑœX kÓ2¸WÐÔEÜ�\‰\œ-×BÑBÓCñ 	RÜ ×4Ñ4´\À"Ó5EÀyÓQˆD÷	Rä�4×#Ñ#Ó$¨Ò)Ð)Ð)Ø×Ñ Ñ"×'Ñ'¨8Ò3Ð3Ð3Ü�4×#Ñ# AÑ&×.Ñ.Ó/°I¸yÐ3IÒIÐIÑI÷		Rð 	Rús   Á C(Ã(C1N)r¤   r¥   r¦   r¾   r§   r   r   r·   r·   G  s   „ óJr   r·   c                  ó   — e Zd Zd„ Zy)ÚTestDeprecatedFieldsc                óè   — |dz  }d}|j                  t        |«      d¬«       t        j                  t        d¬«      5  t        j                  t        |«      |«       d d d «       y # 1 sw Y   y xY w)Nr!   z�
        [project]
        name = "myproj"
        version = "42"
        [tool.setuptools]
        namespace-packages = ["myproj.pkg"]
        r"   r#   znamespace-packagesr}   )rE   r   r   r€   r   r   rF   r   )r˜   rO   rj   Úconfigs       r   Útest_namespace_packagesz,TestDeprecatedFields.test_namespace_packages]  sl   € ØÐ/Ñ/ˆ	ðˆð 	×ÑœX fÓ-¸ÐÔ@Ü�]‰]Ô-Ð5IÔJñ 	MÜ×-Ñ-¬h°xÓ.@À)ÔL÷	M÷ 	Mñ 	Mús   ¿ A(Á(A1N)r¤   r¥   r¦   rÃ   r§   r   r   rÀ   rÀ   \  s   „ óMr   rÀ   c                  óÔ  — e Zd Zdd„Zej
                  j                  ddddgfddddgifdd	d
dgif ej                  dddgfdej
                  j                  d«      giŽg«      d„ «       Z	ej
                  j                  dddg fddi fdddgfdddgfg«      d„ «       Z
d„ Zd„ Zej
                  j                  dddg«      ej
                  j                  d«      d„ «       «       Zy)ÚTestPresetFieldc                óZ   — d|›d�}d|vr|dz  }|dz  }|j                  ||z   d¬«       |S )Nz"[project]
name = 'proj'
dynamic = r—   Úversionzversion = '42'
r!   r"   r#   )rE   )r˜   rO   ÚdynamicÚextra_contentr’   Úfiles         r   rj   zTestPresetField.pyprojectl  sH   € Ø8¸¸À2ÐFˆØ˜GÑ#ØÐ)Ñ)ˆGØÐ*Ñ*ˆØ�‰˜ -Ñ/¸'ˆÔBØˆr   )ÚattrÚfieldÚvalueÚclassifierszPrivate :: Classifierr/   ÚscriptsÚconsole_scriptsúfoobar=foobar:mainúgui-scriptsÚgui_scriptszbazquux=bazquux:mainrM   ÚdependenciesÚsixrŠ   z&ignore:.*install_requires. overwrittenc                óP  — | j                  |g «      }t        |fi ||i¤Ž}t        j                  d|› �t        j                  «      }t        j                  t        |¬«      5  t        j                  ||«      }ddd«        t        d|› �|«      |«      }|rJ ‚y# 1 sw Y   Œ#xY w)z:Setuptools cannot set a field if not listed in ``dynamic``z&defined outside of `pyproject.toml`:.*r}   Nú	metadata.)rj   r   ÚreÚcompileÚSr   r¹   r   r   rF   r   )	r˜   rO   rË   rÌ   rÍ   rj   rt   ÚmsgÚ
dist_values	            r   Útest_not_listed_in_dynamicz*TestPresetField.test_not_listed_in_dynamict  s¤   € ð  —N‘N 8¨RÓ0ˆ	Ü˜Ñ2 T¨5 MÑ2ˆÜ�j‰jÐAÀ%ÀÐIÌ2Ï4É4ÓPˆÜ�\‰\œ/°Ô5ñ 	FÜ ×4Ñ4°T¸9ÓEˆD÷	Fð @Ô%¨	°$°Ð&8¸$Ó?ÀÓEˆ
ÙÐˆ~�:÷		Fð 	Fús   Á#BÂB%rA   zoptional-dependenciesc                óª   — | j                  ||g«      }t        |fi ||i¤Ž}t        j                  ||«      } t	        d|› �|«      |«      }||k(  sJ ‚y )Nr×   )rj   r   r   rF   r   )r˜   rO   rË   rÌ   rÍ   rj   rt   rÜ   s           r   Útest_listed_in_dynamicz&TestPresetField.test_listed_in_dynamic�  sd   € ð —N‘N 8¨e¨WÓ5ˆ	Ü˜Ñ2 T¨5 MÑ2ˆÜ×0Ñ0°°yÓAˆØ?Ô%¨	°$°Ð&8¸$Ó?ÀÓEˆ
Ø˜UÒ"Ð"Ñ"r   c                óö   — d}|dz  }|j                  |d¬«       t        |dg¬«      }t        j                  d¬«      5  t	        j
                  ||«      }d d d «       d|j                  vsJ ‚y # 1 sw Y   ŒxY w)	Nz:[project]
name='pkg'
version='0.1'
dependencies=['click']
r!   r"   r#   Úwheel©rM   z`install_requires` overwrittenr}   )rE   r   r   r¹   r   rF   rM   )r˜   rO   Úsrcrj   rt   s        r   Ú%test_warning_overwritten_dependenciesz5TestPresetField.test_warning_overwritten_dependencies�  s   € ØNˆØÐ/Ñ/ˆ	Ø×Ñ˜S¨7ÐÔ3Ü˜°G°9Ô=ˆÜ�\‰\Ð @ÔAñ 	FÜ ×4Ñ4°T¸9ÓEˆD÷	Fà˜d×3Ñ3Ñ3Ð3Ñ3÷	Fð 	Fús   ¿A/Á/A8c                ó,  — d}| j                  |dg|«      }dg}t        ||¬«      }t        j                  ||«      }d|j                  v sJ ‚|j                  d«      }t        |||dz  «       |dz  j                  d¬	«      }d
|v sJ ‚d|v sJ ‚d|v sJ ‚y)a#  
        Internally setuptools converts dependencies with markers to "extras".
        If ``install_requires`` is given by ``setup.py``, we have to ensure that
        applying ``optional-dependencies`` does not overwrite the mandatory
        dependencies with markers (see #3204).
        z1
[project.optional-dependencies]
foo = ['bar>1']
rÔ   z6importlib-resources (>=3.0.0) ; python_version < "3.7"râ   ÚfooÚegg_infozrequires.txtr"   r#   zimportlib-resourcesÚbarz:python_version < "3.7"N)rj   r   r   rF   rA   Úget_command_objr	   rC   )r˜   rO   Úextrarj   Úinstall_reqrt   rç   Úreqss           r   Ú2test_optional_dependencies_dont_remove_env_markerszBTestPresetField.test_optional_dependencies_dont_remove_env_markers¦  sº   € ð GˆØ—N‘N 8¨nÐ-=¸uÓEˆ	ØOÐPˆÜ˜°;Ô?ˆÜ×0Ñ0°°yÓAˆØ˜×+Ñ+Ñ+Ð+Ð+Ø×'Ñ'¨
Ó3ˆÜ˜8 X¨x¸.Ñ/HÔIØ˜>Ñ)×4Ñ4¸gÐ4ÓFˆØ$¨Ñ,Ð,Ð,Ø˜‰}Ðˆ}Ø(¨DÑ0Ð0Ñ0r   )rÌ   Úgroup)rÏ   rÐ   )rÒ   rÓ   Úerrorc                ó–   — | j                  ||g«      }t        ||dgi¬«      }t        j                  ||«      }||j                  v sJ ‚y )NrÑ   )r/   )rj   r   r   rF   r/   )r˜   rO   rÌ   rî   rj   rt   s         r   Ú.test_scripts_dont_require_dynamic_entry_pointsz>TestPresetField.test_scripts_dont_require_dynamic_entry_points¼  sQ   € ð —N‘N 8¨e¨WÓ5ˆ	Ü˜°Ð8LÐ7MÐ/NÔOˆÜ×0Ñ0°°yÓAˆØ˜×)Ñ)Ñ)Ð)Ñ)r   N)r4   )r¤   r¥   r¦   rj   r   r´   rµ   ÚparamÚfilterwarningsrÝ   rß   rä   rí   rñ   r§   r   r   rÅ   rÅ   k  sL  „ óð ‡[�[×ÑØ"à˜MÐ,CÐ+DÐEØ˜YÐ):Ð=QÐ<RÐ(SÐTØ˜]¨]Ð=SÐ<TÐ,UÐVØˆF�L‰LØ$ n°u°gÐ>ðð —K‘K×.Ñ.Ð/WÓXðñð	
	
óñ	óð	ð ‡[�[×ÑØ"à °Ð4ØÐ6¸Ð;Ø °%°Ð9Ø˜MÐ,CÐ+DÐEð		
óñ#óð#ò4ò1ð, ‡[�[×ÑØØ	'Ð)GÐHóð ‡[�[×Ñ Ó(ñ*ó )ó	ñ
*r   rÅ   c                  ó   — e Zd Zd„ Zy)ÚTestMetac                óž   — t        j                  |«      5 }t        d„ |j                  «       D «       «      sJ ‚	 ddd«       y# 1 sw Y   yxY w)z,Meta test to ensure tests can run from sdistc              3  óF   K  — | ]  }|j                  t        «      –— Œ y ­wrx   )ÚendswithÚEXAMPLES_FILE)r*   r«   s     r   r,   z6TestMeta.test_example_file_in_sdist.<locals>.<genexpr>Í  s   è ø€ ÒO¸�t—}‘}¤]×3ÑOùs   ‚!N)ÚtarfilerŽ   rH   Úgetnames)r˜   Úsetuptools_sdistÚtars      r   Útest_example_file_in_sdistz#TestMeta.test_example_file_in_sdistÊ  sD   € ä�\‰\Ð*Ó+ð 	P¨sÜÑOÀÇÁÃÔOÔOÐOÑO÷	P÷ 	Pñ 	Pús   –#AÁAN)r¤   r¥   r¦   rþ   r§   r   r   rõ   rõ   É  s   „ óPr   rõ   c                  ó   — e Zd Zd„ Zy)ÚTestInteropCommandLineParsingc                ó"  — |j                  |«       d}t        |d«      }|j                  t        |«      d¬«       ddgi}t	        j
                  t        |«      |«      }|j                  «        |j                  «       }d|j                  v sJ ‚y )NzJ
        [project]
        name = "test"
        version = "42.0"
        r!   r"   r#   Úscript_argsz	--versionz42.0)
r®   r   rE   r   r   rF   r   Úparse_command_lineÚ
readouterrÚout)	r˜   rO   rN   ÚcapsysrS   rj   Úoptsrt   Úcaptureds	            r   Útest_versionz*TestInteropCommandLineParsing.test_versionÑ  s�   € ð 	×Ñ˜(Ô#ðˆô
 ˜Ð#3Ó4ˆ	Ø×ÑœX kÓ2¸WÐÔEØ ˜}Ð-ˆÜ×0Ñ0´¸dÓ1CÀYÓOˆØ×ÑÔ!Ø×$Ñ$Ó&ˆØ˜Ÿ™Ñ%Ð%Ñ%r   N)r¤   r¥   r¦   r	  r§   r   r   r   r   Ð  s   „ ó&r   r   c                óÔ  — t        j                  «       5 }| j                  j                  |«       |j	                  «       }d d d «       t        j                  d¬«       d}t        «       }|dz  }|dz  }|dz  }|j                  d«       g }|j                  «       D ],  }|j                  |«      s||v rŒ|j                  |dz   «       Œ. dj                  |«      S # 1 sw Y   ŒžxY w)	NT)Úvalidater§   )zAuthor:zAuthor-email:zMaintainer:zMaintainer-email:)zProject-URL: Homepage,z
Home-page:)zDescription-Content-Type:r4   r—   )ÚioÚStringIOrq   r�   Úgetvaluer   Ú
from_emailrI   ÚaddÚ
splitlinesÚ
startswithÚappendÚjoin)rt   ÚbufferÚpkg_file_txtÚskip_prefixesÚ
skip_linesÚresultÚlines          r   rG   rG   æ  sà   € Ü	�‰‹ð )˜&Ø�‰×$Ñ$ VÔ,Ø—‘Ó(ˆ÷)ô
 ×Ñ˜¨tÕ4à%'€MÜ“€Jð ÐUÑU€MàÐ=Ñ=€MàÐ3Ñ3€Mà‡N�N�2Ôà€FØ×'Ñ'Ó)ò #ˆØ�?‰?˜=Ô)¨T°ZÑ-?ØØ�‰�d˜T‘kÕ"ð#ð
 �7‰7�6‹?Ð÷3)ð )ús   •,CÃC')ÚreturnÚstr)?Ú__doc__Ú
__future__r   r  rØ   rú   Úinspectr   Úpathlibr   Úunittest.mockr   r   Úini2toml.apir   Úpackaging.metadatar   Ú
setuptoolsÚsetuptools.command.egg_infor	   Úsetuptools.configr
   r   r   Ú&setuptools.config._apply_pyprojecttomlr   r   Úsetuptools.distr   Úsetuptools.errorsr   Ú	downloadsr   r   Ú__file__ÚparentÚHERErù   r   r´   rµ   ró   Úuses_networkrb   ÚPEP621_EXAMPLEÚ"PEP621_INTERNATIONAL_EMAIL_EXAMPLErg   ro   ru   r{   r‚   r…   rò   Úxfailr“   r•   r©   r·   rÀ   rÅ   rõ   r   rG   r§   r   r   ú<module>r2     sñ  ðñõ #ã 	Û 	Û Ý Ý Ý ã Ý 'Ý 'ã Ý :ß =Ñ =ß TÝ (Ý 0ç 4áˆHƒ~×Ñ€Ø'€ò5ð ‡�×Ñ˜¡¨t°mÑ/CÓ DÓEØ‡�×Ñ˜HÓ%Ø‡�×Ññ,/ó ó &ó Fð,/ð^2€ðh&Ð "ðÐ ð Ø!óò$?ð ‡�×ÑØòóñ@óð@òIò?ð ‡�×ÑØ9àˆ�‰Øð3ð *ô	
ð 	ˆ�‰Ø.ØOØ—+‘+×#Ñ#ðHàð $ó ð
 %ô		
ðóñ.Mó/ð.M÷&,Sñ ,S÷^)ñ )÷6Jñ J÷*Mñ M÷[*ñ [*÷|Pñ P÷&ñ &ô,r   