python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_site.cpython-312.opt-2.pyc

ΑetoF	ddlZddlZddlmZddlmZddlmZddlmZddlmZm	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZddlmZej4j6rej8d	ddlZej<duZda d
Z!dZ"Gdd
ejFZ$Gdde%Z&GddejFZ'GddejFZ(GddejFZ)e*dk(rejVyy)N)support)	os_helper)
socket_helper)captured_stderr)TESTFNEnvironmentVarGuard)mock)copyzPython was invoked with -Sctjddatjrvt
jj
tjsH	tjtjtjtjyyy#t$r.}tjdtjd|d}~wwxYw)Nz&unable to create user site directory (z): )
syspathOLD_SYS_PATHsiteENABLE_USER_SITEosisdir	USER_SITEmakedirs
addsitedirPermissionErrorunittestSkipTest)excs B/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_site.pysetUpModuler+s88A;LRWW]]4>>%B	=KK'OODNN+&C	=##'+~~s%<=
=	=sAB	C$)C

Cc2ttjddyN)rrr
rtearDownModuler :sCHHQKrceZdZ	dZdZdZdZdZdZde	fdZ
d	Zd
ZdZ
dZd
ZdZej$eddZej$ej,dej0dZej$eddZej$eddZdZej$eddZdZy)HelperFunctionsTestsc	tjdd|_tj|_tj|_tj|_	tj|_ttj|_yr)rr
sys_pathr	USER_BASEold_baserold_sitePREFIXESold_prefixes	sysconfig_CONFIG_VARS
original_varsr
old_varsselfs rsetUpzHelperFunctionsTests.setUpBsV%


 MM&33Y334
rc	|jtjdd|jt_|jt_|jt_	|jt_tjHtjjtjj|jyyr)r$rr
r&rr%r'rr)r(r,r*r+clearupdater-r.s rtearDownzHelperFunctionsTests.tearDownKsmm))
!%!3!3	!!-""((*""))$--8.rcd}tjj|}tj|\}}|jtjj
|||tjj|k(r|j||y|jtjj||y)N)	BeginningEnd)rr
joinrmakepathassertEqualabspathnormcase)r/
path_partsoriginal_dirabs_dirnorm_dirs     r
test_makepathz"HelperFunctionsTests.test_makepathWs*
ww||Z0 MM:66@277++L99Wh/RWW--g6Arctj}tjDcgc];}|r7tjj|rtj|d=c}D]}|j|||d|ycc}w)Nz> from sys.path not found in set returned by _init_pathinfo(): )r_init_pathinforr
rexistsr9assertIn)r/dir_setr
entrys    rtest_init_pathinfoz'HelperFunctionsTests.test_init_pathinfodsx%%'9<:BGGNN4$8mmD)!,:	HEMM%7<gG
H	H:sABcf	|j|jtjd|jz|jt	j
|jdtj|jtjj|jy)Nz%s not in sys.modulesr)rFimportedrmodulesrr9
good_dir_pathr
assertFalserrEbad_dir_pathr/pth_files  rpth_file_testsz#HelperFunctionsTests.pth_file_testslsuL

h''-0A0AA	C

