+
    SBi!                     8   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t
 ^ RIHt ^ RIHtH	t	 ^ RIHt ^ RIHt ^ RIHt ^ R	IHtHt ^ R
IHt ^ RItR t]P8                  ]P:                  P=                  R4       ! R R]P>                  4      4       4       t R# )z$Tests for distutils.command.install.N)	sysconfig)install)	build_ext)INSTALL_SCHEMESr   )Distribution)DistutilsOptionError)	Extension)missing_compiler_executablesupport)is_mingwc                 <    V \         P                  ! R 4      ,           # )
EXT_SUFFIX)r   get_config_var)modnames   &M/usr/lib/python3.14/site-packages/setuptools/_distutils/tests/test_install.py_make_ext_namer      s    Y--l;;;    save_envc                      a  ] tR t^t o ]P
                  P                  RRR7      R 4       tR tR t	R t
R tR	 tR
 tRtV tR# )TestInstallz=platform.system() == "Windows" and sys.version_info > (3, 11)zpypa/distutils#148)reasonc           	     <   V P                  4       p\        P                  P                  VR 4      p\	        RR/4      p\        P                  P                  VR4      Vn        \        P                  ! V\        P                  P                  VR4      R7      VP                  R&   \        V4      pW$n
        VP                  4        VP                  V8X  g   Q hVP                  V8X  g   Q hR p\        P                  P                   P#                  RR	4      p\        P                  P                  VRV4      pV! VP$                  V4       \'        \        R
R4      p\        P                  P                  W(V4      p	V! VP(                  V	4       V! VP*                  V4       V! VP,                  \        P                  P                  VRVR4      4       V! VP.                  \        P                  P                  VR4      4       V! VP0                  V4       R# )installationnamefoopkgzsetup.pylib)
build_base	build_libbuildc                     \         P                  P                  V 4      p \         P                  P                  V4      pW8X  g   Q hR # N)ospathnormpath)gotexpecteds   &&r   
check_path=TestInstall.test_home_installation_scheme.<locals>.check_path8   s4    ''""3'Cww''1H?"?r   cpythonpython
platlibdirincludebinN)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    <<>ggll8^<VX./77<<*=$+$8$8ggll8U3%
!
 dm;...##{222	#
 &&++33IxH	k5)<3??F+c<7WW\\+IF
3&&
33&&/GGLLiHE	
 	3&&[%(HI3##[1r   c                  a  S P                  4       S n        \        P                  p\        P                  pVP                  \        R \        P                  P                  S P                  R4      4       VP                  \        R\        P                  P                  S P                  R4      4       VP                  \        R \        P                  4       VP                  \        R\        P                  4       V 3R lpVP                  \        P                  RV4       R F  pV\        9   d   K  Q h	  \        RR/4      p\        V4      pVP                   UU	U
u. uF  w  rqNK	  	  pp	pp
RV9   g   Q hR	Vn        \        P                  P                  \        P                  4      '       d   Q h\        P                  P                  \        P                  4      '       d   Q hVP!                  4        \        P                  P                  \        P                  4      '       g   Q h\        P                  P                  \        P                  4      '       g   Q hR
VP"                  9   g   Q hRVP"                  9   g   Q h\        P                  P%                  VP&                  \        P                  4      p\        P(                  R8X  do   \+        4       '       g_   \        P                  P%                  \        P                  P-                  V4      V4      p\        P                  P                  VR4      pM\.        P0                  ! ^ R4      p\        P                  P                  VR4      p\        P                  P3                  V4      \        P                  P3                  V4      8X  g   Q hR# u up
p	pi )	USER_BASEB	USER_SITESc                    < V P                  R 4      '       d8   \        P                  P                  SP                  V R,          ,           4      # V # )~:   NN)
startswithr!   r"   r#   tmpdir)r"   r@   s   &r   _expanduser/TestInstall.test_user_site.<locals>._expanduserV   s9    s##ww''d2h(>??Kr   
expanduserr   xxuserTuserbaseusersitentInclude N)nt_user
posix_user)r-   rS   siterM   rK   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_baserT   keyrC   rD   r   shortlabeloptionsactual_headers	site_pathr+   expect_headerss   f&              r   test_user_siteTestInstall.test_user_siteK   s    llnNN	NN	D+rww||DKK/MND+rww||DKK/MNNKHNKH	
 	BGG\;?,C/))) - VTN+dm 362B2BC2B.D42BC     77>>$..111177>>$..1111 	 ww~~dnn----ww~~dnn----S__,,,S__,,,)<)<dnnM77d?8::	(BINIggll9i8G..q"5Ggt4ww/2773C3CN3SSSS9 Ds   $Oc                   \        R RRR/4      p\        V4      pVP                  4        VP                  RR.8X  g   Q hVP                  R8X  g   Q hVP
                  R8X  g   Q hR.Vn        VP                  4        VP                  R.8X  g   Q hVP                  R8X  g   Q hVP
                  R8X  g   Q hR;Vn        Vn        VP                  4        VP                  e   Q hVP                  R8X  g   Q hVP
                  e   Q hRVn        \        P                  ! \        4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; i)	r   rW   
