Ë
    nûàgiI  ã                   ó|  — d 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ZddlmZ ddlmZmZ ddlmZ ddlmZ ddlZddlZdej0                  dk(  z  d	z   Z G d
„ de«      Z G d„ de«      Zej8                  d„ «       Zej<                  ej>                  jA                  d«      ej>                  jA                  d«       G d„ dejB                  «      «       «       «       Z"ej>                  jA                  d«      ej>                  jA                  d«       G d„ dejB                  «      «       «       Z#y)zTests for distutils.dist.é    N)ÚCommand)ÚDistributionÚfix_help_options)Úsupport)ÚClassVarú.Úposixzpydistutils.cfgc                   ó@   — e Zd ZU dZdgZeeeeeef         e	d<   d„ Z
y)Ú	test_distz#Sample distutils extension command.)zsample-option=ÚSz	help textÚuser_optionsc                 ó   — d | _         y ©N)Úsample_option©Úselfs    úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/setuptools/_distutils/tests/test_dist.pyÚinitialize_optionsztest_dist.initialize_options   s
   € Ø!ˆÕó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚlistÚtupleÚstrÚ__annotations__r   © r   r   r   r      s2   … Ù-ð 	-ð:€L�(˜4  c¨3° mÑ 4Ñ5Ñ6ó ó"r   r   c                   ó   — e Zd ZdZd„ Zy)ÚTestDistributionz²Distribution subclasses that avoids the default search for
    configuration files.

    The ._config_files attribute must be set before
    .parse_config_files() is called.
    c                 ó   — | j                   S r   )Ú_config_filesr   s    r   Úfind_config_filesz"TestDistribution.find_config_files+   s   € Ø×!Ñ!Ð!r   N)r   r   r   r   r#   r   r   r   r    r    #   s   „ ñó"r   r    c                  ó*   — t         j                  dd …= y )Né   )ÚsysÚargvr   r   r   Ú
clear_argvr(   /   s   € ä�‰�‘‰r   Úsave_envÚ	save_argvc                   ó  — e Zd Zdd„Zd„ Zd„ Zej                  j                  de	j                  j                  vd¬«      d„ «       Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  dd¬«      d„ «       Zy)ÚTestDistributionBehaviorc                 óh   — t        «       }||_        |j                  «        |j                  «        |S r   )r    r"   Úparse_config_filesÚparse_command_line)r   ÚconfigfilesÚds      r   Úcreate_distributionz,TestDistributionBehavior.create_distribution8   s.   € ÜÓˆØ%ˆŒØ	×ÑÔØ	×ÑÔØˆr   c                 óŽ   — t         j                  j                  d«       | j                  «       }|j	                  «       dgk(  sJ ‚y )NÚbuildúdistutils.command)r&   r'   Úappendr2   Úget_command_packages)r   r(   r1   s      r   Ú!test_command_packages_unspecifiedz:TestDistributionBehavior.test_command_packages_unspecified?   s;   € Ü�‰�‰˜Ô Ø×$Ñ$Ó&ˆØ×%Ñ%Ó'Ð,?Ð+@Ò@Ð@Ñ@r   c                 ó   — ddl m} t        j                  j	                  g d¢«       | j                  «       }|j                  «       g d¢k(  sJ ‚|j                  d«      }t        ||«      sJ ‚|j                  dk(  sJ ‚y )Nr   )r   )ú--command-packageszfoo.bar,distutils.testsr   z
-Ssometext)r5   úfoo.barzdistutils.testsr   Úsometext)
Údistutils.tests.test_distr   r&   r'   Úextendr2   r7   Úget_command_objÚ
isinstancer   )r   r(   r   r1   Úcmds        r   Útest_command_packages_cmdlinez6TestDistributionBehavior.test_command_packages_cmdlineD   s€   € Ý7ä�‰�‰ò 
ô 	ð ×$Ñ$Ó&ˆà×%Ñ%Ó'ò ,
ò 
ð 	
ð 
ð
 ×Ñ Ó,ˆÜ˜#˜yÔ)Ð)Ð)Ø× Ñ  JÒ.Ð.Ñ.r   Ú	distutilsz;Cannot test when virtualenv has monkey-patched Distribution)Úreasonc                 óÎ  — t         j                  j                  d«       t        |dz  «      }d}t        j
                  j                  |d|› d|› d|› d|› d|› d	|› d
|› d|› d|› d|› d|› d|› d|› d�i«       t        j                  j                  t         dd¬«      5  | j                  |g«      }d d d «       ||f}|||||||||||||dœ}t        j                  j                  d«      j                  «       «      t        |j                  «       «      k(  sJ ‚|j                  j                  d«      j                  «       D ]  \  }}	|	||   k(  rŒJ ‚ t        j                  j                  t         dd¬«      5  | j                  |g«      }d d d «       |j                  «       D ]"  }||j                  j                  di «      vrŒ"J ‚ y # 1 sw Y   �ŒxY w# 1 sw Y   ŒLxY w)NÚinstallÚfilez/somedirzB
                    [install]
                    install-base = z(
                    install-platbase = z#
                    install-lib = z'
                    install-platlib = z'
                    install-purelib = z'
                    install-headers = z'
                    install-scripts = z$
                    install-data = z
                    prefix = z#
                    exec-prefix = z
                    home = z
                    user = z
                    root = z
                    z/a)ÚprefixÚbase_prefix)Úinstall_baseÚinstall_platbaseÚinstall_libÚinstall_platlibÚinstall_purelibÚinstall_headersÚinstall_scriptsÚinstall_datarH   Úexec_prefixÚhomeÚuserÚrootz/b)r&   r'   r6   r   ÚjaracoÚpathr4   ÚmockÚpatchÚmultipler2   ÚsortedÚcommand_optionsÚgetÚkeysÚitems)
