Ë
    nûàg4  ã                   ó:  — 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    úc/var/www/skyplay_api_hub/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                 óà  — t        j                  dd«      5  t        j                  dd«      5  t        «       dk(  sJ ‚	 d d d «       t        j                  dd«      5  t        «       dk(  sJ ‚	 d d d «       d d d «       t        j                  dd	«      5  t        «       t        j                  «       k(  sJ ‚	 d d d «       y # 1 sw Y   Œ‚xY w# 1 sw Y   Œ_xY w# 1 sw Y   ŒcxY w# 1 sw Y   y xY w)
Núos.nameÚntzsys.versionz... [... (ARM64)]ú	win-arm64z... [... (ARM)]ú	win-arm32zsys.version_info)é   é	   r   Úfinalr   )ÚmockÚpatchr   Ústdlib_sysconfigr   ©Úselfs    r!   Útest_get_host_platformzTestUtil.test_get_host_platform-   sÛ   € Ü�Z‰Z˜	 4Ó(ñ 	:Ü—‘˜MÐ+>Ó?ñ :Ü(Ó*¨kÒ9Ð9Ñ9÷:ä—‘˜MÐ+<Ó=ñ :Ü(Ó*¨kÒ9Ð9Ñ9÷:÷	:ô �Z‰ZÐ*Ð,AÓBñ 	JÜ$Ó&Ô*:×*GÑ*GÓ*IÒIÐIÑI÷	Jð 	J÷:ð :ú÷:ð :ú÷	:ð 	:ú÷	Jð 	JúsE   —C®C ¿CÁCÁ.CÂ"C$Ã C		ÃCÃC	ÃCÃC!Ã$C-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)Nr(   r)   z
os.environÚVSCMD_ARG_TGT_ARCHÚx86Úwin32Úx64z	win-amd64Úarmr+   Úarm64r*   )r/   r0   Údictr   r2   s    r!   Útest_get_platformzTestUtil.test_get_platform7   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)r3   Úexpecteds     r!   Útest_convert_pathzTestUtil.test_convert_pathB   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>._isabsL   s   € Ø˜‘7˜c‘>Ð!r#   c                  ó$   — dj                  | «      S )NrM   ©r   rO   s    r!   Ú_joinz(TestUtil.test_change_root.<locals>._joinQ   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:\)Ú
startswithrO   s    r!   rP   z)TestUtil.test_change_root.<locals>._isabs]   s   € Ø—?‘? 6Ó*Ð*r#   c                 óT   — | j                  d«      rd| j                  dd«      fS d| fS )Nzc:r?   )rV   ÚreplacerO   s    r!   Ú_splitdrivez.TestUtil.test_change_root.<locals>._splitdriveb   s.   € Ø�‰˜tÔ$Ø˜DŸL™L¨¨rÓ2Ð3Ð3Ø˜�:Ðr#   c                  ó$   — dj                  | «      S )NrT   rR   rO   s    r!   rS   z(TestUtil.test_change_root.<locals>._joini   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   )r3   rP   rS   rY   s       r!   Útest_change_rootzTestUtil.test_change_rootH   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   r2   s    r!   Útest_check_environzTestUtil.test_check_environz   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)Nr`   r   )NNNNNú/home/distutilsNÚgetpwuid)Úreturn_valuerg   )Úside_effect)r   r
   rb   r   rc   rd   ÚpwdÚstruct_passwdr/   r0   ÚobjectÚKeyError)r3   rk   Ú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   r2   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Útruer{   ÚOnÚonÚ1)	ÚnÚnoÚfÚfalseÚoffÚ0ÚOffÚNoÚN)r   )r3   rz   r‚   rx   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)r?   r?   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)
r3   Ú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_bytecoder\   r]   r   r   )r3   Ú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   )r3   Úexcr¨   s      r!   Útest_grok_environment_errorz$TestUtil.test_grok_environment_errorï   s&   € äÐ1Ó2ˆÜ$ SÓ)ˆØÐ8Ò8Ð8Ñ8r#   N)Ú__name__Ú
__module__Ú__qualname__r4   r=   rI   r^   re   r\   ÚmarkÚskipifrp   rv   rŠ   ÚindentÚparametrizer©   r­   r±   rN   r#   r!   r&   r&   +   sÛ   „ òJò	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   rE   r   r   r1   Úunittest.mockr/   r   Ú	distutilsr   Údistutils.errorsr   r   Údistutils.utilr   r	   r
   r   r   r   r   r   r   r   r\   Úfixturer"   rµ   Úusefixturesr&   rN   r#   r!   ú<module>rÂ      sŒ   ðÙ ã Û Û Û 	Û 	Û Û 
Û $Ý Ý ß %ß N÷÷ ÷ ó ð €‡�˜ÔñQó ðQð ‡�×Ñ˜Ó$÷G9ð G9ó %ñG9r#   