dmmH$:$:;A>I(=(=>?rc0t}|jd	|jtj|j
|jt|j||jy#|jwxYwNT)prep)	PthFilecleanupcreater
addpackagebase_dirfilenamesetrRrPs  rtest_addpackagez$HelperFunctionsTests.test_addpackagessp
9d#	OOOOH--x/@/@#%H)HsABB.c*tjj|}|dz}tjj||t	dd5}|jfd|j
|ddd||fS#1swY||fSxYw)N.pthwutf-8encodingc.tjSr)rremove)pth_fnsr<lambda>z/HelperFunctionsTests.make_pth.<locals>.<lambda>sBIIf$5r)rr
r;r8open
addCleanupwrite)r/contentspth_dirpth_namepth_basenamerQrgs      @rmake_pthzHelperFunctionsTests.make_pths''//'*&(g|4
&#
0	%HOO56NN8$	%$$	%$$s&BBc	J|jd\}}t5}tj||t	ddd|jj
d|j|j
tjtjj|||j|j
d|j|j
d|j|j
dy#1swYxYw)Nzimport bad-syntax
zline 1	Tracebackzimport bad-syntaxSyntaxErrorrprrrYr\assertRegexgetvaluereescaperr
r8r/rmrgerr_outs    r!test_addpackage_import_bad_syntaxz6HelperFunctionsTests.test_addpackage_import_bad_syntaxs--(=>

	4'OOGVSU3	4))+X6))+IIbggll7F34	6
	
))+[9))+-AB))+];	4	4s DD"c	
|jd\}}t5}tj||t	ddd|jj
d|j|j
tjtjj|||j|j
d|j|j
dy#1swYxYw)Nzrandompath
import nosuchmodule
zline 2rrModuleNotFoundErrorrtrys    rtest_addpackage_import_bad_execz4HelperFunctionsTests.test_addpackage_import_bad_execs--(KL

	4'OOGVSU3	4))+X6))+IIbggll7F34	6	
))+[9))+-BC	4	4s C99Dc|jd\}}tj||t}|j	|ty)Nz

  

)rprrYr\r:)r/rmrgknown_pathss    rtest_addpackage_empty_linesz0HelperFunctionsTests.test_addpackage_empty_liness:--5oogvsu=ce,rc	|jd\}}t5}|jtj||tdddd|_|jjdtjD]%}t|ts|jd|'y#1swYixYw)Nzabcdef
zabcdef)rprrNrrYr\maxDiffr:rvrr

isinstancestrassertNotIn)r/rmrgrzr
s     r#test_addpackage_import_bad_pth_filez8HelperFunctionsTests.test_addpackage_import_bad_pth_files--7

	F'T__WfceDE	F))+R0HH	5D$$  t4	5		F	Fs/B66B?ct}|jd	|jtj|j
t
|j||jy#|jwxYwrT)rVrWrXrrrZr\rRrPs  rtest_addsitedirz$HelperFunctionsTests.test_addsitedirsh9d#	OOOOH--su5)HsA	A88B
cp|jtjtjyr)r:r_getuserbaser*r.s rtest__getuserbasez&HelperFunctionsTests.test__getuserbases$**,i.D.D.FGrzneed user sitecFtjdk(rtjrd}ntjdz}|jtjjtjtjtjd|y)Ndarwinosx_framework_user_userpurelib)
rplatform
_frameworkrnamer:r
normpathr	_get_pathrr*get_path)r/schemes  r
test_get_pathz"HelperFunctionsTests.test_get_pathsi<<8#)FWWw&F))$..9J9J9L*MN"++Iv>	@rz<requires access to PEP 370 user-site (site.ENABLE_USER_SITE)c@tjjtj}|j|tjtjj}tjtjdd|zg|}|j|dtjj}tjtjddd|zg|}|tjdk(r|j|dn|j|ddtjj}d|d	<tjtjdd|zg|}|tjdk(r|j|dn|j|dd
tjj}d|d<tjtjdd
g|}|j|ddy)N-cz$import sys; sys.exit(%r in sys.path)envrCz-srz%User site still added to path with -s1PYTHONNOUSERSITEz3User site still added to path with PYTHONNOUSERSITEz/tmpPYTHONUSERBASEz=import sys, site; sys.exit(site.USER_BASE.startswith("/tmp"))z#User base not set by PYTHONUSERBASE)rr
rrrrFrenvironr

subprocesscall
executabler:getsitepackages)r/usersiterrcs    r
test_s_optionz"HelperFunctionsTests.test_s_options
77##DNN3

h)jjoo
__cnnd2X=?	
Qjjoo
__cnndD2X=?t++-a00R#R$KLjjoo"%
__cnnd2X=?t++-a00R#RM
Ojjoo &
__cnndKM	
Q=	?rcdt_tj}|jtj|dt_ddl}d|_t
5}d|d<|jtjjdtjdddy#1swYyxYw)Nrxoxor)	rr%getuserbaser:r*r+r
assertTrue
startswith)r/	user_baser*rs    rtest_getuserbasez%HelperFunctionsTests.test_getuserbases$$&		
3!%	
 