r   Útmp_pathr(   rG   Úfakepathr1   Úoption_tupleÚresult_dictÚkeyÚvalues
             r   Útest_venv_install_optionsz2TestDistributionBehavior.test_venv_install_optionsX   sU  € ô
 	�‰�‰˜	Ô"Ü�8˜fÑ$Ó%ˆàˆä�‰×ÑØð $à$, :ð .(Ø(0 zð 2#Ø#+ *ð -'Ø'/ jð 1'Ø'/ jð 1'Ø'/ jð 1'Ø'/ jð 1$Ø$, :ð .Ø&˜Zð (#Ø#+ *ð -Ø$˜:ð &Ø$˜:ð &Ø$˜:ð &ðð
ô 	ô( �Z‰Z× Ñ ¤¨T¸tÐ ÓDñ 	1Ø×(Ñ(¨$¨Ó0ˆA÷	1ð ˜hÐ'ˆð )Ø ,Ø'Ø+Ø+Ø+Ø+Ø(Ø"Ø'Ø Ø Ø ñ
ˆô  �a×'Ñ'×+Ñ+¨IÓ6×;Ñ;Ó=Ó>Ä&Ø×ÑÓóC
ò 
ð 	
ð 
ð ×+Ñ+×/Ñ/°	Ó:×@Ñ@ÓBò 	-‰JˆC�Ø˜K¨Ñ,Ó,Ð,Ð,ð	-ô �Z‰Z× Ñ ¤¨T¸tÐ ÓDñ 	1Ø×(Ñ(¨$¨Ó0ˆA÷	1ð ×#Ñ#Ó%ò 	CˆCØ˜a×/Ñ/×3Ñ3°I¸rÓBÒBÐBÐBñ	C÷A	1ñ 	1ú÷:	1ð 	1ús   ÂGÅ=GÇGÇG$c                 óè  — t         j                  j                  d«       t        |dz  «      }t        j
                  j                  |di«       | j                  |g«      }|j                  «       g d¢k(  sJ ‚g d¢t         j                  dd  | j                  |g«      }|j                  «       ddgk(  sJ ‚g d	¢t         j                  dd  | j                  |g«      }|j                  «       dgk(  sJ ‚y )
Nr4   rG   zh
                    [global]
                    command_packages = foo.bar, splat
                    )r5   r;   Úsplat)r:   Úsporkr4   r%   r5   ri   )r:   Ú r4   )	r&   r'   r6   r   rV   rW   r4   r2   r7   )r   r`   r(   rG   r1   s        r   Ú test_command_packages_configfilez9TestDistributionBehavior.test_command_packages_configfile™   së   € Ü�‰�‰˜Ô Ü�8˜fÑ$Ó%ˆÜ�‰×ÑØð ð
ô 	ð ×$Ñ$ d VÓ,ˆØ×%Ñ%Ó'Ò+TÒTÐTÐTò @Œ�‰��ˆØ×$Ñ$ d VÓ,ˆØ×%Ñ%Ó'Ð,?ÀÐ+IÒIÐIÐIò ;Œ�‰��ˆØ×$Ñ$ d VÓ,ˆØ×%Ñ%Ó'Ð,?Ð+@Ò@Ð@Ñ@r   c                 ó  ‡— g Šˆfd„}|j                  t        j                  t        t        dt        j
                  «      «       |t        _        t        ddddi dœ¬«      }t        ‰«      dk(  sJ ‚dt        |«      vsJ ‚y )	Nc                 ó(   •— ‰j                  | «       y r   )r6   )ÚmsgÚwarnss    €r   Ú_warnz:TestDistributionBehavior.test_empty_options.<locals>._warn¸   s   ø€ Ø�L‰L˜Õr   ÚwarnÚxxxÚxxxx)ÚauthorÚnameÚversionÚurlÚoptions©Úattrsr   rx   )	ÚaddfinalizerÚ	functoolsÚpartialÚsetattrÚwarningsrq   r   ÚlenÚdir)r   Úrequestrp   Údistro   s       @r   Útest_empty_optionsz+TestDistributionBehavior.test_empty_options±   s‚   ø€ ð
 ˆô	ð 	×ÑÜ×Ñœg¤x°¼¿¹ÓGô	
