Ë
    nûàgª!  ã                   ó6  — 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mZ ddlm	Z
 ddlmZ ddlmZm	Z	 ddlmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZ ddlZd„ Zej8                  ej:                  j=                  d«       G d„ dej>                  «      «       «       Z y)z$Tests for distutils.command.install.é    N)Ú	sysconfig)Úinstall)Ú	build_ext)ÚINSTALL_SCHEMESr   )ÚDistribution)ÚDistutilsOptionError)Ú	Extension)Úmissing_compiler_executableÚsupport)Úis_mingwc                 ó2   — | t        j                  d«      z   S )NÚ
EXT_SUFFIX)r   Úget_config_var)Úmodnames    úf/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/setuptools/_distutils/tests/test_install.pyÚ_make_ext_namer      s   € Ø”Y×-Ñ-¨lÓ;Ñ;Ð;ó    Úsave_envc                   óv   — e Zd Zej                  j                  dd¬«      d„ «       Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestInstallz=platform.system() == "Windows" and sys.version_info > (3, 11)zpypa/distutils#148)Úreasonc           	      ó4  — | j                  «       }t        j                  j                  |d«      }t	        ddi«      }t        j                  j                  |d«      |_        t        j                  |t        j                  j                  |d«      ¬«      |j                  d<   t        |«      }||_
        |j                  «        |j                  |k(  sJ ‚|j                  |k(  sJ ‚d„ }t        j                  j                   j#                  d	d
«      }t        j                  j                  |d|«      } ||j$                  |«       t'        t        dd«      }t        j                  j                  |||«      }	 ||j(                  |	«        ||j*                  |«        ||j,                  t        j                  j                  |d|d«      «        ||j.                  t        j                  j                  |d«      «        ||j0                  |«       y )NÚinstallationÚnameÚfoopkgzsetup.pyÚlib)Ú
build_baseÚ	build_libÚbuildc                 óŽ   — t         j                  j                  | «      } t         j                  j                  |«      }| |k(  sJ ‚y ©N)ÚosÚpathÚnormpath)ÚgotÚexpecteds     r   Ú
check_pathz=TestInstall.test_home_installation_scheme.<locals>.check_path8   s6   € Ü—'‘'×"Ñ" 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_schemez)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                 ó4  ‡ — ‰ j                  «       ‰ _        t        j                  }t        j                  }|j                  t        dt        j                  j                  ‰ j                  d«      «       |j                  t        dt        j                  j                  ‰ j                  d«      «       |j                  t        dt        j                  «       |j                  t        dt        j                  «       ˆ fd„}|j                  t        j                  d|«       dD ]  }|t        v rŒJ ‚ t        dd	i«      }t        |«      }|j                  D ��	�
cg c]  \  }}	}
|‘Œ
 }}	}}
d
|v sJ ‚d|_        t        j                  j                  t        j                  «      rJ ‚t        j                  j                  t        j                  «      rJ ‚|j!                  «        t        j                  j                  t        j                  «      sJ ‚t        j                  j                  t        j                  «      sJ ‚d|j"                  v sJ ‚d|j"                  v sJ ‚t        j                  j%                  |j&                  t        j                  «      }t        j(                  dk(  rht+        «       s^t        j                  j%                  t        j                  j-                  |«      |«      }t        j                  j                  |d«      }nt/        j0                  dd«      }t        j                  j                  |d	«      }t        j                  j3                  |«      t        j                  j3                  |«      k(  sJ ‚y c c}
}	}w )NÚ	USER_BASEÚBÚ	USER_SITEÚSc                 óˆ   •— | j                  d«      r/t        j                  j                  ‰j                  | dd  z   «      S | S )Nú~é   )Ú
startswithr"   r#   r$   Útmpdir)r#   r@   s    €r   Ú_expanduserz/TestInstall.test_user_site.<locals>._expanduserV   s8   ø€ Ø�‰˜sÔ#Ü—w‘w×'Ñ'¨¯©°d¸1¸2°hÑ(>Ó?Ð?ØˆKr   Ú
expanduser)Únt_userÚ
posix_userr   ÚxxÚuserTÚuserbaseÚusersiteÚntÚIncluder   Ú )r-   rR   ÚsiterL   rJ   Úsetattrr"   r#   r.   Úinstall_moduler   r   r   Úuser_optionsrX   Úexistsr3   Úconfig_varsÚrelpathr=   r   r   Údirnamer   Úget_python_incÚnormcase)r@   ÚmonkeypatchÚ	orig_siteÚ	orig_baserS   ÚkeyrC   rD   r   ÚshortÚlabelÚoptionsÚactual_headersÚ	site_pathr+   Úexpect_headerss   `               r   Útest_user_sitez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ÐCÑ.˜D %¨’4ÐCˆÒCØ˜Ñ Ð Ð ð ˆŒô —7‘7—>‘>¤$§.¡.Ô1Ð1Ð1Ü—7‘7—>‘>¤$§.¡.Ô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                 óx  — t        dddœ«      }t        |«      }|j                  «        |j                  ddgk(  sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚dg|_        |j                  «        |j                  dgk(  sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚d x|_        |_        |j                  «        |j                  �J ‚|j                  dk(  sJ ‚|j
                  �J ‚d|_        t        j                  t        «      5  |j                  «        d d d «       y # 1 sw Y   y xY w)NrW   z	path,dirs)r   Ú
