python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_sysconfig.cpython-311.pyc

eXRddlZddlZddlZddlZddlZddlmZddlmZmZm	Z	m
Z
ddlmZddl
mZmZmZmZddlmZddlZddlmZmZmZmZmZmZmZmZmZmZmZm Z ddl!Z!ej"Z#Gdd	ej$Z%Gd
dej$Z&e'dkrej(dSdS)
N)copy)captured_stdout
PythonSymlinkrequires_subprocessis_wasi)
import_module)TESTFNunlinkskip_unless_symlink
change_cwd)check_warnings)	get_pathsget_platformget_config_varsget_pathget_path_names_INSTALL_SCHEMESget_default_schemeget_scheme_namesget_config_var_expand_vars_get_preferred_schemes_mainceZdZfdZfdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZejeddZdZeedZdZdZejejdkddZejejdkdedZ ejeddZ!dZ"eje#j$ddud d!Z%ejejd"koe&ej'd#d$d%Z(ejejdkd&d'Z)xZ*S)(
TestSysConfigctt|tjdd|_t
tdr*tj|_tj|_	nd|_|
d|jt_tj|_tj
|_
tj|_tj|_tjj|_tjj|_tjj|_t&jt+t&jf|_g|_g|_dD]W}|tjvr-|j|tj|f=|j|XdS)Nuname)rrrr)MACOSX_DEPLOYMENT_TARGETPATH)superrsetUpsyspathsys_pathhasattrosr_uname
_set_uname
_get_unamenameplatformversionsepjoinisabs
splitdrive	sysconfig_CONFIG_VARSr_config_vars_added_envvars_changed_envvarsenvironappend)selfvar	__class__s  G/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_sysconfig.pyr"zTestSysConfig.setUpsR
mT""((***
2w	%DJ(**DKKDJOOG$$$?G	
{6GL	W]
',%2D9O4P4PP  "7	0	0Cbj  %,,c2:c?-CDDDD#**3////		0	0c@|jtjdd<||j|jt
_nt
`|jt
_|jt_|jt_|j	t
_	|j
t
j_
|jt
j_|jt
j_|j
dt_tjtj|j
d|jD]\}}|t
j|<|jD]"}t
j|d#t-t.|dS)Nr)r%r#r$_cleanup_testfnrr'r+r,r-r.r/r0r1r4r2r3clearupdater6r7r5popr!rtearDown)r9r:valuer;s   r<rDzTestSysConfig.tearDown9s8m:!zBHH)}ly

!_!%!21!5	$$&&&%%d&7&:;;;/	$	$JC#BJsOO&	&	&CJNN3%%%%
mT""++-----r=c8tj||_dSN)r'uname_resultr()r9rs  r<r)zTestSysConfig._set_unameQsoe,,r=c|jSrG)r(r9s r<r*zTestSysConfig._get_unameTs
{r=ct}tj|rtj|dStj|rt
j|dSdSrG)r	r'r$isfileremoveisdirshutilrmtree)r9r$s  r<r@zTestSysConfig._cleanup_testfnWsd
7>>$	 IdOOOOO
W]]4
 
 	 M$	 	 r=c^|ttjdSrG)assertEqualrr2_SCHEME_KEYSrJs r<test_get_path_namesz!TestSysConfig.test_get_path_names^s'))9+ABBBBBr=ct}t}t|d}t|}t|}|||dSrG)rrrsorteditemsrR)r9schemedefault_schemewanteds    r<test_get_pathszTestSysConfig.test_get_pathsask+--nd33''''(((((r=c
zt}tjdkr|ddiz}tD]}t|D]}}t||jdi|}|tjt||tj|~dS)Nnt
platlibdirlib)	rr'r+rformatrRr$normpathr)r9config_varsrXr+expecteds     r<
test_get_pathzTestSysConfig.test_get_pathis%''
7d??&u(==K&		F(0

+F3D9@OO;OO  G$$XdF%;%;<<G$$X..
		r=cT|ttdSrG)assertInrrrJs r<test_get_default_schemez%TestSysConfig.test_get_default_schemews$

(**,<=====r=c2hd}dt_t}||t|t
||dt_t}||t|t
||dt_dt_dt_	||t|t
||dS)N>homeuserprefixr]posixdarwinT)
r'r+rassertIsInstancedictrRsetr#r,
_framework)r9expected_schemesschemess   r<test_get_preferred_schemesz(TestSysConfig.test_get_preferred_schemeszs555(**gt,,,W'7888(**gt,,,W'7888gt,,,W'788888r=cd}d}tjddtjddzd}tjtj|}tjtj|}tjtj|}||tjdd	||tjd
d	tjdd	}|	|
|tjzdS)Nbinincluder_zpython%d.%d
site-packagesscripts
posix_venvrXpurelib)r'r$r/r#version_inforlrRr2r
assertTrue
startswithr.)r9binpathincpathlibpathsysconfig_includedirs     r<test_posix_venv_schemez$TestSysConfig.test_posix_venv_schemes',,u,s/?/CC.00
',,sz733',,sz733',,sz733)"4Y|"T"T"TUUU)"4Y|"T"T"TUUU )1)LQQQ,77"&8HIIJJJJJr=cFd}d}tjdd}tjtj|}tjtj|}tjtj|}||t
jdd||t
jdd||t
jd	ddS)
NScriptsIncludeLibrzr{nt_venvr}rxr~)r'r$r/r#rlrRr2r)r9rrrs    r<test_nt_venv_schemez!TestSysConfig.test_nt_venv_schemes',,uo66',,sz733',,sz733',,sz733)"4Yy"Q"Q"QRRR)"4Yy"Q"Q"QRRR)"4Yy"Q"Q"QRRRRRr=ctjdkr|tjddtjdd|tjddtjdd|tjddtjdddS|tjddtjdd|tjddtjdd|tjddtjdddS)	Nwin32r{venvr}rrxr~r|)r#r,rRr2rrJs r<test_venv_schemezTestSysConfig.test_venv_schemes<7"""9V<<<"9Y???



"9V<<<"9Y???



"9V<<<"9Y???






"9V<<<"9\BBB



"9V<<<"9\BBB



"9V<<<"9\BBB




r=ct}||t||dSrG)rrorpr)r9cvarss  r<test_get_config_varsz"TestSysConfig.test_get_config_varss;!!eT***r=c	dt_dt_dt_|t
ddt_dt_dt_|t
ddt_dt_dt_|d	tj	td
td<dtd
<tj}	dt_|t
ddt_|t
d|t_n#|t_wxYw|dtj	td
td<dtd
<tj}	dt_|t
ddt_|t
d|t_n#|t_wxYwtj	tdtd<dtd
<|t
dtj	tdtd
<|t
dtj	tdtd
<|t
dtj	tdtd
<|t
dtj	tdtd
<|t
dd D][}tj	td!|ztd
<|t
d"|z\dt_d#t_d$t_|d%|t
d&dS)'Nr]z>2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)]rz>2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Amd64)]z	win-amd64rmzU2.5 (r25:51918, Sep 19 2006, 08:49:13) 
[GCC 4.0.1 (Apple Computer, Inc. build 5341)]rn)Darwinmacziade8.11.1]Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386PowerPCz10.3rzF-fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypesCFLAGSizmacosx-10.3-ppclzmacosx-10.3-ppc64)rrrri386zmacosx-10.3-i386zmacosx-10.3-x86_64z10.4zy-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-fatz|-arch x86_64 -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-intelz-arch x86_64 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-fat3z-arch ppc64 -arch x86_64 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-universalz}-arch x86_64 -arch ppc64 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-fat64)ppcrx86_64ppc64zm-arch %s -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3zmacosx-10.4-%szV2.3.5 (#1, Jul  4 2007, 17:28:59) 
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)]linux2)Linuxaglaez2.6.21.1dedibox-r7z #1 Mon Apr 30 17:25:38 CEST 2007i686z
linux-i686)r'r+r#r-r,rRrr)_osx_support_remove_original_valuesrmaxsize)r9maxintarchs   r<test_get_platformzTestSysConfig.test_get_platformsP51115555IE	F	F	F	,_->->???8>45(O(#	!$CK\^^->???-CK\^^-@AAA CKK&CK    B	C	C	C	,_->->???8>45(O(#	!$CK\^^-?@@@-CK\^^-ABBB CKK&CK    	,_->->???8>45(B(#
	
):;;;,_->->???(B(#
	
)<===,_->->???(B(#	
);<<<,_->->???(B(#	
)@AAA,_->->???(B(#
	
)<===6	F	FD01B1BCCC,FIM,MOh'

\^^-=-DEEEEO@	A	A	A	
66666sAE>>F3AII*,Incompatible with WASI mapdir and OOT buildsctj}|tj||dSrG)r2get_config_h_filenamerr'r$rL)r9config_hs  r<test_get_config_h_filenamez(TestSysConfig.test_get_config_h_filenameMs8244x00(;;;;;r=cgd}tr|gd|tt	t|dS)N)r]
posix_homeposix_prefixr|rr)nt_userosx_framework_user
posix_user)
HAS_USER_BASEextendrRrtuplerV)r9rZs  r<test_get_scheme_namesz#TestSysConfig.test_get_scheme_namesRs`VVV	KMMIIIJJJ)++U6&>>-B-BCCCCCr=ct5}d}||j||j|ddddS#1swxYwYdS)N)-c1import sysconfig; print(sysconfig.get_platform()))rrR	call_real	call_link)r9pycmds   r<test_symlinkzTestSysConfig.test_symlinkXs__	EKC\R\3/s1CDDD	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	Es)AA	A	ctd}trtd}tjtjk}dD]}t|d}|rU|tjtj}|tjtj}nntjtjkrT|tjtj}|tjtj}trt|d}tj
|||d}|dkrBtj
}d|d	}	|d
tjd
|	d|	}|||dS)Nbaseuserbase)stdlib
platstdlibr~platlibrrr?rpythonz/site-packages/z/lib/)rrr#base_prefixbase_exec_prefixrreplaceexec_prefixrlr'r$rbr2get_python_versionr^rR)
r9rrkadaptr+global_path	user_pathrdpy_version_shortsuffixs
          r<test_user_similarzTestSysConfig.test_user_similar_sf%%	.!*--D3#77B	6	6D"488K