ð ŒŒÜàØØ ØØñô
ˆô �5‹z˜QŠÐˆØ¤ D£	Ñ)Ð)Ñ)r   c                 ól  — dddœ}t        |¬«      }|j                  «        |j                  j                  ddgk(  sJ ‚|j                  j                  ddgk(  sJ ‚dddœ}t        |¬«      }|j                  «        |j                  j                  dgk(  sJ ‚|j                  j                  dgk(  sJ ‚y )Núone,two)ÚkeywordsÚ	platformsry   ÚoneÚtwozfoo bar)r   Úfinalize_optionsÚmetadatarˆ   r‡   ©r   rz   rƒ   s      r   Útest_finalize_optionsz.TestDistributionBehavior.test_finalize_optionsÌ   s°   € Ø&°YÑ?ˆä %Ô(ˆØ×ÑÔð �}‰}×&Ñ&¨5°%¨.Ò8Ð8Ð8Ø�}‰}×%Ñ%¨%°¨Ò7Ð7Ð7à&°YÑ?ˆÜ %Ô(ˆØ×ÑÔØ�}‰}×&Ñ&¨9¨+Ò5Ð5Ð5Ø�}‰}×%Ñ%¨)¨Ò4Ð4Ñ4r   c                 óÈ   — t        «       }|j                  �J ‚|j                  «       }|dgk(  sJ ‚|j                  dgk(  sJ ‚d|_        |j                  «       }|g d¢k(  sJ ‚y )Nr5   r†   )r5   r‰   rŠ   )r   Úcommand_packagesr7   )r   rƒ   Úcmdss      r   Útest_get_command_packagesz2TestDistributionBehavior.test_get_command_packagesÜ   sx   € Ü‹~ˆØ×$Ñ$Ð,Ð,Ð,Ø×(Ñ(Ó*ˆØÐ+Ð,Ò,Ð,Ð,Ø×$Ñ$Ð)<Ð(=Ò=Ð=Ð=à )ˆÔØ×(Ñ(Ó*ˆØÒ:Ò:Ð:Ñ:r   c                 óš   — t        «       }t        j                  t        «      5  |j	                  dd¬«       d d d «       y # 1 sw Y   y xY w)NÚokÚok2)Úlevel)r   ÚpytestÚraisesÚ	TypeErrorÚannounce)r   rƒ   s     r   Útest_announcez&TestDistributionBehavior.test_announceç   s:   € ä‹~ˆÜ�]‰]œ9Ó%ñ 	-Ø�M‰M˜$ eˆMÔ,÷	-÷ 	-ñ 	-ús   ¤AÁA
c                 óú   — t         j                  j                  t        di|«       t	        «       }|j                  «       }t	        ddgi¬«      }|j                  «       }t        |«      dz
  t        |«      k(  sJ ‚y )Nz[distutils]
