
    vKg	                     b    S r SSKrSSKrSSKrSSKJr  SSKJr  S
S jr " S S5      r	S r
S	 rg)zReusable functions and classes for different types of integration tests.

For example ``Archive`` can be used to check the contents of distribution built
with setuptools, and ``run`` will always try to be as verbose as possible to
facilitate debugging.
    N)Path)ZipFilec           	         [         R                  " U SSS0 [        R                  EU=(       d    0 ES9nUR                  S-   UR
                  -   n[        S5        [        SU  SUR                   SU 35        UR                  S	:X  a  U$ [         R                  " UR                  XR                  UR
                  5      e)
NTutf-8)capture_outputtextencodingenv
z<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z	Command: z
return code: z

r   )	
subprocessrunosenvironstdoutstderrprint
returncodeCalledProcessError)cmdr
   routs       d/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/tests/integration/helpers.pyr   r      s    )rzz)ciR)	A ((T/AHH
$C	
HI	IcU/!,,tC5
AB||q


'
'c88QXX
NN    c                   0    \ rS rSrSrS rS rS rS rSr	g)	Archive#   z5Compatibility layer for ZipFile/Info and TarFile/Infoc                     Xl         UR                  S5      (       a  [        R                  " US5      U l        g UR                  S5      (       a  [        U5      U l        g [        U S35      e)Nztar.gzr:gzzipz# doesn't seem to be a zip or tar.gz)	_filenameendswithtarfileopen_objr   
ValueError)selffilenames     r   __init__Archive.__init__&   sZ    !X&&Xv6DIu%%)DIz)LMNNr   c                     [        U R                  S5      (       a#  [        U R                  R                  5       5      $ [        U R                  5      $ )Ninfolist)hasattrr$   iterr+   )r&   s    r   __iter__Archive.__iter__/   s9    499j))		**,--DIIr   c                 T    [        US5      (       a  UR                  $ UR                  $ )Nr'   )r,   r'   name)r&   zip_or_tar_infos     r   get_nameArchive.get_name4   s'    ?J//"+++###r   c                 @   [        U R                  S5      (       a_  U R                  R                  U5      nUc'  SUR                   SU R                   3n[        U5      e[        UR                  5       S5      $ [        U R                  R                  U5      S5      $ )NextractfilezInvalid z in r   )r,   r$   r6   r1   r    r%   strread)r&   r2   contentmsgs       r   get_contentArchive.get_content9   s    499m,,ii++O<G !5!5 6d4>>:JK o%w||~w//499>>/2G<<r   )r    r$   N)
__name__
__module____qualname____firstlineno____doc__r(   r.   r3   r;   __static_attributes__ r   r   r   r   #   s    ?O
$
=r   r   c                    [         R                  " U S5       nUR                  5        Vs/ sH  n[        U5      PM     nnS S S 5        S W 5       nU Vs1 sH  o"(       d  M  UiM     sn$ s  snf ! , (       d  f       N6= fs  snf )Nr   c              3   \   #    U H#  nS R                  UR                  SS 5      v   M%     g7f)/   N)joinparts).0fs     r   	<genexpr>$get_sdist_members.<locals>.<genexpr>G   s&     ;Uchhqwwqr{++Us   *,)r"   r#   getnamesr   )
sdist_pathtarrK   filesrelative_filess        r   get_sdist_membersrS   C   sj    	j&	)S"%,,.1.Qa.1 
* <U;N%+~!A~++ 2 
*	) ,s'   A1A,A1	B#B,A11
A?c                     [        U 5       n[        UR                  5       5      sS S S 5        $ ! , (       d  f       g = fN)r   setnamelist)
wheel_pathzipfiles     r   get_wheel_membersrZ   K   s)    		7##%& 
		s   /
=rU   )rA   r   r   r"   pathlibr   rY   r   r   r   rS   rZ   rC   r   r   <module>r\      s6    
    O(= =@,'r   