extra_pathr#   Údirsr]   zpath,dirs,again)	r   r   Úhandle_extra_pathrt   Ú
extra_dirsÚ	path_fileÚpytestÚraisesr   ©r@   rC   rD   s      r   Útest_handle_extra_pathz"TestInstall.test_handle_extra_path‚   s7  € Ü T¸ÑEÓFˆÜ�d‹mˆð 	×ÑÔØ�~‰~ &¨&Ð!1Ò1Ð1Ð1Ø�~‰~ Ò'Ð'Ð'Ø�}‰} Ò&Ð&Ð&ð !˜ˆŒØ×ÑÔØ�~‰~ & Ò)Ð)Ð)Ø�~‰~ Ò'Ð'Ð'Ø�}‰} Ò&Ð&Ð&ð ,0Ð/ˆŒ˜#œ.Ø×ÑÔØ�~‰~Ð%Ð%Ð%Ø�~‰~ Ò#Ð#Ð#Ø�}‰}Ð$Ð$Ð$ð +ˆŒÜ�]‰]Ô/Ó0ñ 	$Ø×!Ñ!Ô#÷	$÷ 	$ñ 	$ús   ÄD0Ä0D9c                 óü  — t        ddi«      }t        |«      }d|_        d|_        t	        j
                  t        «      5  |j                  «        d d d «       d |_        d|_        t	        j
                  t        «      5  |j                  «        d d d «       d |_        d|_	        t	        j
                  t        «      5  |j                  «        d d d «       y # 1 sw Y   ŒŠxY w# 1 sw Y   ŒVxY w# 1 sw Y   y xY w)Nr   rW   ÚprefixÚbaser2   rX   )
r   r   r~   r4   ry   rz   r   Úfinalize_optionsr2   rX   r{   s      r   Útest_finalize_optionsz!TestInstall.test_finalize_optionsŸ   sÚ   € Ü˜V T˜NÓ+ˆÜ�d‹mˆð ˆŒ
Ø!ˆÔÜ�]‰]Ô/Ó0ñ 	#Ø× Ñ Ô"÷	#ð  ˆÔØˆŒÜ�]‰]Ô/Ó0ñ 	#Ø× Ñ Ô"÷	#ð
 ˆŒ
ØˆŒÜ�]‰]Ô/Ó0ñ 	#Ø× Ñ Ô"÷	#ð 	#÷	#ð 	#ú÷	#ð 	#ú÷	#ð 	#ús$   Á CÂ C&Ã C2ÃC#Ã&C/Ã2C;c                 óü  — | j                  «       }| j                  dgdg¬«      \  }}t        j                  |«       | j	                  dd«       | j	                  dd«       t        |«      }||j                  d<   ||_        t        j                  j                  |d«      |_
        |j                  «        |j                  «        t        j                  |j                  «      j                  d	¬