Úscript_argsú--no-user-cfgry   r%   )rV   rW   r4   Úpydistutils_cfgr   r#   r€   )r   Ú	temp_homer1   Ú	all_filesÚfiless        r   Útest_find_config_files_disablez7TestDistributionBehavior.test_find_config_files_disableí   sm   € ä�‰×Ñœ?¨OÐ<¸iÔHä‹NˆØ×'Ñ'Ó)ˆ	ä °Ð/@ÐAÔBˆØ×#Ñ#Ó%ˆô �9‹~ Ñ!¤S¨£ZÒ/Ð/Ñ/r   c                 óF   — t        ddi¬«      }|j                  ddgk(  sJ ‚y )Nr�   )r4   rž   ry   r4   rž   )r   r�   )r   r1   s     r   Útest_script_args_list_coercionz7TestDistributionBehavior.test_script_args_list_coercionú   s+   € Ü Ð/IÐJÔKˆð �}‰} ¨/Ð :Ò:Ð:Ñ:r   zplatform.system() == "Windows"z Windows does not honor chmod 000c                 ó¢   — |j                  t        «      j                  dd¬«       |j                  d«       t	        «       j                  «        y)zV
        Finding config files should not fail when directory is inaccessible.
        rj   zutf-8)Úencodingr   N)ÚjoinpathrŸ   Ú
write_textÚchmodr   r#   )r   Ú	fake_homes     r   Ú'test_find_config_files_permission_errorz@TestDistributionBehavior.test_find_config_files_permission_error   s<   € ð 	×Ñœ?Ó+×6Ñ6°rÀGÐ6ÔLØ�‰˜ÔÜ‹×(Ñ(Õ*r   N)r   )r   r   r   r2   r8   rB   r—   ÚmarkÚskipifr   r.   rf   rk   r„   rŽ   r’   r›   r£   r¥   r¬   r   r   r   r,   r,   4   s¦   „ óòAò
/ð( ‡[�[×ÑØ˜<×:Ñ:×EÑEÐEØLð ó ñ;Có	ð;CòzAò0*ò65ò 	;ò-ò0ò;ð ‡[�[×ÑØ(Ø1ð ó ñ+ó	ñ+r   r,   c                   óœ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestMetadatac                 ó€   — t        j                  «       }|j                  j                  |«       |j	                  «       S r   )ÚioÚStringIOrŒ   Úwrite_pkg_fileÚgetvalue)r   rƒ   Úsios      r   Úformat_metadatazTestMetadata.format_metadata  s+   € Ü�k‰k‹mˆØ�‰×$Ñ$ SÔ)Ø�|‰|‹~Ðr   c                 óÊ   — dddœ}t        |«      }| j                  |«      }d|v sJ ‚d|j                  «       vsJ ‚d|j                  «       vsJ ‚d|j                  «       vsJ ‚y )NÚpackageú1.0)ru   rv   zMetadata-Version: 1.0ú	provides:ú	requires:ú
obsoletes:)r   r·   Úlower©r   rz   rƒ   Úmetas       r   Útest_simple_metadataz!TestMetadata.test_simple_metadata  sp   € Ø"¨uÑ5ˆÜ˜EÓ"ˆØ×#Ñ# DÓ)ˆØ&¨$Ñ.Ð.Ð.Ø $§*¡*£,Ñ.Ð.Ð.Ø $§*¡*£,Ñ.Ð.Ð.Ø 4§:¡:£<Ñ/Ð/Ñ/r   c                 ó  — ddddgdœ}t        |«      }|j                  j                  «       ddgk(  sJ ‚|j                  «       ddgk(  sJ ‚| j                  |«      }d|v sJ ‚d|j	                  «       vsJ ‚d|j	                  «       vsJ ‚y )Nr¹   rº   zpackage.sub©ru   rv   ÚprovidesúMetadata-Version: 1.1r¼   r½   )r   rŒ   Úget_providesr·   r¾   r¿   s       r   Útest_provideszTestMetadata.test_provides  s¥   € àØØ" MÐ2ñ
ˆô
 ˜EÓ"ˆØ�}‰}×)Ñ)Ó+°	¸=Ð/IÒIÐIÐIØ× Ñ Ó" y°-Ð&@Ò@Ð@Ð@Ø×#Ñ# DÓ)ˆØ&¨$Ñ.Ð.Ð.Ø $§*¡*£,Ñ.Ð.Ð.Ø 4§:¡:£<Ñ/Ð/Ñ/r   c                 ó€   — t        j                  t        «      5  t        dddgdœ«       d d d «       y # 1 sw Y   y xY w)Nr¹   rº   úmy.pkg (splat)rÃ   ©r—   r˜   Ú