"	0g(.G$%OOD,,.99&A ,,.
0	0	0	0s
 AB44B=cZdt_dt_tj}|j	tj||j|j
tj||j	tjtjyr)rrr%getusersitepackagesr:rrr)r/	user_sites  rtest_getusersitepackagesz-HelperFunctionsTests.test_getusersitepackagessn,,.		
3	,,T^^<iH)9)9);<rcdgt_tj}tjdk(rt
jdk7ru|jt|dtjjdt
jdt
jddzd}|j|d|n|jt|dtjjdddt
jddzd}|j|d	|y|jt|d|j|ddtjjddd}|jtjj|dtjj|y)
Nr/libzpython%d.%dz
site-packagesrrC)
rr(rrsepr
platlibdirr:lenr
r8version_infor<)r/dirswanteds   rtest_getsitepackagesz)HelperFunctionsTests.test_getsitepackagessY
##%
66S=~~&  TA.fcnn&3c6F6Fr6J&J&57  a&1  TA.WW\\&%"/#2B2B2A2F"F"13F
T"Xv.
SY*T!Wf-WW\\&%AFRWW--d1g6WW--f5
7rcdt_dt_t5}t	j
dd5|d=|d=tj}|j|jdtjz|tj}|j|j||ddddddt	j
dd5}tj
jtd	5}tjtd
d5t}tj ||j#|j%|j'|dddddddddy#1swYxYw#1swYxYw#1swY2xYw#1swY6xYw#1swYyxYw)Nzos.path.expanduserc|Srr)r
s rrhz=HelperFunctionsTests.test_no_home_directory.<locals>.<lambda><s4rrAPPDATA~z
os.path.isdirF)return_valuerrT)rrr%rr	patchrrrrrrobjectr	swap_attrr\addusersitepackagesassert_called_once_withassert_not_calledrN)r/rrr
mock_isdirmock_addsitedirrs       rtest_no_home_directoryz+HelperFunctionsTests.test_no_home_directory3s

 
"	Hg
ZZ,.?
@	H()	"((*IOOI00rvv>%
'002IOOI00;YG	H	HZZe
<	*

ZZ

t\
2	*6E


t%7
>	*%K$$[1..y9--/[)	*	*	*	*	H	H	H	H	*	*	*	*	*	*s`FBF;F"%F>F2#AF&5F2=F>F	FF#&F/+F22F;	7F>>Gcd}d|dzfdfD]\}}tjdtj|5tjdtj5tj||jtjj|ddddddy#1swYxYw#1swYxYw)Nzbla-bla-blaT
)Frz	sys.flags)verbosez
sys.stderr)r	rMockioStringIOr_tracer:rstderrrv)r/messagerouts    r
test_tracezHelperFunctionsTests.test_traceUs!7T>2K?	=LGSK7)CD
=JJ|R[[];
=G$  !4!4!6<
=
=
=	=
=
=
=
=s$)C%AB<)C<CCC	N)__name__
__module____qualname__r0r4rArIrRr]rrpr{r~rrrrr
skipUnless
HAS_USER_SITErrrrrequires_subprocessrrrrrrrrrr"r">s35
9BH@
*-v%
<
D-	5HX(89@:@X..1>? W  "%?#?%?NX(890:0"X(89=:=72X(89*:*B=rr"c,eZdZ	edddfdZdZddZy)	rVtime__testdir____badc	|dz|_tjjd|_tjj|j|j|_||_||_||_	tjj|j|j|_
tjj|j|j|_y)Nr`r)r[rr
r;rZr8	file_pathrKgood_dirnamebad_dirnamerMrO)r/
filename_baserKrrs     r__init__zPthFile.__init__as+%.
+
dmmT]]C 
(&WW\\$--9J9JKGGLL8H8HIrc	t|jd}	td|td|td|jz|t|j|t|j
||j
tj|jy#|j
wxYw)Nraz#import @bad module namefilerz	import %s)
rirprintrKrrclosermkdirrM)r/FILEs  rrXzPthFile.createms		DNNC(	,48$T"+

-D9$##$/$"".JJL
##$
JJLsA"B++B=c	tjj|jrtj|j|rVt
jj|j|_	|jrOt
j|j=n3|jr'|jt
j|j<tjj|jrtj|jtjj|jr tj|jyyr)
rr
rErrfrrLgetrKimported_modulerMrmdirrO)r/rUs  rrWzPthFile.cleanups	%77>>$..)IIdnn%#&;;??4==#AD ##KK