A)11#/3?SS||COS_EECJ..*11#/3:NN||COSZ@@
6$T<88	7++K,?,?dA,N,NOO9$$(1'C'E'E$F&6FFFF'//0MCN0M0MV0M0M0@0@0@ B BH  H555-	6	6r=ct5}tdddn#1swxYwY|t|ddkdS)N
r)rrrlengetvaluesplit)r9outputs  r<	test_mainzTestSysConfig.test_mains


	&GGG															FOO--33D99::Q>?????s*..rzDoes not apply to Windowsctjd}tjd}|||dS)NLDFLAGSLDSHARED)r2rrg)r9ldflagsldshareds   r<test_ldshared_valuez!TestSysConfig.test_ldshared_values<*955+J77

gx(((((r=rnztest only relevant on MacOSXctj}tj}d|vr|d=tjtjddgt
j	t
j
|}|d}|
d}|}||d|||tj}d|d<tjtjddgt
j	t
j
|}|d}|
d}|}||d|||dS)Nrrr)stdoutstderrenvrzutf-8z10.1)r2rr'r7r
subprocessPopenr#
executablePIPEDEVNULLcommunicatestripdecodewaitrR)r9my_platformrp
test_platformstatuss      r<test_platform_in_subprocessz)TestSysConfig.test_platform_in_subprocesss ,..joo%,,./C?%





