ó
    ¶'Ôi€
  ã                  ó~   • S r SSKJ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K
JrJr  SS jr " S S	5      rS
 rS rg)zýReusable 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.
é    )ÚannotationsN)ÚIterator)ÚPath)ÚZipFileÚZipInfoc           	     ó‚  • [         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       Úc/var/www/surfInsights/venv3-11/lib/python3.13/site-packages/setuptools/tests/integration/helpers.pyr   r      s£   € Ü�ŠØØØØØ)Œr�z‰zÐ)˜cŸi RÐ)ñ	€Að �(‰(�T‰/˜AŸH™HÑ
$€Cä	Ð
HÔIÜ	ˆI�c�U˜/¨!¯,©,¨°t¸C¸5Ð
AÔBà‡|�|�qÓØˆ
Ü
×
'Ò
'¨¯©°c¿8¹8ÀQÇXÁXÓ
NÐNó    c                  ó8   • \ rS rSrSrS	S jrS
S j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×&Ñ&Ü3:·<²<ÀÈ&Ó3QˆD�IØ×Ñ˜u×%Ñ%Ü Ó)ˆD�Iä ˜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__2   s9   € Ü�4—9‘9˜j×)Ñ)Ü˜Ÿ	™	×*Ñ*Ó,Ó-Ð-Ü�D—I‘I‹Ð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_name7   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'   r9   r4   r#   r(   ÚstrÚread)r)   r5   ÚcontentÚmsgs       r   Úget_contentÚArchive.get_content<   s�   € Ü�4—9‘9˜m×,Ñ,Ø—i‘i×+Ñ+¨OÓ<ˆGØ‰Ø  ×!5Ñ!5Ð 6°d¸4¿>¹>Ð:JÐK�Ü  “oÐ%Ü�w—|‘|“~ wÓ/Ð/Ü�4—9‘9—>‘> /Ó2°GÓ<Ð<r   )r#   r'   N)ÚreturnÚNone)r@   z-Iterator[ZipInfo] | Iterator[tarfile.TarInfo])
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r+   r1   r6   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       N7= 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>J   s&   é € Ð;²U°�c—h‘h˜qŸw™w q r˜{×+Ð+²Uùs   ‚+-)r%   r&   Úgetnamesr   )Ú
sdist_pathÚtarrP   ÚfilesÚrelative_filess        r   Úget_sdist_membersrX   F   sj   € Ü	�Š�j &Ô	)¨SØ"%§,¡,¤.Ó1¢.˜Q”�a–¡.ˆÐ1÷ 
*ñ <±UÓ;€NÙ%Ó+’~�!«�A‘~Ñ+Ð+ùò 2÷ 
*Õ	)üò ,s(   ˜A3«A.Á A3Á
BÁ%BÁ.A3Á3
B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_membersr_   N   s)   € Ü	�Ô	 Ü�7×#Ñ#Ó%Ó&÷ 
×	×	ús   Œ/¯
=rZ   )rF   Ú
__future__r   r   r   r%   Úcollections.abcr   Úpathlibr   r^   r   r   r   r   rX   r_   rH   r   r   Ú<module>rc      s<   ðñõ #ã 	Û Û Ý $Ý ß $ôO÷(=ñ =ò@,ó'r   