python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_sysconfig.cpython-312.pyc

ΑeWVddlZddlZddlZddlZddlZddlmZddlmZmZm	Z	m
Z
ddlmZddl
mZmZmZmZddlZddlmZmZmZmZmZmZmZmZmZmZmZmZddlZej@Z!GddejDZ#Gd	d
ejDZ$e%dk(rejLyy)N)copy)captured_stdout
PythonSymlinkrequires_subprocessis_wasi)
import_module)TESTFNunlinkskip_unless_symlink
change_cwd)	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
ZdZdZej&eddZdZeedZdZdZej&ej:dk(ddZej>ej:dk(dedZ ej&eddZ!dZ"ej&e#jHddud d!Z%ej>ej:d"k(xre&ejNd#d$d%Z(ej>ej:dk(d&d'Z)xZ*S)(
TestSysConfigctt|tjdd|_t
tdr/tj|_tj|_	nd|_|jd|jt_tj|_tj|_
tj|_tj|_tjj |_tjj"|_tjj$|_t&j(t+t&j(f|_g|_g|_dD]^}|tj2vr/|j0j5|tj2|fD|j.j5|`y)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.12.0/bootstrap/lib/python3.12/test/test_sysconfig.pyr!zTestSysConfig.setUps8
mT(*
2wDJ((*DKDJOOG$??GG	
{{66GGLL	WW]]
'',,%22D9O9O4PP  "7	0Cbjj %%,,c2::c?-CD##**3/		0c|jtjdd|j|j|jt
_nt
`|jt
_|jt_|jt_|jt
_	|jt
j_
|jt
j_|jt
j_|jdt_tjj!tjj#|jd|j$D]\}}|t
j&|<|j(D]"}t
j&j+|d$t,t.|cy)Nr)r$r"r#_cleanup_testfnrr&r*r+r,r-r.r/r0r3r1r2clearupdater5r6r4popr rtearDown)r8r9valuer:s   r;rCzTestSysConfig.tearDown8s4mm::!zzBH))}}llyy


!__!%!2!21!5	$$&%%d&7&7&:;//	$JC#BJJsO	$&&	&CJJNN3%	&	mT+-r<c8tj||_yN)r&uname_resultr')r8rs  r;r(zTestSysConfig._set_unamePsooe,r<c|jSrF)r'r8s r;r)zTestSysConfig._get_unameSs{{r<ct}tjj|rtj|ytjj|rt
j|yyrF)r	r&r#isfileremoveisdirshutilrmtree)r8r#s  r;r?zTestSysConfig._cleanup_testfnVsC
77>>$IIdO
WW]]4
 MM$!r<cT|jttjyrF)assertEqualrr1_SCHEME_KEYSrIs r;test_get_path_namesz!TestSysConfig.test_get_path_names]s)9+A+ABr<ct}t}t|d}t|j	}t|j	}|j||yrF)r
rrsorteditemsrQ)r8schemedefault_schemewanteds    r;test_get_pathszTestSysConfig.test_get_paths`sM+-nd3''(r<c
`t}tjdk(r|ddiz}tD]}t|D]s}t||jdi|}|jtjjt||tjj|uy)Nnt
platlibdirlib)	rr&r*rformatrQr#normpathr)r8config_varsrWr*expecteds     r;
test_get_pathzTestSysConfig.test_get_pathhs%'
77d?&u(==K&	F(0
+F3D9@@O;O  GG$$XdF%;<GG$$X.
	r<c@|jttyrF)assertInrrrIs r;test_get_default_schemez%TestSysConfig.test_get_default_schemevs

(*,<=r<chd}dt_t}|j|t|jt
||dt_t}|j|t|jt
||dt_dt_dt_	|j|t|jt
||y)N>homeuserprefixr\posixdarwinT)
r&r*rassertIsInstancedictrQsetr"r+
_framework)r8expected_schemesschemess   r;test_get_preferred_schemesz(TestSysConfig.test_get_preferred_schemesys5(*gt,W'78(*gt,W'78gt,W'78r<cd}d}tjjddtjddzd}tjjtj
|}tjjtj
|}tjjtj
|}|j
|tjdd	|j
|tjd
d	tjdd	}|j|j|tjzy)Nbinincluder^zpython%d.%d
site-packagesscripts
posix_venvrWpurelib)r&r#r.r"version_inforkrQr1r
assertTrue
startswithr-)r8binpathincpathlibpathsysconfig_includedirs     r;test_posix_venv_schemez$TestSysConfig.test_posix_venv_schemes'',,u,s/?/?/CC.0
'',,szz73'',,szz73'',,szz73)"4"4Y|"TU)"4"4Y|"TU )11)LQ,77"&&8HIJr<cJd}d}tjjdd}tjjtj|}tjjtj|}tjjtj|}|j|t
jdd|j|t
jdd|j|t
jd	dy)
NScriptsIncludeLibryrznt_venvr|rwr})r&r#r.r"rkrQr1r)r8rrrs    r;test_nt_venv_schemez!TestSysConfig.test_nt_venv_schemes'',,uo6'',,szz73'',,szz73'',,szz73)"4"4Yy"QR)"4"4Yy"QR)"4"4Yy"QRr<ctjdk(r|jtjddtjdd|jtjddtjdd|jtjddtjddy|jtjddtjdd|jtjddtjdd|jtjddtjddy)	Nwin32rzvenvr|rrwr}r{)r"r+rQr1rrIs r;test_venv_schemezTestSysConfig.test_venv_schemes,<<7"""9V<""9Y?

""9V<""9Y?

""9V<""9Y?


""9V<""9\B

""9V<""9\B

""9V<""9\B
r<cft}|j|t|j|yrF)rrnror)r8cvarss  r;test_get_config_varsz"TestSysConfig.test_get_config_varss&!eT*r<c&dt_dt_dt_|jt
ddt_dt_dt_|jt
ddt_dt_dt_|jd	tjtd
td<dtd
<tj}	dt_|jt
ddt_|jt
d|t_|jdtjtd
td<dtd
<tj}	dt_|jt
ddt_|jt
d|t_tjtdtd<dtd
<|jt
dtjtdtd
<|jt
dtjtdtd
<|jt
dtjtdtd
<|jt
dtjtdtd
<|jt
dd D]L}tjtd!|ztd
<|jt
d"|zNdt_d#t_d$t_|jd%|jt
d&y#|t_wxYw#|t_wxYw)'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-amd64rlzU2.5 (r25:51918, Sep 19 2006, 08:49:13) 
[GCC 4.0.1 (Apple Computer, Inc. build 5341)]rm)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+rQrr(_osx_support_remove_original_valuesrmaxsize)r8maxintarchs   r;test_get_platformzTestSysConfig.test_get_platformsZ5155IE	F	,,_->?8>45(O(#	!$CK\^->?-CK\^-@A CKB	C	,,_->?8>45(O(#	!$CK\^-?@-CK\^-AB CK	,,_->?8>45(B(#
	
):;,,_->?(B(#
	
)<=,,_->?(B(#	
);<,,_->?(B(#	
)@A,,_->?(B(#
	
)<=6	FD001BC,FIM,MOh'

\^-=-DE	FO@	A	
6[!CK$!CKs1A
O3A
P3
P
P,Incompatible with WASI mapdir and OOT buildsctj}|jtjj||yrF)r1get_config_h_filenamerr&r#rK)r8config_hs  r;test_get_config_h_filenamez(TestSysConfig.test_get_config_h_filenameLs+224x0(;r<cgd}tr|jgd|jtt	t|y)N)r\
posix_homeposix_prefixr{rr)nt_userosx_framework_user
posix_user)
HAS_USER_BASEextendrQrtuplerU)r8rYs  r;test_get_scheme_namesz#TestSysConfig.test_get_scheme_namesQs4VMMIJ)+U6&>-BCr<ct5}d}|j|j||j|dddy#1swYyxYw)N)-c1import sysconfig; print(sysconfig.get_platform()))rrQ	call_real	call_link)r8pycmds   r;test_symlinkzTestSysConfig.test_symlinkWsO_	EKC\R\\3/s1CD	E	E	Es/AActd}trtd}tjtjk7}dD]}t|d}|r]|j
tjtj}|j
tjtj}n}tjtjk7r\|j
tjtj}|j
tjtj}tst|d}tjj|j
|d}|dk(rCtj}d|d	}	|j
d
tjd
|	d|	}|j||y)Nbaseuserbase)stdlib
platstdlibr}platlibrrr>rpythonz/site-packages/z/lib/)rrr"base_prefixbase_exec_prefixrreplaceexec_prefixrkr&r#rar1get_python_versionr]rQ)
r8rrjadaptr*global_path	user_pathrcpy_version_shortsuffixs
          r;test_user_similarzTestSysConfig.test_user_similar^saf%!*-D3#7#77B	6D"48K)11#//3??S||COOS__ECJJ.*11#//3::N||COOSZZ@$T<8	77++K,?,?dA,NO9$(1'C'C'E$%&6%7~FF'//!CNN3C1VH0M27x0@ BH  H5-	6r<ct5}tddd|jtj	jddkDy#1swYDxYw)N
r)rrrlengetvaluesplit)r8outputs  r;	test_mainzTestSysConfig.test_mainsL

	&G	FOO-33D9:Q>?		sAA"rzDoes not apply to Windowsc|tjd}tjd}|j||y)NLDFLAGSLDSHARED)r1rrf)r8ldflagsldshareds   r;test_ldshared_valuez!TestSysConfig.test_ldshared_values0**95++J7

gx(r<rmztest only relevant on MacOSXcltj}tjj	}d|vr|d=tjtjddgt
jt
j|}|jdj}|jd}|j}|j|d|j||tjj	}d|d<tjtjddgt
jt
j|}|jdj}|jd}|j}|j|d|j||y)Nrrr)stdoutstderrenvrzutf-8z10.1)r1rr&r6r
subprocessPopenr"
executablePIPEDEVNULLcommunicatestripdecodewaitrQ)r8my_platformrp
test_platformstatuss      r;test_platform_in_subprocessz)TestSysConfig.test_platform_in_subprocesssj ,,.jjoo%,./C??%%



*002
%,,W5
#m4jjoo*0&'C??%%



*002
%,,W5
#m4r<ctjd}|jtjj|||jtjj
||tjrtjj|dd}|jtjj||tjj|dd}|jtjj||tjj|d}|jtjj||ytjdk(rctjjtj}tjj|}|j||yy)NsrcdirrzPython.hPCz
pyconfig.hz
pyconfig.h.inrl)r1rrr&r#r/rM
_PYTHON_BUILDr.existsr*dirnameget_makefile_filenamerealpathrQ)r8rPython_h
pyconfig_h
pyconfig_h_inmakefile_dirs      r;test_srcdirzTestSysConfig.test_srcdirs6))(3

f-v6

f-v6""ww||FIzBHOOBGGNN84h?fdLAJOOBGGNN:6
CGGLLAMOOBGGNN=9=I
WW
77??9+J+J+LML77++L9L\62	 r<ctjd}ttj5tjd}ddd|j|y#1swYxYw)Nr)r1rrr&pardirrQ)r8rsrcdir2s   r;test_srcdir_independent_of_cwdz,TestSysConfig.test_srcdir_independent_of_cwdsU))(3
		
"	9..x8G	9)	9	9sA  A)
EXT_SUFFIXNz!EXT_SUFFIX required for this testcddl}|js|jdtj}|j|d|jdy)Nrzstub loader has no suffixesr)_impextension_suffixesskipTestr1rrQ)r8rvarss   r;test_EXT_SUFFIX_in_varsz%TestSysConfig.test_EXT_SUFFIX_in_varssQ	&&(MM78((*l+T-D-D-Fq-IJr<linux
_multiarchzmultiarch-specific testc|td}ddl}ddl}|j}t	j
d}|j
d|r|jd|v||j
d|rL|j|jdk(rd}nd	}|j|j|d
|yy)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+remachiner1rmatchrsizeofc_char_pendswith)r8rr+rrrexpected_suffixess       r;test_triplet_in_ext_suffixz(TestSysConfig.test_triplet_in_ext_suffixsx(""$)),7
88?IOOGv-v6
88('2}}V__./14$g!$Q!OOFOO,=>0
;
=3r<zOS X-specific testcptjd}|j|jd|y)Nrz
-darwin.so)r1rrr)r8rs  r;test_osx_ext_suffixz!TestSysConfig.test_osx_ext_suffixs))),75v>r<)+__name__
__module____qualname__r!rCr(r)r?rSrZrdrgrtrrrrrunittestskipIfrrrrrrrrr"r+r
skipUnlessrrrr1rrr%implementationrr
__classcell__)r:s@r;rrs08.0- C)>9,K,S 8
r7lX__WLM<N<DEE
 6D@X__S\\W,.IJ)K)X13QR(5S(5TX__WLM3N3.*X__-Y--l;tC8:K:KX0C !3!3\B24
=4
=X13GH?I?r<rceZdZejejjddejeddZ	dZ
y)
MakefileTestswinzTest is not Windows compatiblerctj}|jtjj||yrF)r1rrr&r#rK)r8makefiles  r;test_get_makefile_filenamez(MakefileTests.test_get_makefile_filenames-224x0(;r<c
|jttttd5}t	d|t	d|t	d|t	d|t	d|t	d|dddtjt}|j|d	d
ddd
ddy#1swY<xYw)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	openprintr1_parse_makefilerQ)r8r$rs   r;test_parse_makefilez!MakefileTests.test_parse_makefiles'
&#
	6(/1/1)(+"2"2&,4
6
	6((0J
 
		6	6sAB55B>N)rrrrrr"r+rrr%r6r_r<r;r!r!sOX__S\\,,U357X__WLM<N7<r<r!__main__)'rr"r&rrNrtest.supportrrrrtest.support.import_helperrtest.support.os_helperr	r
rrr1r
rrrrrrrrrrrr_HAS_USER_BASErTestCaserr!rmainr_r<r;<module>r>s
	
500DDDD((
]?H%%]?~H%%<zHMMOr<