
    vKg                         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	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                       \ rS rSr\" S5      r\S 5       r\R                  S 5       r
S rS rS rS r\R                  R!                  S	S
5      S 5       rSrg)TestDistInfo   z
        Metadata-Version: 1.2
        Requires-Dist: splort (==4)
        Provides-Extra: baz
        Requires-Dist: quux (>=1.1); extra == 'baz'
        c                 l    S UR                  5        5       nU R                  SR                  U5      -   $ )Nc              3   X   #    U H!  u  pS R                   " S0 [        5       D6v   M#     g7f)z{key}: {value}
N )formatlocals).0keyvalues      _/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/tests/test_dist_info.py	<genexpr>.TestDistInfo.build_metadata.<locals>.<genexpr>    s#     X:3#**6VX6s   (* )itemsmetadata_basejoin)clskwargsliness      r   build_metadataTestDistInfo.build_metadata   s+    XX  2775>11    c                    SnX-  nUR                  5         US-  nU R                  SS9nUR                  USS9  SnX-  nUR                  5         US-  nU R                  SS	S
9nUR                  USS9  [        U5      $ )Nz%VersionedDistribution-2.718.dist-infoMETADATAVersionedDistribution)Namer   r   z!UnversionedDistribution.dist-infoUnversionedDistribution0.3)r%   Version)mkdirr   
write_textstr)selftmpdirdist_info_name	versionedfilenamecontentunversioneds          r   metadataTestDistInfo.metadata#   s    @+	z)%%( & 
 	Gg6<-+%%* & 
 	Gg66{r!   c                     [        S [        R                  " U5       5       5      n[        U5      S:X  d   U5       eUS   nUS   nUR                  S:X  d   eUR                  S:X  d   eg )Nc              3   :   #    U H  oR                   U4v   M     g 7fN)project_name)r   ds     r   r   -TestDistInfo.test_distinfo.<locals>.<genexpr>;   s      
)SA^^Q)Ss      r&   r$   z2.718r'   )dictpkg_resourcesfind_distributionslenversion)r,   r3   distsr2   r/   s        r   test_distinfoTestDistInfo.test_distinfo:   sy     
)6)I)I()S
 
 5zQ%%5612	  G+++""e+++r!   c                 b   Sn[        [        [        R                  R                  U5      5      n[        R
                  " U5       Hf  nUR                  5       US S :X  d   eUR                  SS9US   [        R                  R	                  S5      /:X  d   eUR                  S/:X  a  Mf   e   g )N)z	splort==4z	quux>=1.1r   )baz)extrasr   zquux>=1.1;extra=="baz"rE   )listmapr=   Requirementparser>   requiresrF   )r,   r3   specsrK   r9   s        r   test_conditional_dependencies*TestDistInfo.test_conditional_dependenciesG   s    (M55;;UCD11(;A::<8BQ<///::X:.))//0HI3    88w&&& <r!   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)r*   recompileMIrun_command_inner
returncodesearchstdoutrG   glob)r,   tmp_pathconfigmsgprocs        r   test_invalid_version!TestDistInfo.test_invalid_versionS   s     Y	K	++FW+Ejj*BDD244K8 (%Hzz$++&&&&m455555r!   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
        rP   r   r   rQ   z	--no-daterR   rT   zproj-42z--tag-buildz.azproj-42a)	r*   printrun_commandnextr]   name
startswithshutilrmtree)r,   r^   r_   rQ   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
rP   r   r   __outz--keep-egg-inforQ   z--output-dirrR   rT   r   r   z
*.egg-infoz	*.__bkp__)r*   r)   rg   r?   rG   r]   int)r,   r^   ro   r_   outoptsexpected_egg_infos          r   test_output_dirTestDistInfo.test_output_dirs   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!   r   N)__name__
__module____qualname____firstlineno__r   r   classmethodr   pytestfixturer3   rB   rM   rb   rm   markparametrizerv   __static_attributes__r   r!   r   r   r      sv    	M 2 2 ^^ ,,
'
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)TestWheelCompatibility   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
    ))r   r   ).postz[egg_info]
tag_build = post
)r   z[egg_info]
tag_build = .post
)r   z)[egg_info]
tag_build = post
tag_date = 1
).devz[egg_info]
tag_build = .dev
)r   z)[egg_info]
tag_build = .dev
tag_date = 1
)a1z[egg_info]
tag_build = .a1
)z+localz[egg_info]
tag_build = +local
ri   zmy-proj my_proj my.proj My.Projr@   z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                  UR                  SS5       SU U 35      (       d   eS H!  n[        X-  5      [        X-  5      :X  a  M!   e   g )N)ri   r@   )	dir_wheeldir_distrP   r   r   bdist_wheelr   re   zdir_wheel/dist/*.whlunpackzunpack/*.dist-inforQ   r   zdir_dist/*.dist-info-_)r#   zentry_points.txt)SETUPCFGr   r)   r*   rg   rh   r]   r   ri   rj   replaceread)r,   ri   r@   r^   r   r   r_   iwheelwheel_dist_inforQ   files               r   &test_dist_info_is_the_same_as_in_wheel=TestWheelCompatibility.test_dist_info_is_the_same_as_in_wheel   s1    %%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~~((DLLc,B+C1WIfX)VWWWW2D	()T/2H-IIII 3r!   r   N)rx   ry   rz   r{   __doc__r   r   EGG_INFO_OPTSr}   r   r   splitr   r   r   r!   r   r   r      s     	H*
M [[V%F%L%L%NO[[Y4[[.>J ? 5 PJr!   r   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	   rS   z-cz __import__('setuptools').setup())
subprocessSTDOUTPIPEsys
executablerH   r+   run)cmdr   rt   s      r   rY   rY      s^    ##// D >>4!C
Tc#sm
TC>>#&&&r!   c                  ,    [        U 0 UD6R                  $ r7   )rY   r\   )argsr   s     r   rg   rg      s    d-f-444r!   )r   pathlibrU   rk   r   r   	functoolsr   r}   r=   setuptools.archive_utilr   textwrapr   Path	read_textr   r   r   rY   rg   r   r!   r   <module>r      s`    *  	   
    2 w||%%8m: m:`=J =J@
'5r!   