Ë
    -TbjÍ  ã                   ó:  — d Z ddlZddlZddlZddlZddl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lmZmZ ddlmZmZ ddlmZmZmZmZmZmZmZmZmZmZ ddlZ ej<                  d¬«      d	„ «       Zej@                  jC                  d
«       G d„ d«      «       Z"y)zTests for distutils.util.é    N)Úcopy)Ú	sysconfigÚutil)ÚDistutilsByteCompileErrorÚDistutilsPlatformError)
Úbyte_compileÚchange_rootÚcheck_environÚconvert_pathÚget_host_platformÚget_platformÚgrok_environment_errorÚrfc822_escapeÚsplit_quotedÚ	strtoboolT)Úautousec                 óÞ  — | j                  t        dt        j                  «       | j                  t        dt        j                  «       | j                  t        dt        j
                  «       | j                  t        dt        j                  «       | j                  t        j                  dt        j                  j                  «       | j                  t        j                  dt        j                  j                  «       | j                  t        j                  dt        j                  j                  «       | j                  t        dt        t        j                  «      «       y )	NÚnameÚplatformÚversionÚsepÚjoinÚisabsÚ
splitdriveÚ_config_vars)ÚsetattrÚosr   Úsysr   r   r   Úpathr   r   r   r   r   r   )Úmonkeypatchs    úX/var/www/html/venv/lib/python3.12/site-packages/setuptools/_distutils/tests/test_util.pyÚenvironmentr"      sÓ   € à×Ñœ˜F¤B§G¡GÔ,Ø×Ñœ˜Z¬¯©Ô6Ø×Ñœ˜Y¬¯©Ô4Ø×Ñœ˜E¤2§6¡6Ô*Ø×ÑœŸ™ ¬¯©¯©Ô6Ø×ÑœŸ™ ¬"¯'©'¯-©-Ô8Ø×ÑœŸ™ ¬r¯w©w×/AÑ/AÔBØ×Ñœ	 >´4¼	×8NÑ8NÓ3OÕPó    Úsave_envc                   ó  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j                  d«      d„ «       Zd„ Zd	„ Zd
Zej                  j                  ddde› de› de› �fdde› d�fddde› de› de› de› �fg«      d„ «       Zd„ Zd„ Zy)ÚTestUtilc                 óF   — t        «       t        j                  «       k(  sJ ‚y )N)r   Ústdlib_sysconfigr   ©Úselfs    r!   Útest_get_host_platformzTestUtil.test_get_host_platform-   s   € Ü Ó"Ô&6×&CÑ&CÓ&EÒEÐEÑEr#   c                 ó’  — t        j                  dd«      5  t         j                  j                  dddi«      5  t        «       dk(  sJ ‚	 d d d «       t         j                  j                  dddi«      5  t        «       dk(  sJ ‚	 d d d «       t         j                  j                  ddd	i«      5  t        «       d
k(  sJ ‚	 d d d «       t         j                  j                  dddi«      5  t        «       dk(  sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒÃxY w# 1 sw Y   Œ”xY w# 1 sw Y   ŒexY w# 1 sw Y   Œ6xY w# 1 sw Y   y xY w)Nzos.nameÚntz
os.environÚVSCMD_ARG_TGT_ARCHÚx86Úwin32Úx64z	win-amd64Úarmz	win-arm32Úarm64z	win-arm64)ÚmockÚpatchÚdictr   r)   s    r!   Útest_get_platformzTestUtil.test_get_platform0   s  € Ü�Z‰Z˜	 4Ó(ñ 	5Ü—‘—‘ Ð0DÀeÐ/LÓMñ 1Ü#“~¨Ò0Ð0Ñ0÷1ä—‘—‘ Ð0DÀeÐ/LÓMñ 5Ü#“~¨Ò4Ð4Ñ4÷5ä—‘—‘ Ð0DÀeÐ/LÓMñ 5Ü#“~¨Ò4Ð4Ñ4÷5ä—‘—‘ Ð0DÀgÐ/NÓOñ 5Ü#“~¨Ò4Ð4Ñ4÷5÷	5ð 	5÷1ð 1ú÷5ð 5ú÷5ð 5ú÷5ð 5ú÷	5ð 	5úsj   —#D=ºDÁ*D=Á5DÂ*D=Â0D%Ã*D=Ã+D1Ã<D=ÄD	ÄD=ÄD"	ÄD=Ä%D.	Ä*D=Ä1D:	Ä6D=Ä=Ec                 óä   — t         j                  j                  d«      }t        d«      |k(  sJ ‚t        t	        j
                  d«      «      |k(  sJ ‚t        d«      t         j                  k(  sJ ‚y )N)Ú ÚhomeÚtoÚmyÚstuffz/home/to/my/stuffú.)r   r   r   r   ÚpathlibÚPathÚcurdir)r*   Úexpecteds     r!   Útest_convert_pathzTestUtil.test_convert_path;   s]   € Ü—6‘6—;‘;Ð@ÓAˆÜÐ/Ó0°HÒ<Ð<Ð<ÜœGŸL™LÐ)<Ó=Ó>À(ÒJÐJÐJÜ˜CÓ ¤B§I¡IÒ-Ð-Ñ-r#   c                 óH  — dt         _        d„ }|t         j                  _        d„ }|t         j                  _        t        dd«      dk(  sJ ‚t        dd«      dk(  sJ ‚d	t         _        d
t         _        d„ }|t         j                  _        d„ }|t         j                  _        d„ }|t         j                  _        t        dd«      dk(  sJ ‚t        dd«      dk(  sJ ‚dt         _        t        j                  t        «      5  t        dd«       d d d «       y # 1 sw Y   y xY w)NÚposixc                 ó   — | d   dk(  S )Nr   ú/© ©r   s    r!   Ú_isabsz)TestUtil.test_change_root.<locals>._isabsE   s   € Ø˜‘7˜c‘>Ð!r#   c                  ó$   — dj                  | «      S )NrG   ©r   rI   s    r!   Ú_joinz(TestUtil.test_change_root.<locals>._joinJ   s   € Ø—8‘8˜D“>Ð!r#   z/rootz/old/its/herez/root/old/its/herezits/herez/root/its/herer-   ú\c                 ó$   — | j                  d«      S )Nzc:\)Ú
startswithrI   s    r!   rJ   z)TestUtil.test_change_root.<locals>._isabsV   s   € Ø—?‘? 6Ó*Ð*r#   c                 óT   — | j                  d«      rd| j                  dd«      fS d| fS )Nzc:r9   )rP   ÚreplacerI   s    r!   Ú_splitdrivez.TestUtil.test_change_root.<locals>._splitdrive[   s.   € Ø�‰˜tÔ$Ø˜DŸL™L¨¨rÓ2Ð3Ð3Ø˜�:Ðr#   c                  ó$   — dj                  | «      S )NrN   rL   rI   s    r!   rM   z(TestUtil.test_change_root.<locals>._joinb   s   € Ø—9‘9˜T“?Ð"r#   zc:\rootzc:\old\its\herezc:\root\old\its\herezits\herezc:\root\its\hereÚ	BugsBunny)r   r   r   r   r   r	   r   r   ÚpytestÚraisesr   )r*   rJ   rM   rS   s       r!   Útest_change_rootzTestUtil.test_change_rootA   s  € àŒŒò	"ð Œ�‰Œò	"ð Œ�‰Œä˜7 OÓ4Ð8LÒLÐLÐLÜ˜7 JÓ/Ð3CÒCÐCÐCð ŒŒØŒŒò	+ð Œ�‰Œò	ð
 )Œ�‰Ôò	#ð Œ�‰Œô ˜