.##-1-A-ADMM*
77>>$,,-HHT''(
77>>$++,HHT&&'-rN)F)rrrrrrXrWrrrrVrV^s9%+f!.G
J%,(rrVc0eZdZ	dZdZdZdZejddZ	dZ
dZd	Zd
Z
ejeej"ddej&j)d
ej&j*dZy)ImportSideEffectTestsc6	tjdd|_yr)rr
r$r.s rr0zImportSideEffectTests.setUps%
rc@	|jtjddyr)r$rr
r.s rr4zImportSideEffectTests.tearDownsmmrc	dtjd_tj|jtjdjy)Ntest)rrL
__cached__r	abs_pathsassertIsNoner.s rtest_abs_paths_cached_Nonez0ImportSideEffectTests.test_abs_paths_cached_NonesA	*.F&#++f-889rctjt}tjD]%}|j|||j
|'yr)rremoveduppathsr\rr
radd)r/
seen_pathsr
s   rtest_no_duplicate_pathsz-ImportSideEffectTests.test_no_duplicate_pathssF	
U
HH	!DT:.NN4 	!rztest not implementedcyrrr.s rtest_add_build_dirz(ImportSideEffectTests.test_add_build_dirs
	
rc|jttd|jttdy)Nquitexitrhasattrbuiltinsr.s rtest_setting_quitz'ImportSideEffectTests.test_setting_quits(&12&12rc|jttd|jttd|jttdy)N	copyrightcreditslicenser	r.s rtest_setting_copyrightz,ImportSideEffectTests.test_setting_copyrights;+67)45)45rcB|jttdy)Nhelpr	r.s rtest_setting_helpz'ImportSideEffectTests.test_setting_helps&12rctdtjvr	ddl}|jdyy#t$rYywxYw)N
sitecustomizerz(sitecustomize not imported automatically)rrLrfailImportError)r/rs  rtest_sitecustomize_executedz1ImportSideEffectTests.test_sitecustomize_executeds?#++-
F$		DE
.

s+	77HTTPSHandlerz$need SSL support to download licensenetworkcRtjjd}tjj|d}|j
tjj	tj|5tjj|5}|j}dddddd|jdd|zy#1swY)xYw#1swY-xYw#tjj$r}|j}Yd}~^d}~wwxYw)NrCHEAD)methodzCan't find )msg)r_Printer__dataspliturllibrequestRequestrj
urlcleanuprtransient_interneturlopengetcodeerror	HTTPErrorcoder:)r/urlreqdatar,es      rtest_license_exists_at_urlz0ImportSideEffectTests.test_license_exists_at_urls$$**,Q/nn$$S$8112	11#6
*^^++C0*D<<>D*
*
	
