
    ,h	                     `    d 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Z G d d      Z	d Z
d	 Zy)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           	      z   t        j                  | dddi t        j                  |xs i       }|j                  dz   |j
                  z   }t        d       t        d|  d|j                   d|        |j                  d	k(  r|S t        j                  |j                  | |j                  |j
                        )
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       f/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/setuptools/tests/integration/helpers.pyr   r      s    )rzz)ciR)	A ((T/AHH
$C	
HI	IcU/!,,tC5
AB||q


'
'c188QXX
NN    c                   (    e Zd ZdZd Zd Zd Zd Zy)Archivez5Compatibility layer for ZipFile/Info and TarFile/Infoc                     || _         |j                  d      rt        j                  |d      | _        y |j                  d      rt        |      | _        y t        | d      )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__zArchive.__init__&   sV    !X&Xv6DIu%)DIz)LMNNr   c                     t        | j                  d      r#t        | j                  j                               S t        | j                        S )Ninfolist)hasattrr#   iterr)   )r%   s    r   __iter__zArchive.__iter__/   s6    499j)		**,--DIIr   c                 J    t        |d      r|j                  S |j                  S )Nr&   )r*   r&   name)r%   zip_or_tar_infos     r   get_namezArchive.get_name4   s$    ?J/"+++###r   c                 4   t        | j                  d      r^| j                  j                  |      }|'d|j                   d| j                   }t        |      t        |j                         d      S t        | j                  j                  |      d      S )NextractfilezInvalid z in r   )r*   r#   r2   r.   r   r$   strread)r%   r/   contentmsgs       r   get_contentzArchive.get_content9   s~    499m,ii++O<G !5!5 6d4>>:JK o%w||~w//499>>/2G<<r   N)__name__
__module____qualname____doc__r'   r,   r0   r7    r   r   r   r   #   s    ?O
$
=r   r   c                     t        j                  | d      5 }|j                         D cg c]  }t        |       }}d d d        d D        }|D ch c]  }|s|	 c}S c c}w # 1 sw Y   *xY wc c}w )Nr   c              3   X   K   | ]"  }d j                  |j                  dd        $ yw)/   N)joinparts).0fs     r   	<genexpr>z$get_sdist_members.<locals>.<genexpr>G   s#     ;chhqwwqr{+;s   (*)r!   r"   getnamesr   )
sdist_pathtarrD   filesrelative_filess        r   get_sdist_membersrK   C   sl    	j&	) 2S"%,,.1Qa112 <U;N%+!A++ 22 2 ,s'   A'A"A'A3A3"A''A0c                 v    t        |       5 }t        |j                               cd d d        S # 1 sw Y   y xY wN)r   setnamelist)
wheel_pathzipfiles     r   get_wheel_membersrR   K   s2    		 '7##%&' ' 's   /8rM   )r;   r   r   r!   pathlibr   rQ   r   r   r   rK   rR   r<   r   r   <module>rT      s6    
    O(= =@,'r   