ValueErrorr   r   s    r   Útest_provides_illegalz"TestMetadata.test_provides_illegal,  ó9   € Ü�]‰]œ:Ó&ñ 	ÜØ"¨uÐCSÐBTÑUô÷	÷ 	ñ 	úó   š4´=c                 ó0  — ddddgdœ}t        |«      }|j                  j                  «       ddgk(  sJ ‚|j                  «       ddgk(  sJ ‚| j                  |«      }d|v sJ ‚d|j	                  «       vsJ ‚d|v sJ ‚d	|v sJ ‚d
|j	                  «       vsJ ‚y )Nr¹   rº   Úotherzanother (==1.0)©ru   rv   ÚrequiresrÅ   r»   zRequires: otherzRequires: another (==1.0)r½   )r   rŒ   Úget_requiresr·   r¾   r¿   s       r   Útest_requireszTestMetadata.test_requires2  sÄ   € àØØ Ð"3Ð4ñ
ˆô
 ˜EÓ"ˆØ�}‰}×)Ñ)Ó+°Ð9JÐ/KÒKÐKÐKØ× Ñ Ó" wÐ0AÐ&BÒBÐBÐBØ×#Ñ# DÓ)ˆØ&¨$Ñ.Ð.Ð.Ø $§*¡*£,Ñ.Ð.Ð.Ø  DÑ(Ð(Ð(Ø*¨dÑ2Ð2Ð2Ø 4§:¡:£<Ñ/Ð/Ñ/r   c                 ó€   — t        j                  t        «      5  t        dddgdœ«       d d d «       y # 1 sw Y   y xY w)Nr¹   rº   rÉ   rÑ   rÊ   r   s    r   Útest_requires_illegalz"TestMetadata.test_requires_illegalB  rÍ   rÎ   c                 ó„   — dt        dg«      dœ}t        |«      }t        |j                  j                  t
        «      sJ ‚y )Nr¹   rÐ   )ru   rÒ   )Úiterr   r@   rŒ   rÒ   r   r�   s      r   Útest_requires_to_listz"TestMetadata.test_requires_to_listH  s6   € Ø"´°g°Y³Ñ@ˆÜ˜EÓ"ˆÜ˜$Ÿ-™-×0Ñ0´$Ô7Ð7Ñ7r   c                 ó0  — ddddgdœ}t        |«      }|j                  j                  «       ddgk(  sJ ‚|j                  «       ddgk(  sJ ‚| j                  |«      }d|v sJ ‚d|j	                  «       vsJ ‚d|j	                  «       vsJ ‚d	|v sJ ‚d
|v sJ ‚y )Nr¹   rº   rÐ   zanother (<1.0)©ru   rv   Ú	obsoletesrÅ   r»   r¼   zObsoletes: otherzObsoletes: another (<1.0))r   rŒ   Úget_obsoletesr·   r¾   r¿   s       r   Útest_obsoleteszTestMetadata.test_obsoletesM  sÄ   € àØØ!Ð#3Ð4ñ
ˆô
 ˜EÓ"ˆØ�}‰}×*Ñ*Ó,°Ð:JÐ0KÒKÐKÐKØ×!Ñ!Ó#¨Ð1AÐ'BÒBÐBÐBØ×#Ñ# DÓ)ˆØ&¨$Ñ.Ð.Ð.Ø $§*¡*£,Ñ.Ð.Ð.Ø $§*¡*£,Ñ.Ð.Ð.Ø! TÑ)Ð)Ð)Ø*¨dÑ2Ð2Ñ2r   c                 ó€   — t        j                  t        «      5  t        dddgdœ«       d d d «       y # 1 sw Y   y xY w)Nr¹   rº   rÉ   rÛ   rÊ   r   s    r   Útest_obsoletes_illegalz#TestMetadata.test_obsoletes_illegal]  s9   € Ü�]‰]œ:Ó&ñ 	ÜØ"¨uÐDTÐCUÑVô÷	÷ 	ñ 	úrÎ   c                 ó„   — dt        dg«      dœ}t        |«      }t        |j                  j                  t
        «      sJ ‚y )Nr¹   rÐ   )ru   rÜ   )rØ   r   r@   rŒ   rÜ   r   r�   s      r   Útest_obsoletes_to_listz#TestMetadata.test_obsoletes_to_listc  s6   € Ø"´°w°i³ÑAˆÜ˜EÓ"ˆÜ˜$Ÿ-™-×1Ñ1´4Ô8Ð8Ñ8r   c                 ó‚   — dddgdœ}t        |«      }|j                  «       dgk(  sJ ‚| j                  |«      }d|v sJ ‚y )NÚBoaú3.0ú#Programming Language :: Python :: 3©ru   rv   ÚclassifiersrÅ   )r   Úget_classifiersr·   r¿   s       r   Útest_classifierzTestMetadata.test_classifierh  sZ   € àØØAÐBñ