s
(;<	**
*
*||%%	66D	sH-C3 C'"C3C';C3C$	 C''C0,C33D&D!!D&N)rrrr0r4rrrskiprrrrrrr
r#r$rrrequires_resourcesystem_must_validate_certr1rrrrrs2$$	:!X]])*
+
3
63FX@?A	\\##I.	\\++
=,/A
=rrceZdZejdZejdZejdZejdZy)StartupImportTestsc	Xtjtjdddddgtjdd}|jd	}|j
|jd	t|tj|}|D]k}tjtjjtj|d
}|sL|j!dt#|d|mtjtjdddd
ddgtjtjdd}|j\}}|j
|jd	||ftj|}|j%d|hd}|j'|j)|||j+d|||j+d||hdj-tj.}	|j'|j)|	|y)N-Xutf8-Irz!import sys; print(repr(sys.path))rbsurrogateescape)stdoutrderrorsrz*.pthzfound z .pth files in: z-vz#import sys; print(set(sys.modules)))r<rrdr=r>
re._parserre._compiler
re._constantsrw_srelocalecopyreg>
heapqtypeskeywordreprlibweakrefoperator	functools	itertoolscollections_collections)rPopenrrPIPEcommunicater:
returncodereprastliteral_evalglobrr
r8rxskipTestrrFrNintersectionr
differencebuiltin_module_names)
r/popenr<isolated_pathsr
	pth_filesrrLre_modscollection_modss
          rtest_startup_importsz'StartupImportTests.test_startup_importss  #..$"&(K"M(2*1(9	;
""$Q'))1d6l;))&1
#	OD		"'',,t{{4/@'"JKI

s9~&66FtfMN	O  #..$d"&(M"O(2(2*1(9;**,))1vv.>?""6*

fg&P--g6?	
7F3	
GV4'Js'?'?@		
--o>Grctjtjddgj	}|j|dy)Nr9import sys; sys.exit(hasattr(sys, "__interactivehook__"))z''__interactivehook__' not added by siterrNrrwaitrr/rs  rtest_startup_interactivehookz/StartupImportTests.test_startup_interactivehooks=cnndGI
JJN$&	
DErctjtjdddgj	}|j|dy)Nr:rraz,'__interactivehook__' added in isolated mode)rrNrrrcrNrds  r%test_startup_interactivehook_isolatedz8StartupImportTests.test_startup_interactivehook_isolated#sC
cnndDGI
JJN$&	
JKrctjtjdddgj	}|j|dy)Nr:rzYimport site, sys; site.enablerlcompleter(); sys.exit(hasattr(sys, "__interactivehook__"))z6'__interactivehook__' not added by enablerlcompleter()rbrds  r.test_startup_interactivehook_isolated_explicitzAStartupImportTests.test_startup_interactivehook_isolated_explicit*sC
cnndDgi
jjnjnjp	
STrN)	rrrrrr_rfrhrjrrrr6r6s W  "0H#0Hd!W  "F#F
!W  "L#L!W  "U#Urr6ceZdZejdk(rd
dZnd
dZdZejdZ	ejdZ
ejdZejdZy	)
_pthFileTestswin32c
ddl}tj}|jtj
|tjj|tjjtjd}|jtj}tjj|tjj|d}tjtj|tj||t!j tjjtjj|ddD]V}tj|tjj|tjj|dX|r&tjj#|ddz}	n%tjj#|ddz}	t%|	dd5}
|D]}t'||
	ddd|S#1swY|SxYw)	NrrCzvcruntime*.dll._pthrar9rcr)_winapitempfilemkdtemprjrrmtreerr
