ó
    µ'Ôiª!  ã                   ó6  • 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Jr  SSKJ	r
  SSKJr  SSKJrJ	r	  SSKJr  SSKJr  SS	KJr  SS
KJrJr  SSKJr  SSKrS r\R8                  \R:                  R=                  S5       " S S\R>                  5      5       5       r g)z$Tests for distutils.command.install.é    N)Ú	sysconfig)Úinstall)Ú	build_ext)ÚINSTALL_SCHEMESr   )ÚDistribution)ÚDistutilsOptionError)Ú	Extension)Úmissing_compiler_executableÚsupport)Úis_mingwc                 ó4   • U [         R                  " S5      -   $ )NÚ
EXT_SUFFIX)r   Úget_config_var)Úmodnames    Úg/var/www/surfInsights/venv3-11/lib/python3.13/site-packages/setuptools/_distutils/tests/test_install.pyÚ_make_ext_namer      s   € Ø”Y×-Ò-¨lÓ;Ñ;Ð;ó    Úsave_envc                   óx   • \ rS rSr\R
                  R                  SSS9S 5       rS rS r	S r
S	 rS
 rS rSrg)ÚTestInstallé   z=platform.system() == "Windows" and sys.version_info > (3, 11)zpypa/distutils#148)Úreasonc           	      ó0  • U R                  5       n[        R                  R                  US5      n[	        SS05      n[        R                  R                  US5      Ul        [        R                  " U[        R                  R                  US5      S9UR                  S'   [        U5      nX$l
        UR                  5         UR                  U:X  d   eUR                  U:X  d   eS n[        R                  R                   R#                  S	S
5      n[        R                  R                  USU5      nU" UR$                  U5        ['        [        SS5      n[        R                  R                  X(U5      n	U" UR(                  U	5        U" UR*                  U5        U" UR,                  [        R                  R                  USUS5      5        U" UR.                  [        R                  R                  US5      5        U" UR0                  U5        g )NÚinstallationÚnameÚfoopkgzsetup.pyÚlib)Ú
build_baseÚ	build_libÚbuildc                 óŽ   • [         R                  R                  U 5      n [         R                  R                  U5      nX:X  d   eg ©N)ÚosÚpathÚnormpath)ÚgotÚexpecteds     r   Ú
check_pathÚ=TestInstall.test_home_installation_scheme.<locals>.check_path8   s4   € Ü—'‘'×"Ñ" 3Ó'ˆCÜ—w‘w×'Ñ'¨Ó1ˆHØ“?Ð"‘?r   ÚcpythonÚpythonÚ
platlibdirÚincludeÚbin)Úmkdtempr#   r$   Újoinr   Úscript_namer   ÚDummyCommandÚcommand_objr   ÚhomeÚensure_finalizedÚinstall_baseÚinstall_platbaseÚsysÚimplementationr   ÚreplaceÚinstall_libÚgetattrÚinstall_platlibÚinstall_purelibÚinstall_headersÚinstall_scriptsÚinstall_data)
ÚselfÚbuilddirÚdestinationÚdistÚcmdr(   Ú	impl_nameÚlibdirÚ_platlibdirr,   s
             r   Útest_home_installation_schemeÚ)TestInstall.test_home_installation_scheme   s   € ð —<‘<“>ˆÜ—g‘g—l‘l 8¨^Ó<ˆä˜V XÐ.Ó/ˆäŸ7™7Ÿ<™<¨°*Ó=ˆÔÜ$+×$8Ò$8ØÜ—g‘g—l‘l 8¨UÓ3ñ%
ˆ×Ñ˜Ñ!ô
 �d‹mˆØŒØ×ÑÔà×Ñ ;Ó.Ð.Ð.Ø×#Ñ# {Ó2Ð2Ð2ò	#ô
 ×&Ñ&×+Ñ+×3Ñ3°I¸xÓHˆ	Ü—‘—‘˜k¨5°)Ó<ˆÙ�3—?‘? FÔ+Üœc <°Ó7ˆÜ—W‘W—\‘\ +¸IÓFˆ