ˆô
 ˜EÓ"ˆØ×#Ñ#Ó%Ð*OÐ)PÒPÐPÐPØ×#Ñ# DÓ)ˆØ&¨$Ñ.Ð.Ñ.r   c                 óæ   — ddddœ}t        |«      }d|j                  d   v sJ ‚t        |j                  j                  t
        «      sJ ‚|j                  j                  t        |d   «      k(  sJ ‚y )Nrä   rå   )ræ   rç   úshould be a listr   rè   )r   Úmessagesr@   rŒ   rè   r   ©r   Úcaplogrz   r1   s       r   Útest_classifier_invalid_typez)TestMetadata.test_classifier_invalid_types  sq   € àØØCñ
ˆô
 ˜Óˆà! V§_¡_°QÑ%7Ñ7Ð7Ð7ä˜!Ÿ*™*×0Ñ0´$Ô7Ð7Ð7Ø�z‰z×%Ñ%¬¨e°MÑ.BÓ)CÒCÐCÑCr   c                 óX   — ddg d¢dœ}t        |«      }|j                  «       g d¢k(  sJ ‚y )NÚMontyrº   ©ÚspamÚeggszlife of brian©ru   rv   r‡   )r   Úget_keywordsr�   s      r   Útest_keywordszTestMetadata.test_keywords€  s6   € àØÚ9ñ
ˆô
 ˜EÓ"ˆØ× Ñ Ó"Ò&GÒGÐGÑGr   c                 óæ   — ddddœ}t        |«      }d|j                  d   v sJ ‚t        |j                  j                  t
        «      sJ ‚|j                  j                  t        |d   «      k(  sJ ‚y )Nrò   rº   ró   rö   rì   r   r‡   )r   rí   r@   rŒ   r‡   r   rî   s       r   Útest_keywords_invalid_typez'TestMetadata.test_keywords_invalid_type‰  sq   € àØØ9ñ
ˆô
 ˜Óˆà! V§_¡_°QÑ%7Ñ7Ð7Ð7ä˜!Ÿ*™*×-Ñ-¬tÔ4Ð4Ð4Ø�z‰z×"Ñ"¤d¨5°Ñ+<Ó&=Ò=Ð=Ñ=r   c                 óX   — ddddgdœ}t        |«      }|j                  «       ddgk(  sJ ‚y )Nrò   rº   ú	GNU/LinuxúSome Evil Platform©ru   rv   rˆ   )r   Úget_platformsr�   s      r   Útest_platformszTestMetadata.test_platforms–  sA   € àØØ%Ð';Ð<ñ
ˆô
 ˜EÓ"ˆØ×!Ñ!Ó#¨Ð5IÐ'JÒJÐJÑJr   c                 óæ   — ddddœ}t        |«      }d|j                  d   v sJ ‚t        |j                  j                  t
        «      sJ ‚|j                  j                  t        |d   «      k(  sJ ‚y )Nrò   rº   )rü   rý   rþ   rì   r   rˆ   )r   rí   r@   rŒ   rˆ   r   rî   s       r   Útest_platforms_invalid_typesz)TestMetadata.test_platforms_invalid_typesŸ  sq   € àØØ<ñ
ˆô
 ˜Óˆà! V§_¡_°QÑ%7Ñ7Ð7Ð7ä˜!Ÿ*™*×.Ñ.´Ô5Ð5Ð5Ø�z‰z×#Ñ#¤t¨E°+Ñ,>Ó'?Ò?Ð?Ñ?r   c                 óT   — ddddœ}t        |«      }| j                  |«      }d|v sJ ‚y )Nrä   rå   zhttp://example.org/boa)ru   rv   Údownload_urlrÅ   )r   r·   r¿   s       r   Útest_download_urlzTestMetadata.test_download_url¬  s<   € àØØ4ñ
