
    n&ph|                         S r SSKrSSKrSSKrSSKrSSKrSSKJr  SSKrSSK	J
r
  SSKJr  \" \R                  R                  SS9r " S	 S
5      r " S S5      rS rS rg)z$Test .dist-info style distributions.    N)partial)unpack_archive   )DALSutf-8encodingc                   d    \ rS rSrS rS r\R                  R                  SS5      S 5       r	Sr
g)	TestDistInfo   c                 \   SnUS-  R                  USS9  [        R                  " S[        R                  [        R                  -  5      n[        SUSS9nUR                  (       d   eUR                  UR                  5      (       d   e[        UR                  S	5      5      (       a   eg
)z1
Supplying an invalid version crashes dist_info.
z@[metadata]
name=proj
version=42
[egg_info]
tag_build=invalid!!!
	setup.cfgr   r   zinvalid version	dist_infoF)cwdcheck*.dist-infoN)
write_textrecompileMIrun_command_inner
returncodesearchstdoutlistglob)selftmp_pathconfigmsgprocs        R/var/www/html/venv/lib/python3.13/site-packages/setuptools/tests/test_dist_info.pytest_invalid_version!TestDistInfo.test_invalid_version   s     Y	K	++FW+Ejj*BDD244K8 (%Hzz$++&&&&m455555    c           	         SnUS-  R                  USS9  [        [        SSUS95        [        UR	                  S5      5      nUR
                  R                  S	5      (       d   e[        R                  " U5        [        [        SS
SUS95        [        UR	                  S5      5      nUR
                  R                  S5      (       d   eg )Nz
        [metadata]
        name=proj
        version=42
        [egg_info]
        tag_date=1
        tag_build=.post
        r   r   r   r   z	--no-dater   r   zproj-42z--tag-buildz.azproj-42a)	r   printrun_commandnextr   name
startswithshutilrmtree)r   r   r    r   s       r#   test_tag_argumentsTestDistInfo.test_tag_arguments    s     
K	++FW+Ek+{AB}56	~~((3333i k+}dIJ}56	~~((4444r&   keep_egg_info)FTc                    SnUS-  R                  USS9  US-  nUR                  5         U(       a  S/O/ n[        SSU/UQ7S	U06  [        [	        UR                  S
5      5      5      S:X  d   e[        [	        UR                  S
5      5      5      S:X  d   e[        U5      n[        [	        UR                  S5      5      5      U:X  d   e[        [	        UR                  S5      5      5      S:X  d   e[        [	        UR                  S5      5      5      S:X  d   e[        [	        UR                  S5      5      5      S:X  d   eg )Nz [metadata]
name=proj
version=42
r   r   r   __outz--keep-egg-infor   z--output-dirr   r   r   r   z
*.egg-infoz	*.__bkp__)r   mkdirr*   lenr   r   int)r   r   r2   r    outoptsexpected_egg_infos          r#   test_output_dirTestDistInfo.test_output_dir4   s'   6	K	++FW+E 		&3!"KJtJJ4/01Q6664m456!;;;.4./04EEEE4l345:::4-./14444k234999r&    N)__name__
__module____qualname____firstlineno__r$   r0   pytestmarkparametrizer;   __static_attributes__r=   r&   r#   r   r      s1    
65( [[_m<: =:r&   r   c                      \ rS rSrSr\" S5      r/ SQr\R                  R                  SSR                  5       5      \R                  R                  SS/5      \R                  R                  S	\5      S
 5       5       5       rSrg)TestWheelCompatibilityE   zMake sure the .dist-info directory produced with the ``dist_info`` command
is the same as the one produced by ``bdist_wheel``.
ae  
    [metadata]
    name = {name}
    version = {version}

    [options]
    install_requires =
        foo>=12; sys_platform != "linux"

    [options.extras_require]
    test = pytest

    [options.entry_points]
    console_scripts =
        executable-name = my_package.module:function
    discover =
        myproj = my_package.other_module:function
    )) rI   ).postz[egg_info]
tag_build = post
)rJ   z[egg_info]
tag_build = .post
)rJ   z)[egg_info]
tag_build = post
tag_date = 1
).devz[egg_info]
tag_build = .dev
)rK   z)[egg_info]
tag_build = .dev
tag_date = 1
)a1z[egg_info]
tag_build = .a1
)z+localz[egg_info]
tag_build = +local
r,   zmy-proj my_proj my.proj My.Projversionz0.42.13)suffixcfgc                 \   U R                   R                  XS9U-   nS H*  nX7-  R                  5         X7-  S-  R                  USS9  M,     [	        SUS-  S9  [        UR                  S	5      5      n[        XS
-  5        [        UR                  S5      5      n	[	        SUS-  S9  [        UR                  S5      5      n
U
R                  U	R                  :X  d   eU
R                  R                  SU U 35      (       d   eS H!  n[        X-  5      [        X-  5      :X  a  M!   e   g )N)r,   rM   )	dir_wheeldir_distr   r   r   bdist_wheelrQ   r(   zdir_wheel/dist/*.whlunpackzunpack/*.dist-infor   rR   zdir_dist/*.dist-infozmy_proj-)METADATAzentry_points.txt)SETUPCFGformatr5   r   r*   r+   r   r   r,   r-   read)r   r,   rM   r   rN   rO   r    iwheelwheel_dist_infor   files               r#   &test_dist_info_is_the_same_as_in_wheel=TestWheelCompatibility.test_dist_info_is_the_same_as_in_wheelk   s!    %%4%ACG(A\  "\K'33FW3M ) 	Mx+'=>X]]#9:;u12x}}-ABCKX
%:;'=>?	~~!5!5555~~((8G9VH)EFFFF2D	()T/2H-IIII 3r&   r=   N)r>   r?   r@   rA   __doc__r   rV   EGG_INFO_OPTSrB   rC   rD   splitr]   rE   r=   r&   r#   rG   rG   E   s     	H*
M [[V%F%L%L%NO[[Y4[[.>J ? 5 PJr&   rG   c                      [         R                  [         R                  SSSS.UEn[        R                  SS/[        [        U 5      Qn [         R                  " U 40 UD6$ )NTr   )stderrr   textr	   r   z-cz __import__('setuptools').setup())
subprocessSTDOUTPIPEsys
executablemapstrrun)cmdkwargsr9   s      r#   r   r      s^    ##// D >>4!C
Tc#sm
TC>>#&&&r&   c                  ,    [        U 0 UD6R                  $ )N)r   r   )argsrn   s     r#   r*   r*      s    d-f-444r&   )r_   pathlibr   r.   re   rh   	functoolsr   rB   setuptools.archive_utilr   textwrapr   Path	read_textrX   r   rG   r   r*   r=   r&   r#   <module>rw      s[    *  	   
   2 w||%%8/: /:d=J =J@
'5r&   