Ù�3×&Ñ&¨
Ô3Ù�3×&Ñ&¨Ô/ÙØ×ÑÜ�G‰G�L‰L˜ i°¸HÓEô	
ñ 	�3×&Ñ&¬¯©¯©°[À%Ó(HÔIÙ�3×#Ñ# [Õ1r   c                 ó„  ^ • T R                  5       T l        [        R                  n[        R                  nUR                  [        S[        R                  R                  T R                  S5      5        UR                  [        S[        R                  R                  T R                  S5      5        UR                  [        S[        R                  5        UR                  [        S[        R                  5        U 4S jnUR                  [        R                  SU5        S H  nU[        ;   a  M   e   [        SS	05      n[        U5      nUR                   VV	V
s/ s H  u  p‰o¨PM	     nn	nn
S
U;   d   eSUl        [        R                  R                  [        R                  5      (       a   e[        R                  R                  [        R                  5      (       a   eUR!                  5         [        R                  R                  [        R                  5      (       d   e[        R                  R                  [        R                  5      (       d   eSUR"                  ;   d   eSUR"                  ;   d   e[        R                  R%                  UR&                  [        R                  5      n[        R(                  S:X  am  [+        5       (       d^  [        R                  R%                  [        R                  R-                  U5      U5      n[        R                  R                  US5      nO[.        R0                  " SS5      n[        R                  R                  US	5      n[        R                  R3                  U5      [        R                  R3                  U5      :X  d   eg s  sn
n	nf )NÚ	USER_BASEÚBÚ	USER_SITEÚSc                 ó’   >• U R                  S5      (       a/  [        R                  R                  TR                  U SS  -   5      $ U $ )NÚ~é   )Ú
startswithr#   r$   r%   Útmpdir)r$   rB   s    €r   Ú_expanduserÚ/TestInstall.test_user_site.<locals>._expanduserV   s;   ø€ Ø�‰˜s×#Ñ#Ü—w‘w×'Ñ'¨¯©°d¸1¸2°hÑ(>Ó?Ð?ØˆKr   Ú
expanduser)Únt_userÚ
posix_userr   ÚxxÚuserTÚuserbaseÚusersiteÚntÚIncluder   Ú )r/   rU   ÚsiterO   rM   Úsetattrr#   r$   r0   Úinstall_moduler   r   r   Úuser_optionsr\   Úexistsr5   Úconfig_varsÚrelpathr?   r   r   Údirnamer   Úget_python_incÚnormcase)rB   ÚmonkeypatchÚ	orig_siteÚ	orig_baserV   ÚkeyrE   rF   r   ÚshortÚlabelÚoptionsÚactual_headersÚ	site_pathr-   Úexpect_headerss   `               r   Útest_user_siteÚTestInstall.test_user_siteK   sˆ  ø€ ð —l‘l“nˆŒÜ—N‘Nˆ	Ü—N‘Nˆ	Ø×ÑœD +¬r¯w©w¯|©|¸D¿K¹KÈÓ/MÔNØ×ÑœD +¬r¯w©w¯|©|¸D¿K¹KÈÓ/MÔNØ×ÑœN¨K¼¿¹ÔHØ×ÑœN¨K¼¿¹ÔHõ	ð
 	×ÑœBŸG™G \°;Ô?ã,ˆCØœ/Õ)Ð)Ð)ñ -ô ˜V T˜NÓ+ˆÜ�d‹mˆð 36×2BÒ2BÕCÒ2BÑ.˜D¨’4Ñ2BˆÒCØ˜Ó Ð Ð ð ˆŒô —7‘7—>‘>¤$§.¡.×1Ñ1Ð1Ð1Ü—7‘7—>‘>¤$§.¡.×1Ñ1Ð1Ð1ð 	×ÑÔô �w‰w�~‰~œdŸn™n×-Ñ-Ð-Ð-Ü�w‰w�~‰~œdŸn™n×-Ñ-Ð-Ð-à˜SŸ_™_Ó,Ð,Ð,Ø˜SŸ_™_Ó,Ð,Ð,äŸ™Ÿ™¨×)<Ñ)<¼d¿n¹nÓMˆÜ�7‰7�d‹?¤8§:¡:ÜŸ™Ÿ™¬¯©¯©¸	Ó(BÀIÓNˆIÜ—g‘g—l‘l 9¨iÓ8‰Gä×.Ò.¨q°"Ó5ˆGÜŸ™Ÿ™ g¨tÓ4ˆä�w‰w×Ñ Ó/´2·7±7×3CÑ3CÀNÓ3SÓSÐSÑSùô9 Ds   Å#N;c                 ó–  • [        SSS.5      n[        U5      nUR                  5         UR                  SS/:X  d   eUR                  S:X  d   eUR
                  S:X  d   eS/Ul        UR                  5         UR                  S/:X  d   eUR                  S:X  d   eUR
                  S:X  d   eS =Ul        Ul        UR                  5         UR                  b   eUR                  S:X  d   eUR
                  b   eSUl        [        R                  " [        5         UR                  5         S S S 5        g ! , (       d  f       g = f)Nr[   z	path,dirs)r   Ú
extra_pathr$   Údirsra   zpath,dirs,again)	r   r   Úhandle_extra_pathry   Ú
extra_dirsÚ	path_fileÚpytestÚraisesr   ©rB   rE   rF   s      r   Útest_handle_extra_pathÚ"TestInstall.test_handle_extra_path‚   s.  € Ü T¸ÑEÓFˆÜ�d‹mˆð 	×ÑÔØ�~‰~ &¨&Ð!1Ó1Ð1Ð1Ø�~‰~ Ó'Ð'Ð'Ø�}‰} Ó&Ð&Ð&ð !˜ˆŒØ×ÑÔØ�~‰~ & Ó)Ð)Ð)Ø�~‰~ Ó'Ð'Ð'Ø�}‰} Ó&Ð&Ð&ð ,0Ð/ˆŒ˜#œ.Ø×ÑÔØ�~‰~Ñ%Ð%Ð%Ø�~‰~ Ó#Ð#Ð#Ø�}‰}Ñ$Ð$Ð$ð +ˆŒÜ�]Š]Ô/Õ0Ø×!Ñ!Ô#÷ 1×0Ö0ús   Ä D:Ä:
Ec                 ó   • [        SS05      n[        U5      nSUl        SUl        [        R
                  " [        5         UR                  5         S S S 5        S Ul        SUl        [        R
                  " [        5         UR                  5         S S S 5        S Ul        SUl	        [        R
                  " [        5         UR                  5         S S S 5        g ! , (       d  f       N‘= f! , (       d  f       Na= f! , (       d  f       g = f)Nr   r[   ÚprefixÚbaser4   r\   )
r   r   r„   r6   r~   r   r   Úfinalize_optionsr4   r\   r€   s      r   Útest_finalize_optionsÚ!TestInstall.test_finalize_optionsŸ   sÃ   € Ü˜V T˜NÓ+ˆÜ�d‹mˆð ˆŒ
Ø!ˆÔÜ�]Š]Ô/Õ0Ø× Ñ Ô"÷ 1ð  ˆÔØˆŒÜ�]Š]Ô/Õ0Ø× Ñ Ô"÷ 1ð
 ˆŒ
ØˆŒÜ�]Š]Ô/Õ0Ø× Ñ Ô"÷ 1Ð0÷ 1Õ0ú÷ 1Õ0ú÷ 1Õ0ús$   ÁCÂC.ÃC?Ã
C+Ã.
C<Ã?
Dc                 óö  • U R                  5       nU R                  S/S/S9u  p#[        R                  " U5        U R	                  SS5        U R	                  SS5        [        U5      nXCR                  S'   Xl        [        R                  R                  US5      Ul
        UR                  5         UR                  5         [        R                  " UR                  5      R                  S	S
9nUR!                  5        Vs/ s H#  n[        R                  " U5      R"                  PM%     nnSS[$        R&                  R(                   S3SSR*                  " [$        R,                  S S 6 /nXx:X  d   eg s  snf )NÚhelloÚsayhi)Ú
py_modulesÚscriptszhello.pyzdef main(): print('o hai')zfrom hello import main; main()r   Úfilelistúutf-8©Úencodingzhello.z.pycúUNKNOWN-0.0.0-py{}.{}.egg-infoé   )r/   Úcreate_distr#   ÚchdirÚ
write_filer   r3   Úrootr$   r0   Úrecordr5   ÚrunÚpathlibÚPathÚ	read_textÚ
splitlinesr   r8   r9   Ú	cache_tagÚformatÚversion_info)	rB   Úinstall_dirÚproject_dirrE   rF   ÚcontentÚlineÚfoundr'   s	            r   Útest_recordÚTestInstall.test_record·   s=  € Ø—l‘l“nˆØ ×,Ñ,¸¸	ÈGÈ9Ð,ÐUÑˆÜ
�Š�ÔØ�‰˜
Ð$@ÔAØ�‰˜Ð!AÔBä�d‹mˆØ&)×Ñ˜Ñ#ØŒÜ—W‘W—\‘\ +¨zÓ:ˆŒ
Ø×ÑÔØ�‰Œ	ä—,’,˜sŸz™zÓ*×4Ñ4¸gÐ4ÐFˆà5<×5GÑ5GÔ5IÓJÒ5I¨T”—’˜dÓ#×(Ô(Ñ5IˆÐJàØ”S×'Ñ'×1Ñ1Ð2°$Ð7ØØ,×3Ò3´S×5EÑ5EÀbÀqÐ5IÐJð	
ˆð Ó Ð Ñ ùò Ks   Ä*E6c                 ó�  • [        5       nUb  [        R                  " SU< S35        U R                  5       nU R	                  [        SS/5      /S9u  p4[        R                  " U5        [        R                  " U5        [        U5      n[        R                  " U5        UR                  5         [        U5      nXR                  S'   XTR                  S'   X!l        [        R                   R#                  US5      Ul        UR                  5         UR'                  5         [(        R*                  " UR$                  5      R-                  S	S
9nUR/                  5        Vs/ s H#  n[(        R*                  " U5      R0                  PM%     nn[3        S5      SR4                  " [6        R8                  S S 6 /n	X‰:X  d   eg s  snf )NzThe z command is not foundr[   z
xxmodule.c)Úext_modulesr   r   rŽ   r�   r�   r’   r“   )r
   r~   Úskipr/   r”   r	   r#   r•   r   Úcopy_xxmodule_cr   Úfixup_build_extr5   r   r3   r—   r$   r0   r˜   r™   rš   r›   rœ   r�   r   r   rŸ   r8   r    )
rB   rF   r¡   r¢   rE   Úbuildextcmdr£   r¤   r¥   r'   s
             r   Útest_record_extensionsÚ"TestInstall.test_record_extensionsÐ   sw  € Ü)Ó+ˆØ‰?Ü�KŠK˜$˜s™gÐ%:Ð;Ô<Ø—l‘l“nˆØ ×,Ñ,Ü" 4¨,¨Ó8Ð9ð -ð 
Ñˆô 	�Š�ÔÜ×Ò Ô,ä “oˆÜ×Ò Ô,Ø×$Ñ$Ô&ä�d‹mˆØ&)×Ñ˜Ñ#Ø(3×Ñ˜Ñ%ØŒÜ—W‘W—\‘\ +¨zÓ:ˆŒ
Ø×ÑÔØ�‰Œ	ä—,’,˜sŸz™zÓ*×4Ñ4¸gÐ4ÐFˆà5<×5GÑ5GÔ5IÓJÒ5I¨T”—’˜dÓ#×(Ô(Ñ5IˆÐJä˜4Ó Ø,×3Ò3´S×5EÑ5EÀbÀqÐ5IÐJð
ˆð Ó Ð Ñ ùò Ks   Å$*Gc                 óÖ   • UR                  [        SS5        UR                  [        R                  5        U R                  5         [        S UR                   5       5      (       d   eg )NÚDEBUGTc              3   ód   #   • U  H&  oR                   [        R                  :X  d  M"  Uv •  M(     g 7fr"   )ÚlevelnoÚloggingr±   )Ú.0Úrecs     r   Ú	<genexpr>Ú.TestInstall.test_debug_mode.<locals>.<genexpr>õ   s   é € ÐQ¢.˜3·K±KÄ7Ç=Á=Ñ4P—3‘3¢.ùs   ‚!0§	0)rc   rd   Ú	set_levelr´   r±   r¦   ÚanyÚrecords)rB   Úcaplogrl   s      r   Útest_debug_modeÚTestInstall.test_debug_modeð   sM   € à×ÑœN¨G°TÔ:Ø×ÑœŸ™Ô'Ø×ÑÔÜÑQ &§.¢.ÓQ×QÑQÐQÑQr   )rU   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r~   ÚmarkÚxfailrJ   rv   r�   r‡   r¦   r®   r½   Ú__static_attributes__© r   r   r   r      sS   † ð
 ‡[�[×ÑØGØ#ð ð ñ'2ó	ð'2òR5Tòn$ò:#ò0!ò2!õ@Rr   r   )!Ú__doc__r´   r#   rš   rb   r8   Ú	distutilsr   Údistutils.commandr   rd   Údistutils.command.build_extr   Údistutils.command.installr   Údistutils.corer   Údistutils.errorsr   Údistutils.extensionr	   Údistutils.testsr
   r   Údistutils.utilr   r~   r   Úcombine_markersrÃ   ÚusefixturesÚTempdirManagerr   rÆ   r   r   Ú<module>rÔ      s   ðÙ *ã Û 	Û Û Û 
Ý Ý 7Ý 1ß >Ý 'Ý 1Ý )ß @Ý #ã ò<ð 	×ÑØ‡�×Ñ˜Ó$ôZRØ×ÑóZRó %ó ñZRr   