Ð$8Ó9Ð=WÒWð	
ØWä˜: {Ó3Ð7LÒLÐLÐLð ŒŒÜ�]‰]Ô1Ó2ñ 	1Ü˜
 KÔ0÷	1÷ 	1ñ 	1ús   ÄDÄD!c                 óÔ   — t         j                  j                  «        t        j                  j                  dd «       t        «        t        j                  d   t        «       k(  sJ ‚y )NÚHOMEÚPLAT)r   r
   Úcache_clearr   ÚenvironÚpopr   r)   s    r!   Útest_check_environzTestUtil.test_check_environs   sD   € Ü×Ñ×&Ñ&Ô(Ü
�
‰
�‰�v˜tÔ$äŒä�z‰z˜&Ñ!¤\£^Ò3Ð3Ñ3r#   zos.name != 'posix'c                 óŽ  — t         j                  j                  «        t        j                  j                  dd «       dd l}|j                  d«      }t        j                  j                  |d|¬«      5  t        «        t        j                  d   dk(  sJ ‚	 d d d «       t         j                  j                  «        t        j                  j                  dd «       t        j                  j                  |dt        ¬«      5  t        «        dt        j                  vsJ ‚	 d d d «       y # 1 sw Y   Œ–xY w# 1 sw Y   y xY w)NrZ   r   )NNNNNú/home/distutilsNÚgetpwuid)Úreturn_valuera   )Úside_effect)r   r
   r\   r   r]   r^   ÚpwdÚstruct_passwdr4   r5   ÚobjectÚKeyError)r*   re   Úresults      r!   Útest_check_environ_getpwuidz$TestUtil.test_check_environ_getpwuid{   sÿ   € ä×Ñ×&Ñ&Ô(Ü
�
‰
�‰�v˜tÔ$ãð ×"Ñ"ð $
ó ˆô �Z‰Z×Ñ˜s J¸VÐÓDñ 	;ÜŒOÜ—:‘:˜fÑ%Ð):Ò:Ð:Ñ:÷	;ô 	×Ñ×&Ñ&Ô(Ü
�
‰
�‰�v˜tÔ$ô �Z‰Z×Ñ˜s J¼HÐÓEñ 	,ÜŒOØ¤§¡Ñ+Ð+Ñ+÷	,ð 	,÷	;ð 	;ú÷	,ð 	,ús   Á6#D/ÄD;Ä/D8Ä;Ec                 ó(   — t        d«      g d¢k(  sJ ‚y )Nz""one"" "two" 'three' \four)ÚoneÚtwoÚthreeÚfour)r   r)   s    r!   Útest_split_quotedzTestUtil.test_split_quoted˜   s    € ÜÐ<Ó=ò B
ò 
ð 	
ñ 
r#   c                 ó\   — d}d}|D ]  }t        |«      rŒJ ‚ |D ]  }t        |«      sŒJ ‚ y )N)
ÚyÚYÚyesÚTrueÚtÚtrueru   ÚOnÚonÚ1)	ÚnÚnoÚfÚfalseÚoffÚ0ÚOffÚNoÚN)r   )r*   rt   r|   rr   r{   s        r!   Útest_strtoboolzTestUtil.test_strtobool    sE   € ØMˆØDˆàò 	 ˆAÜ˜Q•<Ð�<ð	 ð ò 	$ˆAÜ  •|Ð#Ð#ñ	$r#   z        zgiven,wantedzhello
world
zhelloú
zworld
zhelloworldzhelloÚworld)r9   r9   zI am a
poor
lonesome
header
zI am a
zpoor
z	lonesome
zheader
c                 ó`  — t        |«      }t        j                  j                  ddd¬«      }t	        j
                  «       5 }d|› d�}t        j                  |«      }t        j                  j                  ||¬«      j                  |«       |j                  d«       t        j                  |«      }ddd«       fD ]Y  }	|	j                  «       d	k(  sJ ‚|	d
   dk(  sJ ‚t        |	d   j                  «       «      t        |j                  «       «      k(  rŒYJ ‚ ||k(  sJ ‚y# 1 sw Y   ŒqxY w)a{  
        We want to ensure a multi-line header parses correctly.

        For interoperability, the escaped value should also "round-trip" over
        `email.generator.Generator.flatten` and `email.message_from_*`
        (see pypa/setuptools#4033).

        The main issue is that internally `email.policy.EmailPolicy` uses
        `splitlines` which will split on some control chars. If all the new lines
        are not prefixed with spaces, the parser will interrupt reading
        the current header and produce an incomplete value, while
        incorrectly interpreting the rest of the headers as part of the payload.
        TFr   )Úutf8Úmangle_from_Úmax_line_lengthzheader: z
other-header: 42

payload
)ÚpolicyNzpayload
zother-headerÚ42Úheader)r   Úemailr‹   ÚEmailPolicyÚioÚStringIOÚmessage_from_stringÚ	generatorÚ	GeneratorÚflattenÚseekÚmessage_from_fileÚget_payloadÚsetÚ
splitlines)
r*   ÚgivenÚwantedÚresr‹   ÚbufferÚrawÚorigÚregenÚmsgs
             r!   Útest_rfc822_escapezTestUtil.test_rfc822_escape¬   s'  € ô6 ˜EÓ"ˆä—‘×)Ñ)ØØØð *ó 
ˆô
 �[‰[‹]ð 	4˜fØ˜S˜EÐ!@ÐAˆCÜ×,Ñ,¨SÓ1ˆDÜ�O‰O×%Ñ% f°VÐ%Ó<×DÑDÀTÔJØ�K‰K˜ŒNÜ×+Ñ+¨FÓ3ˆE÷	4ð ˜%�=ò 	LˆCØ—?‘?Ó$¨Ò3Ð3Ð3Ø�~Ñ&¨$Ò.Ð.Ð.ä�s˜8‘}×/Ñ/Ó1Ó2´c¸#¿.¹.Ó:JÓ6KÓKÐKÐKð		Lð �fŠ}Ð‰}÷	4ð 	4ús   ÁA2D$Ä$D-c                 óä   — t         j                  }dt         _        	 t        j                  t        «      5  t        g «       d d d «       |t         _        y # 1 sw Y   ŒxY w# |t         _        w xY w)NT)r   Údont_write_bytecoderV   rW   r   r   )r*   Úold_dont_write_bytecodes     r!   Útest_dont_write_bytecodez!TestUtil.test_dont_write_bytecodeÝ   s\   € ô #&×"9Ñ"9ÐØ"&ŒÔð	>Ü—‘Ô8Ó9ñ !Ü˜RÔ ÷!ð '>ŒCÕ#÷!ð !ûð '>ŒCÕ#ús"   �A" ¶AÁA" ÁAÁA" Á"A/c                 ó>   — t        d«      }t        |«      }|dk(  sJ ‚y )NzUnable to find batch filez error: Unable to find batch file)ÚOSErrorr   )r*   Úexcr¢   s      r!   Útest_grok_environment_errorz$TestUtil.test_grok_environment_errorè   s&   € äÐ1Ó2ˆÜ$ SÓ)ˆØÐ8Ò8Ð8Ñ8r#   N)Ú__name__Ú
__module__Ú__qualname__r+   r7   rC   rX   r_   rV   ÚmarkÚskipifrj   rp   r„   ÚindentÚparametrizer£   r§   r«   rH   r#   r!   r&   r&   +   sÛ   „ òFò	5ò.ò.1òd4ð ‡[�[×ÑÐ,Ó-ñ,ó .ð,ò8
ò$ð €Fà‡[�[×ÑØð " Y¨v¨h°b¸¸ÀÈÀxÐ#PÐQØ ¨6¨(°%Ð8Ð9Øà2Ø˜6˜( &¨¨°
¸6¸(À(È6È(ÐSðð		
óñ"óð"òH	>ó9r#   r&   )#Ú__doc__rŽ   Úemail.generatorÚemail.policyr�   r   r?   r   r   r(   Úunittest.mockr4   r   Ú	distutilsr   Údistutils.errorsr   r   Údistutils.utilr   r	   r
   r   r   r   r   r   r   r   rV   Úfixturer"   r¯   Úusefixturesr&   rH   r#   r!   ú<module>r¼      sŒ   ðÙ ã Û Û Û 	Û 	Û Û 
Û $Ý Ý ß %ß N÷÷ ÷ ó ð €‡�˜ÔñQó ðQð ‡�×Ñ˜Ó$÷@9ð @9ó %ñ@9r#   