*0022
%,,W55
###m444joo*0&'C?%





*0022
%,,W55
###m44444r=ctjd}|tj|||tj||tjrtj|dd}|tj	||tj|dd}|tj	||tj|d}|tj	||dStj
dkrgtjtj}tj
|}|||dSdS)NsrcdirrzPython.hPCz
pyconfig.hz
pyconfig.h.inrm)r2rrr'r$r0rN
_PYTHON_BUILDr/existsr+dirnameget_makefile_filenamerealpathrR)r9rPython_h
pyconfig_h
pyconfig_h_inmakefile_dirs      r<test_srcdirzTestSysConfig.test_srcdirsv)(33

f--v666

f--v666"	3w||FIzBBHOOBGNN844h???fdLAAJOOBGNN:66
CCCGLLAAMOOBGNN=99=IIIII
W

7??9+J+L+LMML7++L99L\622222	 
r=ctjd}ttj5tjd}dddn#1swxYwY|||dS)Nr)r2rrr'pardirrR)r9rsrcdir2s   r<test_srcdir_independent_of_cwdz,TestSysConfig.test_srcdir_independent_of_cwds)(33
	
"
"	9	9.x88G	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9)))))sAAA
EXT_SUFFIXNz!EXT_SUFFIX required for this testcddl}|s|dtj}||d|ddS)Nrzstub loader has no suffixesr)_impextension_suffixesskipTestr2rrR)r9rvarss   r<test_EXT_SUFFIX_in_varsz%TestSysConfig.test_EXT_SUFFIX_in_varsst	&&((	9MM7888(**l+T-D-D-F-Fq-IJJJJJr=linux
_multiarchzmultiarch-specific testctd}ddl}ddl}|}t	jd}|d|r|d|v||d|r^||	dkrd}nd	}||
|d
|dSdS)Nctypesrrz)(aarch64|arm|mips|ppc|powerpc|s390|sparc)r
z(i[3-6]86|x86_64)$)zi386-linux-gnu.sozx86_64-linux-gnux32.sozi386-linux-musl.so)zx86_64-linux-gnu.sozx86_64-linux-musl.sozunexpected suffix )rr,remachiner2rmatchrsizeofc_char_pendswith)r9r
r,rrrexpected_suffixess       r<test_triplet_in_ext_suffixz(TestSysConfig.test_triplet_in_ext_suffixsx((""$$),77
88?II	7OOGv-v666
88('22	=}}V__..//144$g!!$Q!OOFOO,=>>;;;
=
=
=
=
=	=	=r=zOS X-specific testctjd}||d|dS)Nrz
-darwin.so)r2rrr)r9rs  r<test_osx_ext_suffixz!TestSysConfig.test_osx_ext_suffixs8),7755v>>>>>r=)+__name__
__module____qualname__r"rDr)r*r@rTr[rerhrurrrrrunittestskipIfrrrrrrrrr#r,r
skipUnlessrrrr2rr	r&implementationrr
__classcell__)r;s@r<rrs7000008.....0---   CCC)))>>>999,KKK,SSS 8
r7r7r7lX_WLMM<<NM<DDDEEE
 6 6 6D@@@X_S\W,.IJJ))KJ)X13QRR(5(5SR(5TX_WLMM33NM3.***X_-Y-l;;tC8::KK::KX0C !3\BB244
=
=44
=X13GHH??IH?????r=rceZdZejejddejeddZ	dZ
dS)
MakefileTestswinzTest is not Windows compatiblerctj}|tj||dSrG)r2rrr'r$rL)r9makefiles  r<test_get_makefile_filenamez(MakefileTests.test_get_makefile_filenames:244x00(;;;;;r=c
|ttttd5}t	d|t	d|t	d|t	d|t	d|t	d|dddn#1swxYwYtjt}||d	d
ddd
dddS)Nwz
var1=a$(VAR2))filez
VAR2=b$(var3)zvar3=42zvar4=$/invalidzvar5=dollar$$5zAvar6=${var3}/lib/python3.5/config-$(VAR2)$(var5)-x86_64-linux-gnuab42b42*z	$/invalidzdollar$5z442/lib/python3.5/config-b42dollar$5-x86_64-linux-gnu)var1VAR2var3var4var5var6)
addCleanupr
r	openprintr2_parse_makefilerR)r9r%rs   r<test_parse_makefilez!MakefileTests.test_parse_makefilesJ'''
&#

	6(/1111/1111)(++++"2222"2222&,4
6
6
6
6
	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6(00J
 
 
					sA'B))B-0B-N)rrrrrr#r,rrr&r7r`r=r<r"r"s}X_S\,,U33577X_WLMM<<NM77<r=r"__main__))rr#r'rrOrtest.supportrrrrtest.support.import_helperrtest.support.os_helperr	r
rrtest.support.warnings_helperr
r2rrrrrrrrrrrrr_HAS_USER_BASErTestCaserr"rmainr`r=r<<module>r@s:



				



544444000000000000777777DDDDDDDDDDDDDDDDDDDDDDDDDDDD(
]?]?]?]?]?H%]?]?]?~H%<zHMOOOOOr=