extra_pathz	path,dirsr"   dirsNr]   zpath,dirs,again)	r   r   handle_extra_pathrw   
extra_dirs	path_filepytestraisesr   r@   rC   rD   s   &  r   test_handle_extra_path"TestInstall.test_handle_extra_path   s8   VT<EFdm 	~~&&!1111~~'''}}&&& !~~&)))~~'''}}&&& ,0/#.~~%%%~~###}}$$$ +]]/00!!# 1000s   2EE	c                `   \        R R/4      p\        V4      pRVn        RVn        \        P
                  ! \        4      ;_uu_ 4        VP                  4        RRR4       RVn        RVn        \        P
                  ! \        4      ;_uu_ 4        VP                  4        RRR4       RVn        RVn	        \        P
                  ! \        4      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     L; i  + '       g   i     Ln; i  + '       g   i     R# ; i)r   rW   prefixbaseNr2   rX   )
r   r   r   r4   r|   r}   r   finalize_optionsr2   rX   r~   s   &  r   test_finalize_options!TestInstall.test_finalize_options   s    VTN+dm 
!]]/00  " 1  ]]/00  " 1
 
]]/00  " 10 10 10 100s$   	C6D	D6D		D	D-	c                   V P                  4       pV P                  R .R.R7      w  r#\        P                  ! V4       V P	                  RR4       V P	                  RR4       \        V4      pWCP                  R&   Wn        \        P                  P                  VR4      Vn
        VP                  4        VP                  4        \        P                  ! VP                  4      P                  RR	7      pVP!                  4        Uu. uF#  p\        P                  ! V4      P"                  NK%  	  ppRR
\$        P&                  P(                   R2RRP*                  ! \$        P,                  R,          !  .pWx8X  g   Q hR# u upi )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-infoN   NN)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_recordTestInstall.test_record   s;   lln ,,	G9,U

$@A!ABdm&)#WW\\+z:
	,,szz*44g4F5<5G5G5IJ5ITd#((5IJS''112$7,33S5E5Eb5IJ	
     Ks   )Fc                   \        4       pVe   \        P                  ! RV: R24       V P                  4       pV P	                  \        RR.4      .R7      w  r4\        P                  ! V4       \        P                  ! V4       \        V4      p\        P                  ! V4       VP                  4        \        V4      pWP                  R&   WTP                  R&   W!n        \        P                   P#                  VR4      Vn        VP                  4        VP'                  4        \(        P*                  ! VP$                  4      P-                  R	R
7      pVP/                  4        Uu. uF#  p\(        P*                  ! V4      P0                  NK%  	  pp\3        R4      RP4                  ! \6        P8                  R,          !  .p	W8X  g   Q hR # u upi )NzThe z command is not foundrW   z
xxmodule.c)ext_modulesr   r   r   r   r   r   r   )r	   r|   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_extensions"TestInstall.test_record_extensions   su   )+?KK$sg%:;<lln ,,"4,89 - 
 	,o,$$&dm&)#(3%WW\\+z:
	,,szz*44g4F5<5G5G5IJ5ITd#((5IJ4 ,33S5E5Eb5IJ
     Ks   +)Gc                2   VP                  \        R R4       VP                  \        P                  4       V P                  4        \        ;QJ d&    R VP                   4       F  '       g   K   RM	  RM! R VP                   4       4      '       g   Q hR# )DEBUGTc              3   f   "   T F'  qP                   \        P                  8X  g   K#  Vx  K)  	  R # 5ir    )levelnologgingr   ).0recs   & r   	<genexpr>.TestInstall.test_debug_mode.<locals>.<genexpr>   s     Q.3KK7==4P33.s    1
1FN)ra   rb   	set_levelr   r   r   anyrecords)r@   caplogrj   s   &&&r   test_debug_modeTestInstall.test_debug_mode   sa    NGT:'sQ&..QsssQ&..QQQQQr   )rS   N)__name__
__module____qualname____firstlineno__r|   markxfailrH   rt   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s\     
 [[G#  '2	'2R5Tn$:#0!2!@R Rr   r   )!__doc__r   r!   r   r`   r6   	distutilsr   distutils.commandr   rb   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   <module>r      s    *  	   
  7 1 > ' 1 ) @ # < 	$ZRZR % ZRr   