ˆô
 ˜EÓ"ˆØ×#Ñ# DÓ)ˆØ&¨$Ñ.Ð.Ñ.r   c                 ó¢   — t        j                  d«      }dd|dœ}t        |«      }| j                  |«      }|j	                  dd«      }||v sJ ‚y )Nzc        example::
              We start here
            and continue here
          and end here.r¹   rº   ©ru   rv   Úlong_descriptionz	
        ú
)ÚtextwrapÚdedentr   r·   Úreplace)r   Ú	long_descrz   rƒ   rÀ   s        r   Útest_long_descriptionz"TestMetadata.test_long_description¶  s[   € Ü—O‘Oðó
ˆ	ð #¨uÈ)ÑTˆä˜EÓ"ˆØ×#Ñ# DÓ)ˆØ�|‰|˜N¨DÓ1ˆØ˜DÑ Ð Ñ r   c                 ó¬   — t         j                  j                  t        di|«       |t        z  }t	        |«      t        «       j                  «       v sJ ‚y)z*
        pydistutils.cfg is found
        rj   N)rV   rW   r4   rŸ   r   r   r#   )r   r    Úconfig_paths      r   Útest_custom_pydistutilsz$TestMetadata.test_custom_pydistutilsÅ  sE   € ô 	�‰×Ñœ?¨BÐ/°Ô;Ø¤/Ñ1ˆä�;Ó¤<£>×#CÑ#CÓ#EÑEÐEÑEr   c                 óÒ   — t         j                  j                  ddi|«       |dz  }|j                  dt	        |«      «       t	        |«      t        «       j                  «       v sJ ‚y )Nzoverrides.cfgrj   ÚDIST_EXTRA_CONFIG)rV   rW   r4   Úsetenvr   r   r#   )r   Úmonkeypatchr`   Úfilenames       r   Útest_extra_pydistutilsz#TestMetadata.test_extra_pydistutilsÎ  sW   € Ü�‰×Ñ˜?¨BÐ/°Ô:Ø˜oÑ-ˆØ×ÑÐ.´°H³Ô>Ü�8‹}¤£× @Ñ @Ó BÑBÐBÑBr   c                 óJ   — ddg}t        |«      }|d   dk(  sJ ‚|d   dk(  sJ ‚y )N)ÚaÚbÚcr1   )r%   é   é   é   r   )r  r  r  r%   )r%   r  r  )r   )r   Úhelp_tuplesÚfancy_optionss      r   Útest_fix_help_optionsz"TestMetadata.test_fix_help_optionsÔ  s<   € Ø+¨\Ð:ˆÜ(¨Ó5ˆØ˜QÑ ?Ò2Ð2Ð2Ø˜QÑ 9Ò,Ð,Ñ,r   c                 ó  — t        «       }g t        _        d|_        d|_        |j                  «        |j                  «       j                  j                  d«      D �cg c]  }|j                  «       dk7  sŒ|‘Œ }}|sJ ‚y c c}w )NTzsetup.pyr	  rj   )