r8r"rrGetModuleFileName	dllhandleshutilr
rUsplitextrir)r/linesexe_pthrptemp_direxe_filedll_src_filedll_filefn	_pth_fileflines            r_create_underpth_exez"_pthFileTests._create_underpth_exe4s'')HOOI,,h7ww||HbggmmCNN.KA.NOH"44S]]CLww||HbggmmL.I!.LMHKK1KKh/iiRWW]]<-H-KM] ^_
NBXrww}}R7H7K LM
NGG,,X6q9GC	GG,,X6q9GC	iv6
(!!(D$Q'(
(O
(Os'IIc|stjdtj}|j	t
j|tjj|tjjtjd}tjtj||dz}t|d5}|D]}t||	ddd|S#1swY|SxYw)Nz1library ._pth file not supported on this platformrCrorar)rrrqrrrjrrsrr
r8r"rrsymlinkrir)r/rxryrzr{rrrs        rrz"_pthFileTests._create_underpth_exeHs''([\\'')HOOI,,h7ww||HbggmmCNN.KA.NOHJJs~~x0 7*Ii%
(!(D$Q'(
(O
(OsC//C9cg}|D][}|r|ddk(rtjjtjj||}|j	|]|S)Nr#)rr
r;r8append)r/
sys_prefixrxr$rabs_paths      r"_calc_sys_path_for_underpth_nositez0_pthFileTests._calc_sys_path_for_underpth_nositeUsZ	&D47c>wwrww||J'EFHOOH%		&
rctjj}tjjtj}ddgtjdd}|j|}|jtjj||}tj|ddddgd	d
}|jjd}|j|d
|j||dy)Nz#.z# ..r^z..r8r9rCimport sys; print("\n".join(sys.path) if sys.flags.no_site else "")rbr;)rdr=rsys.flags.no_site was Falsesys.path is incorrect)rr
STDLIB_DIRrr
dirnamerrrrrcheck_outputrstripr"rr:)r/libpath
exe_prefix	pth_linesr{r$outputactual_sys_paths        rtest_underpth_basicz!_pthFileTests.test_underpth_basic^s,,))WW__S^^4
68CHH8c848	,,Y7::GGOOH%(((D&$R*
$57!--///5)FG#	
rctjj}tjjtj}dgtdDcgc]}|c}dd}|j|}|jtjj||}tjj}d|d<dj|tjtjd|d<t!j"|d	d
g|dd
}|j%j'd}	|j)|	d|j+|	|dycc}w)Nfake-path-namerr	# commentfrom-env
PYTHONPATHz{}{}{}PATHrrrbr;)rrdr=rrr)rrrrr
rrrrangerrrr
formatpathsepgetenvrrrr"rr:)
r/rr_rr{r$rrrs
          rtest_underpth_nosite_filez'_pthFileTests.test_underpth_nosite_filess8,,))WW__S^^4

$Sz
*!g
*



	
	,,Y7::GGOOH%jjoo&Looj"**bii>OPF(((DR*
W->@!--///5)FG#	
#+s	E#c
tjj}tjjtj}|jdgtdDcgc]}|c}ddd}tjj|}tjj}d|d<dj|tjd	|d	<tj|d
dtjj!|dd|dtjj!|dd
g|}|j#|dycc}w)Nrrrrimport siterr{};{}rr/import sys; sys.exit(not sys.flags.no_site and  in sys.path and L not in sys.path and all("\r" not in p and "\n" not in p for p in sys.path))rrrrrrr
rrrrrrr
rrrrr8rr/rrrr{rrrs        rtest_underpth_filez _pthFileTests.test_underpth_files ,,))WW__S^^4
,,.
$Sz
*!g
*.

.

	.


.
WW__X.
jjoo&LnnZ61BCF
__hZ)9:Z4
	
34#+s"	E
c
tjj}tjjtj}|jdgtdDcgc]}|c}dddd}tjj|}tjj}d|d	<d
j|tjd|d<tj|dd
tjj!|dd|dtjj!|ddg|}|j#|dycc}w)NrrrrrF)ryrrrrrrrrrrrrs        rtest_underpth_dll_filez$_pthFileTests.test_underpth_dll_files*,,))WW__S^^4
,,.
$Sz
*!g
*.

.

	.


.

-WW__X.
jjoo&LnnZ61BCF
__hZ)9:Z4
	
34#+s"	E
N)T)
rrrrrrrrrrrrrrrrrlrl1s
||w	(	!W  "
#
(!W  "
#
8!W  "5#50!W  "5#5rrl__main__),rtest.supportrrrrrtest.support.os_helperrrrSrrUrrrwrvrrr*rqurllib.errorr#urllib.requestr	r
flagsno_siterrrrrrr TestCaser"rrVrr6rlrmainrrr<module>rs"&(>
			


99
(

8
99t+
=]=8,,]=@	5(f5(nP=H--P=fGU**GURO5H%%O5dzHMMOr