
    ;ȋh	                     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dS )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                 6   t          j        | dddi t          j        |p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       a/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/tests/integration/helpers.pyr   r      s    )rz)ciR)	 	 	A (T/AH
$C	
HIII	
Ac
A
A!,
A
AC
A
ABBB|q


'c18QX
N
NN    c                   *    e Zd ZdZd Zd Zd Zd ZdS )Archivez5Compatibility layer for ZipFile/Info and TarFile/Infoc                     || _         |                    d          rt          j        |d          | _        d S |                    d          rt          |          | _        d S 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__&   sx    !X&& 	OXv66DIIIu%% 	O))DIIIMMMNNNr   c                     t          | j        d          r&t          | j                                                  S t          | j                  S )Ninfolist)hasattrr$   iterr*   )r&   s    r   __iter__zArchive.__iter__/   s@    49j)) 	.	**,,---DIr   c                 >    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                 :   t          | j        d          r_| j                            |          }|!d|j         d| j         }t          |          t          |                                d          S t          | j                            |          d          S )NextractfilezInvalid z in r   )r+   r$   r3   r/   r    r%   strread)r&   r0   contentmsgs       r   get_contentzArchive.get_content9   s    49m,, 	0i++O<<GK!5KK4>KK oo%w||~~w///49>>/22G<<<r   N)__name__
__module____qualname____doc__r(   r-   r1   r8    r   r   r   r   #   sY        ??O O O  
$ $ $
= = = = =r   r   c                     t          j        | d          5 }d |                                D             }d d d            n# 1 swxY w Y   d |D             }d |D             S )Nr   c                 ,    g | ]}t          |          S r=   r   .0fs     r   
<listcomp>z%get_sdist_members.<locals>.<listcomp>E   s    111Qa111r   c              3   Z   K   | ]&}d                      |j        dd                   V  'dS )/   N)joinpartsr@   s     r   	<genexpr>z$get_sdist_members.<locals>.<genexpr>G   s8      ;;chhqwqrr{++;;;;;;r   c                     h | ]}||S r=   r=   r@   s     r   	<setcomp>z$get_sdist_members.<locals>.<setcomp>H   s    +++!+A+++r   )r"   r#   getnames)
sdist_pathtarfilesrelative_filess       r   get_sdist_membersrQ   C   s    	j&	)	) 2S11#,,..1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 <;U;;;N++~++++s   AAAc                     t          |           5 }t          |                                          cd d d            S # 1 swxY w Y   d S N)r   setnamelist)
wheel_pathzipfiles     r   get_wheel_membersrX   K   s    			 '7##%%&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   !>AArS   )r<   r   r   r"   pathlibr   rW   r   r   r   rQ   rX   r=   r   r   <module>rZ      s     
			                 O O O O(= = = = = = = =@, , ,' ' ' ' 'r   