«      }|j!                  «       D �cg c]!  }t        j                  |«      j"                  ‘Œ# }}ddt$        j&                  j(                  › d�d dj*                  t$        j,                  d d Ž g}||k(  sJ ‚y c c}w )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   r1   Úrootr#   r.   Úrecordr3   ÚrunÚpathlibÚPathÚ	read_textÚ
splitlinesr   r6   r7   Ú	cache_tagÚformatÚversion_info)	r@   Úinstall_dirÚproject_dirrC   rD   ÚcontentÚlineÚfoundr&   s	            r   Útest_recordzTestInstall.test_record·   sE  € Ø—l‘l“nˆØ ×,Ñ,¸¸	ÈGÈ9Ð,ÓUÑˆ�TÜ
�‰�ÔØ�‰˜
Ð$@ÔAØ�‰˜Ð!AÔBä�d‹mˆØ&)ˆ×Ñ˜Ñ#ØˆŒÜ—W‘W—\‘\ +¨zÓ:ˆŒ
Ø×ÑÔØ�‰Œ	ä—,‘,˜sŸz™zÓ*×4Ñ4¸gÐ4ÓFˆà5<×5GÑ5GÓ5IÖJ¨T”—‘˜dÓ#×(Ó(ÐJˆÐJàØ”S×'Ñ'×1Ñ1Ð2°$Ð7ØØ3Ð,×3Ñ3´S×5EÑ5EÀbÀqÐ5IÐJð	
ˆð ˜Ò Ð Ñ ùò Ks   Ä	&E9c                 óŽ  — t        «       }|�t        j                  d|›d�«       | j                  «       }| j	                  t        ddg«      g¬«      \  }}t        j                  |«       t        j                  |«       t        |«      }t        j                  |«       |j                  «        t        |«      }||j                  d<   ||j                  d<   ||_        t        j                   j#                  |d«      |_        |j                  «        |j'                  «        t)        j*                  |j$                  «      j-                  d	¬
«      }|j/                  «       D �cg c]!  }t)        j*                  |«      j0                  ‘Œ# }}t3        d«       dj4                  t6        j8                  d d Ž g}	||	k(  sJ ‚y c c}w )NzThe z command is not foundrW   z
xxmodule.c)Úext_modulesr   r   r‡   rˆ   r‰   r‹   rŒ   )r
   ry   Úskipr-   r�   r	   r"   rŽ   r   Úcopy_xxmodule_cr   Úfixup_build_extr3   r   r1   r�   r#   r.   r‘   r’   r“   r”   r•   r–   r   r   r˜   r6   r™   )
r@   rD   rš   r›   rC   Úbuildextcmdrœ   r�   rž   r&   s
             r   Útest_record_extensionsz"TestInstall.test_record_extensionsÐ   s�  € Ü)Ó+ˆØˆ?Ü�K‰K˜$˜s˜gÐ%:Ð;Ô<Ø—l‘l“nˆØ ×,Ñ,Ü" 4¨,¨Ó8Ð9ð -ó 
Ñˆ�Tô 	�‰�ÔÜ×Ñ Ô,ä “oˆÜ×Ñ Ô,Ø×$Ñ$Ô&ä�d‹mˆØ&)ˆ×Ñ˜Ñ#Ø(3ˆ×Ñ˜Ñ%ØˆŒÜ—W‘W—\‘\ +¨zÓ:ˆŒ
Ø×ÑÔØ�‰Œ	ä—,‘,˜sŸz™zÓ*×4Ñ4¸gÐ4ÓFˆà5<×5GÑ5GÓ5IÖJ¨T”—‘˜dÓ#×(Ó(ÐJˆÐJä˜4Ó Ø3Ð,×3Ñ3´S×5EÑ5EÀbÀqÐ5IÐJð
ˆð ˜Ò Ð Ñ ùò Ks   Å'&Gc                 óÌ   — |j                  t        dd«       |j                  t        j                  «       | j                  «        t        d„ |j                  D «       «      sJ ‚y )NÚDEBUGTc              3   ó\   K  — | ]$  }|j                   t        j                  k(  sŒ!|–— Œ& y ­wr!   )ÚlevelnoÚloggingr¨   )Ú.0Úrecs     r   ú	<genexpr>z.TestInstall.test_debug_mode.<locals>.<genexpr>õ   s   è ø€ ÒQ˜3°C·K±KÄ7Ç=Á=Ó4P”3ÑQùs   ‚",¥,)r_   r`   Ú	set_levelr«   r¨   rŸ   ÚanyÚrecords)r@   Úcaplogrh   s      r   Útest_debug_modezTestInstall.test_debug_modeð   sJ   € à×ÑœN¨G°TÔ:Ø×ÑœŸ™Ô'Ø×ÑÔÜÑQ &§.¡.ÔQÔQÐQÑQr   N)Ú__name__Ú
__module__Ú__qualname__ry   ÚmarkÚxfailrH   rr   r|   r�   rŸ   r¦   r³   © r   r   r   r      sS   „ ð
 ‡[�[×ÑØGØ#ð ó ñ'2ó	ð'2òR5Tòn$ò:#ò0!ò2!ó@Rr   r   )!Ú__doc__r«   r"   r“   r^   r6   Ú	distutilsr   Údistutils.commandr   r`   Údistutils.command.build_extr   Údistutils.command.installr   Údistutils.corer   Údistutils.errorsr   Údistutils.extensionr	   Údistutils.testsr
   r   Údistutils.utilr   ry   r   Úcombine_markersr·   ÚusefixturesÚTempdirManagerr   r¹   r   r   ú<module>rÇ      s   ðÙ *ã Û 	Û Û Û 
Ý Ý 7Ý 1ß >Ý 'Ý 1Ý )ß @Ý #ã ò<ð 	×ÑØ‡�×Ñ˜Ó$ôZRØ×ÑóZRó %ó ñZRr   