r   r&   r'   ÚhelpÚscript_namer/   Ú
readouterrÚoutÚsplitÚstrip)r   r‚   Úcapsysrƒ   ÚlineÚoutputs         r   Útest_show_helpzTestMetadata.test_show_helpÚ  s}   € ä‹~ˆØŒŒØˆŒ	Ø%ˆÔØ×ÑÔ!ð $×.Ñ.Ó0×4Ñ4×:Ñ:¸4Ó@ö
ØÀDÇJÁJÃLÐTVÓDVŠDð
ˆð 
ñ ˆ‰vùò
s   ÁBÁ8Bc                 óä  — dddddddgdgd	œ}t        |«      }|j                  }t        j                  «       }|j	                  |«       |j                  d
«       |j                  |«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  ddgk(  sJ ‚|j                  �J ‚|j                  �J ‚|j                  dgk(  sJ ‚y )Nr¹   rº   Údescrr   zhttp://example.comr‰   rŠ   Úfoo)ru   rv   r  Údescriptionr  r‡   rÒ   r   )r   rŒ   r²   r³   r´   ÚseekÚread_pkg_fileru   rv   r0  r  r‡   rˆ   rÜ   rÒ   )r   rz   rƒ   rŒ   ÚPKG_INFOs        r   Útest_read_metadatazTestMetadata.test_read_metadataç  s  € àØØ &Ø Ø0Ø ˜Ø˜ñ
ˆô ˜EÓ"ˆØ—=‘=ˆô —;‘;“=ˆØ×Ñ Ô)Ø�‰�aÔØ×Ñ˜xÔ(à�}‰} 	Ò)Ð)Ð)Ø×Ñ 5Ò(Ð(Ð(Ø×#Ñ# uÒ,Ð,Ð,Ø×$Ñ$Ð(<Ò<Ð<Ð<Ø× Ñ  U¨E NÒ2Ð2Ð2Ø×!Ñ!Ð)Ð)Ð)Ø×!Ñ!Ð)Ð)Ð)Ø× Ñ  U GÒ+Ð+Ñ+r   c                 ó¼  — ddddœ}t        |«      }|j                  }t        j                  «       5 }|j	                  |«       |j                  «       }ddd«       t        j                  «      }t        j                  j                  ddd¬	«      }t        j                  «       5 }t        j                  j                  ||¬
«      j                  |«       |j                  d«       t        j                  |«      }ddd«       t        |d   j!                  «       «      }	t        d   j!                  «       «      }
|
|	k(  sJ ‚y# 1 sw Y   ŒóxY w# 1 sw Y   ŒUxY w)z½
        In pypa/setuptools#4033, it was shown that once PKG-INFO is
        re-generated using ``email.generator.Generator``, some control
        characters might cause problems.
        r¹   rº   zhello
world
r  NTFr   )Úutf8Úmangle_from_Úmax_line_length)ÚpolicyÚDescription)r   rŒ   r²   r³   r´   rµ   ÚemailÚmessage_from_stringr9  ÚEmailPolicyÚ	generatorÚ	GeneratorÚflattenr1  Úmessage_from_fileÚsetÚ
splitlines)r   rz   rƒ   rŒ   Úbufferrn   Úorigr9  ÚregenÚ	orig_descÚ
regen_descs              r   Ú'test_round_trip_through_email_generatorz4TestMetadata.test_round_trip_through_email_generator  s6  € ð ØØ 4ñ
ˆô
 ˜EÓ"ˆØ—=‘=ˆä�[‰[‹]ð 	$˜fØ×#Ñ# FÔ+Ø—/‘/Ó#ˆC÷	$ô
 ×(Ñ(¨Ó-ˆÜ—‘×)Ñ)ØØØð *ó 
ˆô
 �[‰[‹]ð 	4˜fÜ�O‰O×%Ñ% f°VÐ%Ó<×DÑDÀTÔJà�K‰K˜ŒNÜ×+Ñ+¨FÓ3ˆE÷		4ô ˜˜]Ñ+×6Ñ6Ó8Ó9ˆ	Ü˜˜}Ñ-×8Ñ8Ó:Ó;ˆ
Ø˜YÒ&Ð&Ñ&÷+	$ð 	$ú÷	4ð 	4ús   ²"EÂ'AEÅEÅEN)r   r   r   r·   rÁ   rÇ   rÌ   rÔ   rÖ   rÙ   rÞ   rà   râ   rê   rð   rø   rú   r   r  r  r  r  r  r!  r,  r4  rI  r   r   r   r°   r°     s€   „ òò
0ò0òò0ò ò8ò
3ò ò9ò
	/òDòHò>òKò@ò/ò!òFòCò-òò,ó:$'r   r°   )$r   r;  Úemail.generatorÚemail.policyr|   r²   Úosr&   r
  Úunittest.mockrX   r   Údistutils.cmdr   Údistutils.distr   r   Údistutils.testsr   Útypingr   Újaraco.pathrV   r—   ru   rŸ   r   r    Úfixturer(   Úcombine_markersr­   ÚusefixturesÚTempdirManagerr,   r°   r   r   r   ú<module>rW     s$  ðÙ ã Û Û Û Û 	Û 	Û 
Û Ý Û Ý !ß 9Ý #Ý ã Û à˜Ÿ™ GÑ+Ñ,Ð/@Ñ@€ô"�ô "ô	"�|ô 	"ð ‡�ñó ðð 	×ÑØ‡�×Ñ˜Ó$Ø‡�×Ñ˜Ó%ôS+˜w×5Ñ5ó S+ó &ó %ó ðS+ðl ‡�×Ñ˜Ó$Ø‡�×Ñ˜Ó%ôY'�7×)Ñ)ó Y'ó &ó %ñY'r   