ó
    µ'Ôi4  ã                   ó4  • S r SSKrSSKrSSKrSSKrSSK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KJrJr  SSKJrJrJrJrJrJrJrJrJrJr  SSKr\R<                  " SS9S	 5       r\R@                  RC                  S
5       " S S5      5       r"g)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                 óÞ  • U R                  [        S[        R                  5        U R                  [        S[        R                  5        U R                  [        S[        R
                  5        U R                  [        S[        R                  5        U R                  [        R                  S[        R                  R                  5        U R                  [        R                  S[        R                  R                  5        U R                  [        R                  S[        R                  R                  5        U R                  [        S[        [        R                  5      5        g )	NÚnameÚplatformÚversionÚsepÚjoinÚisabsÚ
splitdriveÚ_config_vars)ÚsetattrÚosr   Úsysr   r   r   Úpathr   r   r   r   r   r   )Úmonkeypatchs    Úd/var/www/surfInsights/venv3-11/lib/python3.13/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                   ó  • \ rS rSrS rS rS rS rS r\	R                  R                  S5      S 5       rS	 rS
 rSr\	R                  R!                  SSS\ S\ S\ 34SS\ S34SSS\ S\ S\ S\ 34/5      S 5       rS rS rSrg)ÚTestUtilé+   c                 ó  • [         R                  " SS5         [         R                  " SS5         [        5       S:X  d   e S S S 5        [         R                  " SS5         [        5       S:X  d   e S S S 5        S S S 5        [         R                  " SS	5         [        5       [        R                  " 5       :X  d   e S S S 5        g ! , (       d  f       NŒ= f! , (       d  f       Nl= f! , (       d  f       Nu= f! , (       d  f       g = f)
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_platformÚTestUtil.test_get_host_platform-   sº   € Ü�ZŠZ˜	 4Õ(Ü—’˜MÐ+>Õ?Ü(Ó*¨kÓ9Ð9Ñ9÷ @ä—’˜MÐ+<Õ=Ü(Ó*¨kÓ9Ð9Ñ9÷ >÷ )ô �ZŠZÐ*Ð,AÕBÜ$Ó&Ô*:×*GÒ*GÓ*IÓIÐIÑI÷ CÐB÷ @Õ?úç=Õ=ú÷ )Õ(ú÷ CÕBúsF   ˜C*°CÁC*Á!CÁ3C*Â$C;Ã
C	ÃC*Ã
C'	Ã#C*Ã*
C8Ã;
D	c                 óÎ  • [         R                  " SS5         [         R                  R                  SSS05         [        5       S:X  d   e S S S 5        [         R                  R                  SSS05         [        5       S:X  d   e S S S 5        [         R                  R                  SSS	05         [        5       S
:X  d   e S S S 5        [         R                  R                  SSS05         [        5       S:X  d   e S S S 5        S S S 5        g ! , (       d  f       NË= f! , (       d  f       N = f! , (       d  f       Nu= f! , (       d  f       NJ= f! , (       d  f       g = f)Nr)   r*   z
os.environÚVSCMD_ARG_TGT_ARCHÚx86Úwin32Úx64z	win-amd64Úarmr,   Úarm64r+   )r0   r1   Údictr   r3   s    r!   Útest_get_platformÚTestUtil.test_get_platform7   sõ   € Ü�ZŠZ˜	 4Õ(Ü—‘—‘ Ð0DÀeÐ/LÕMÜ#“~¨Ó0Ð0Ñ0÷ Nä—‘—‘ Ð0DÀeÐ/LÕMÜ#“~¨Ó4Ð4Ñ4÷ Nä—‘—‘ Ð0DÀeÐ/LÕMÜ#“~¨Ó4Ð4Ñ4÷ Nä—‘—‘ Ð0DÀgÐ/NÕOÜ#“~¨Ó4Ð4Ñ4÷ P÷ )Ð(ßMÕMúçMÕMúçMÕMúçOÕOú÷ )Õ(úsj   ˜#E»DÁ*EÁ7D#Â	*EÂ3D4Ã*EÃ/EÄEÄ
D 	ÄEÄ#
D1	Ä-EÄ4
E	Ä>EÅ
E	ÅEÅ
E$c                 óì   • [         R                  R                  S5      n[        S5      U:X  d   e[        [        R
                  " S5      5      U:X  d   e[        S5      [         R                  :X  d   eg )N)Ú ÚhomeÚtoÚmyÚstuffz/home/to/my/stuffÚ.)r   r   r   r   ÚpathlibÚPathÚcurdir)r4   Úexpecteds     r!   Útest_convert_pathÚTestUtil.test_convert_pathB   s]   € Ü—6‘6—;‘;Ð@ÓAˆÜÐ/Ó0°HÓ<Ð<Ð<ÜœGŸLšLÐ)<Ó=Ó>À(ÓJÐJÐJÜ˜CÓ ¤B§I¡IÓ-Ð-Ñ-r#   c                 ó\  • S[         l        S nU[         R                  l        S nU[         R                  l        [        SS5      S:X  d   e[        SS5      S:X  d   eS	[         l        S
[         l        S nU[         R                  l        S nU[         R                  l        S nU[         R                  l        [        SS5      S:X  d   e[        SS5      S:X  d   eS[         l        [        R                  " [        5         [        SS5        S S S 5        g ! , (       d  f       g = f)NÚposixc                 ó   • U S   S:H  $ )Nr   Ú/© ©r   s    r!   Ú_isabsÚ)TestUtil.test_change_root.<locals>._isabsL   s   € Ø˜‘7˜c‘>Ð!r#   c                  ó$   • SR                  U 5      $ )NrQ   ©r   rS   s    r!   Ú_joinÚ(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                 ó$   • U R                  S5      $ )Nzc:\)Ú
startswithrS   s    r!   rT   rU   ]   s   € Ø—?‘? 6Ó*Ð*r#   c                 ó^   • U R                  S5      (       a  SU R                  SS5      4$ SU 4$ )Nzc:rB   )r\   ÚreplacerS   s    r!   Ú_splitdriveÚ.TestUtil.test_change_root.<locals>._splitdriveb   s1   € Ø�‰˜t×$Ñ$Ø˜DŸL™L¨¨rÓ2Ð3Ð3Ø˜�:Ðr#   c                  ó$   • SR                  U 5      $ )NrZ   rW   rS   s    r!   rX   rY   i   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   )r4   rT   rX   r_   s       r!   Útest_change_rootÚ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Ü˜
 KÔ0÷ 3×2Ö2ús   ÄDÄ
D+c                 óÖ   • [         R                  R                  5         [        R                  R                  SS 5        [        5         [        R                  S   [        5       :X  d   eg )NÚHOMEÚPLAT)r   r
   Úcache_clearr   ÚenvironÚpopr   r3   s    r!   Útest_check_environÚTestUtil.test_check_environz   sD   € Ü×Ñ×&Ñ&Ô(Ü
�
‰
�‰�v˜tÔ$äŒä�z‰z˜&Ñ!¤\£^Ó3Ð3Ñ3r#   zos.name != 'posix'c                 óœ  • [         R                  R                  5         [        R                  R                  SS 5        SS KnUR                  S5      n[        R                  R                  USUS9   [        5         [        R                  S   S:X  d   e S S S 5        [         R                  R                  5         [        R                  R                  SS 5        [        R                  R                  US[        S9   [        5         S[        R                  ;  d   e S S S 5        g ! , (       d  f       Nš= f! , (       d  f       g = f)Nrh   r   )NNNNNú/home/distutilsNÚgetpwuid)Úreturn_valuerp   )Úside_effect)r   r
   rj   r   rk   rl   ÚpwdÚstruct_passwdr0   r1   ÚobjectÚKeyError)r4   rt   Úresults      r!   Útest_check_environ_getpwuidÚ$TestUtil.test_check_environ_getpwuid‚   só   € ä×Ñ×&Ñ&Ô(Ü
�
‰
�‰�v˜tÔ$ãð ×"Ñ"ð $
ó ˆô �Z‰Z×Ñ˜s J¸VÐÒDÜŒOÜ—:‘:˜fÑ%Ð):Ó:Ð:Ñ:÷ Eô 	×Ñ×&Ñ&Ô(Ü
�
‰
�‰�v˜tÔ$ô �Z‰Z×Ñ˜s J¼HÐÒEÜŒOØ¤§¡Ó+Ð+Ñ+÷ FÐE÷ EÕDú÷ FÕEús   Á3$D,Ä!D=Ä,
D:Ä=
Ec                 ó*   • [        S5      / SQ:X  d   eg )Nz""one"" "two" 'three' \four)ÚoneÚtwoÚthreeÚfour)r   r3   s    r!   Útest_split_quotedÚTestUtil.test_split_quotedŸ   s    € ÜÐ<Ó=ò B
ó 
ð 	
ñ 
r#   c                 óx   • SnSnU H  n[        U5      (       a  M   e   U H  n[        U5      (       d  M   e   g )N)
ÚyÚYÚyesÚTrueÚtÚtruer†   ÚOnÚonÚ1)	ÚnÚnoÚfÚfalseÚoffÚ0ÚOffÚNoÚN)r   )r4   r…   r�   rƒ   rŒ   s        r!   Útest_strtoboolÚTestUtil.test_strtobool§   s?   € ØMˆØDˆãˆAÜ˜Q—<“<Ð�<ñ ó ˆAÜ  —|“|Ð#Ð#ò r#   z        zgiven,wantedzhello
world
zhelloÚ
zworld
zhelloworldzhelloÚworld)rB   rB   zI am a
poor
lonesome
header
zI am a
zpoor
z	lonesome
zheader
c                 ól  • [        U5      n[        R                  R                  SSSS9n[        R
                  " 5        nSU S3n[        R                  " U5      n[        R                  R                  XTS9R                  U5        UR                  S5        [        R                  " U5      nSSS5        WW4 H]  n	U	R                  5       S	:X  d   eU	S
   S:X  d   e[        U	S   R                  5       5      [        UR                  5       5      :X  a  M]   e   X2:X  d   eg! , (       d  f       N{= f)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)
r4   ÚgivenÚwantedÚresr�   ÚbufferÚrawÚorigÚregenÚmsgs
             r!   Útest_rfc822_escapeÚTestUtil.test_rfc822_escape³   s  € ô6 ˜EÓ"ˆä—‘×)Ñ)ØØØð *ð 
ˆô
 �[Š[Œ]˜fØ˜S˜EÐ!@ÐAˆCÜ×,Ò,¨SÓ1ˆDÜ�O‰O×%Ñ% fÐ%Ð<×DÑDÀTÔJØ�K‰K˜ŒNÜ×+Ò+¨FÓ3ˆE÷ ð ˜%“=ˆCØ—?‘?Ó$¨Ó3Ð3Ð3Ø�~Ñ&¨$Ó.Ð.Ð.ä�s˜8‘}×/Ñ/Ó1Ó2´c¸#¿.¹.Ó:JÓ6KÕKÐKÐKñ	 !ð ‹}Ð‰}÷ �]ús   Á A0D%Ä%
D3c                 óð   • [         R                  nS[         l         [        R                  " [        5         [        / 5        S S S 5        U[         l        g ! , (       d  f       N= f! U[         l        f = f)NT)r   Údont_write_bytecoderc   rd   r   r   )r4   Úold_dont_write_bytecodes     r!   Útest_dont_write_bytecodeÚ!TestUtil.test_dont_write_bytecodeä   sU   € ô #&×"9Ñ"9ÐØ"&ŒÔð	>Ü—’Ô8Õ9Ü˜RÔ ÷ :ð '>ŒCÕ#÷ :Õ9ûð '>ŒCÕ#ús"   �A( ·AÁA( Á
A%Á!A( Á(A5c                 ó@   • [        S5      n[        U5      nUS:X  d   eg )NzUnable to find batch filez error: Unable to find batch file)ÚOSErrorr   )r4   Úexcr´   s      r!   Útest_grok_environment_errorÚ$TestUtil.test_grok_environment_errorï   s&   € äÐ1Ó2ˆÜ$ SÓ)ˆØÐ8Ó8Ð8Ñ8r#   rR   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r5   r?   rL   re   rm   rc   ÚmarkÚskipifry   r€   r•   ÚindentÚparametrizerµ   rº   r¿   Ú__static_attributes__rR   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   rH   r   r   r2   Úunittest.mockr0   r   Ú	distutilsr   Údistutils.errorsr   r   Údistutils.utilr   r	   r
   r   r   r   r   r   r   r   rc   Úfixturer"   rÅ   Úusefixturesr&   rR   r#   r!   Ú<module>rÓ      sŠ   ðÙ ã Û Û Û 	Û 	Û Û 
Û $Ý Ý ß %ß N÷÷ ÷ ó ð ‡‚˜ÑñQó ðQð ‡�×Ñ˜Ó$÷G9ð G9ó %ñG9r#   