python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_genericpath.cpython-312.opt-1.pyc

Αe+Y"dZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZddlm
Z
ddZGd	d
ZGddeej ZGd
deZGddej Zedk(rej*yy)z3
Tests common to genericpath, ntpath and posixpath
N)
is_emscripten)	os_helper)warnings_helper)assert_python_ok)FakePathcjt|dd5}|j|dddy#1swYyxYw)Nxbr)openwrite)filenamedatafps   I/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_genericpath.pycreate_filers0	
ha	 B
s)2ceZdZgdZgZdZdZdZdZdZ	e
jee
dde
jed	d
ZdZdZd
ZdZej,dZe
jee
dddZdZdZej,dZe
jee
dddZdZy)GenericTest)commonprefixgetsizegetatimegetctimegetmtimeexistsisdirisfilec"|j|jzD]g}|jt5t	|j
||j
dj|j
j|y#1swYtxYw)Nz!{}.{}() did not raise a TypeError)	common_attributes
attributesassertRaises	TypeErrorgetattr
pathmodulefailformat__name__)selfattrs  rtest_no_argumentzGenericTest.test_no_arguments**T__<	ID""9-
I..0ii C!'(@(@$!GII	I
I
IsABB	c	|jj}|j|gd|j|ddgd|j|ddgd|j|ddgd|j|ddgd	|j|d
dgd|j|d
d
gd
|j|d
dgd|j|ddgd|j|ddgd|j|ddgd|j|ddgd|j|ddgdgd}|D]}|D]{}|||g}|j|j	||j|j	|||k7sSt|}|j
|||dz|||dz}y)Nz/home/swenson/spamz/home/swen/spamz
/home/swenz/home/swen/eggsz/home/swen/zhome:swenson:spamzhome:swen:spamz	home:swenz:home:swen:spamz:home:swen:eggsz:home:swen:s/home/swenson/spams/home/swen/spams
/home/swens/home/swen/eggss/home/swen/shome:swenson:spamshome:swen:spams	home:swens:home:swen:spams:home:swen:eggss:home:swen:)r)abcXbcdXbXYabcdaXcabdabaXabcX)r!rassertEqual
assertTrue
startswithlenassertNotEqual)r%rtestlists1s2pns       rtest_commonprefixzGenericTest.test_commonprefix"sS33	
	
.0ABC	
	
+->?@	
	
+->?@	
	
-/?@A	
	
+->?@	
	
+->?@	

	
/1CDE	
	
,.@AB	
	
,.@AB	
	
.0ABC	
	
,.@AB	
	
,.@AB	

6	>B
> "b*

a 01

a 018AA''1QqS	2a!9=

>	>cjtj}|jtj|t	|d|j|jj|dtj|t	|d|j|jj|dy)NsHellosHello World!)
rTESTFN
addCleanupunlinkrr5r!rosremove)r%rs  rtest_getsizezGenericTest.test_getsizees##	(((3Hh'00:A>
		(Ho.00:B?r@ctj}|jtj|t	|dt|dd5}|j
ddddt|dd5}|j}ddd|jd|j|jj||jj|y#1swYxYw#1swYlxYw)Nfoor1rbarrbsfoobar)
rrDrErFrr
rreadr5assertLessEqualr!rr)r%rfr
s    r
test_filetimezGenericTest.test_filetimeps##	(((3Hf%
(D!
$	
GGFO	(D!
$	668D	y)OO$$X.OO$$X.	
				s
C!1C-!C*-C6ctj}tj|}|j	tj
||j
|jj|d|j
|jj|dt||j
|jj|d|j
|jj|d|j
|jj|dzd|j
|jj|dzd|j
|jj|dzd|j
|jj|dzd|jtur|j
|jj|d|j
|jj|d|j
|jj|dzd|j
|jj|dzd|j
|jj|dzd|j
|jj|dzdyy)NFT)rrDrGfsencoderErFassertIsr!rrgenericpathlexistsr%r	bfilenames   rtest_existszGenericTest.test_existss##KK)		(((3

doo,,X6>

doo,,Y7?H

doo,,X6=

doo,,Y7>

doo,,X-@A5I

doo,,Y-@A5I

doo,,X->?G

doo,,Y-@A5I??+-MM$//11(;TBMM$//11)<dCMM$//11(X2EFNMM$//11)g2EFNMM$//11(V2CDeLMM$//11)g2EFN.r@pipezrequires os.pipe()z Emscripten pipe fds have no statctj\}}	|j|jj	|tj
|tj
||j
|jj	|y#tj
|tj
|wxYwN)rGr^r6r!rcloseassertFalse)r%rws   rtest_exists_fdzGenericTest.test_exists_fdswwy1	OODOO22156HHQKHHQK//23
HHQKHHQKs*B,Cctj}tj|}|j	|j
j
|d|j	|j
j
|d|j	|j
j
|dzd|j	|j
j
|dzd|j	|j
j
|dzd|j	|j
j
|dzd	t||j	|j
j
|d|j	|j
j
|dtj|	tj||j	|j
j
|d|j	|j
j
|dtj|y#tj|wxYw#tj|wxYwNFrSrTrUrVT)rrDrGrWrXr!rrrFmkdirrmdirr[s   r
test_isdirzGenericTest.test_isdirs##KK)	

doo++H5u=

doo++I6>

doo++Hx,?@%H

doo++I,?@%H

doo++Hv,=>F

doo++I,?@%H	'!MM$////95AMM$////	:EBX&	&HHXMM$////94@MM$////	:DAOOH%
X&
OOH%5A!H-,A+I-IIctj}tj|}|j	|j
j
|d|j	|j
j
|d|j	|j
j
|dzd|j	|j
j
|dzd|j	|j
j
|dzd|j	|j
j
|dzd	t||j	|j
j
|d|j	|j
j
|dtj|	tj||j	|j
j
|d|j	|j
j
|dtj|y#tj|wxYw#tj|wxYwrg)rrDrGrWrXr!rrrFrhrir[s   rtest_isfilezGenericTest.test_isfiles##KK)	

doo,,X6>

doo,,Y7?

doo,,X-@A5I

doo,,Y-@A5I

doo,,X->?G

doo,,Y-@A5I	'!MM$//00:DAMM$//00;TBX&	&HHXMM$//00:EBMM$//00;UCOOH%
X&
OOH%rkctj}tjdz}|jtj||jtj|t	||j|jj||t	||j|jj|||jt|jjyN2)rrDrErFrr6r!samefilerbrr)r%file1file2s   r
test_samefilezGenericTest.test_samefiles    3&	((%0	((%0E00>?E11%?@)T__%=%=>r@ctj}tjdz}|jtj||jtj|t	|||||j|jj||tj|t	||j|jj||yro)rrDrErFrr6r!rqrGrHrbr%functest_fn1test_fn2s    r_test_samefile_on_link_funcz'GenericTest._test_samefile_on_link_funcs####c)	(((3	(((3HXx 008DE
		(H11(HEFr@cB|jtjyr`)rzrGsymlinkr%s rtest_samefile_on_symlinkz$GenericTest.test_samefile_on_symlink((4r@linkzrequires os.linkc	|jtjy#t$r}|j	d|zYd}~yd}~wwxYwNz
os.link(): %s)rzrGrPermissionErrorskipTestr%es  rtest_samefile_on_linkz!GenericTest.test_samefile_on_link=	/,,RWW5	/MM/A-..	/"	A	AA	cptj}tjdz}|jtj||jtj|t	|tj|}|j|jj|tj|t	|tj|}|j|jj|||jt|jjyro)
rrDrErFrrGstatr6r!samestatrbrr)r%rxrystat1stat2s     r
test_samestatzGenericTest.test_samestats####c)	(((3	(((3H!008IJKH!11%?@)T__%=%=>r@c|tjdz}tjdz}|jtj||jtj|t	|||||j|jjtj|tj|tj|t	||j|jjtj|tj|y)N1rp)rrDrErFrr6r!rrGrrHrbrvs    r_test_samestat_on_link_funcz'GenericTest._test_samestat_on_link_funcs##c)##c)	(((3	(((3HXx 001B131BD	E
		(H11"''(2C24''(2CE	Fr@cB|jtjyr`)rrGr|r}s rtest_samestat_on_symlinkz$GenericTest.test_samestat_on_symlink"rr@c	|jtjy#t$r}|j	d|zYd}~yd}~wwxYwr)rrGrrrrs  rtest_samestat_on_linkz!GenericTest.test_samestat_on_link&rrctj}|jtj|t	|t|dd5}|j
}t|dd5}|j
}|j|jj||ddddddy#1swYxYw#1swYyxYw)NrMr)
rrDrErFrr
filenor6r!sameopenfile)r%rfp1fd1fp2fd2s      rtest_sameopenfilezGenericTest.test_sameopenfile-s##	(((3H
(D!
$	H**,Cha(
HCjjl < <S# FG
H	H	H
H
H	H	Hs$	C'<B4#C4B=	9CC	N)r$
__module____qualname__rrr'r?rIrQr]unittest
skipUnlesshasattrrGskipIfrrerjrmrtrzrskip_unless_symlinkr~rrrrrrr@rrrs#BJIA>F	@
$O6XV,.BCX__]$FG4HD4&2&2?
G""5#5XV,.@A/B/? F ""5#5XV,.@A/B/	Hr@rceZdZeZdZy)TestGenericTestctjD]}|dk(r
t|j|}|j	|5|dvr!|d|d|d|dn|jttf5|dddd|jttf5|dddd|jtd5|dddd|jtd5|dddddddy#1swYxYw#1swYoxYw#1swYTxYw#1swY9xYw#1swYDxYw)	Nr)r&)rrru/tmpabcdss
/tmpabcdsz
/tmpabcdss
/tmpabcdsz
embedded null)rrr r!subTestrOSErrorUnicodeEncodeErrorUnicodeDecodeErrorassertRaisesRegex
ValueError)r%r&rws   rtest_invalid_pathsz"TestGenericTest.test_invalid_paths?sE11	/D~%4??D1D4(
/88*+)*))***G5G+HI0./0**G5G+HI/-.///
OL._-.//
OL/-./
/
/	/00//..//
/
/smAE	D
#E0	D'9E	D3 E>	D?ED$ E'D0,E3D<8E?EEE	N)r$rrrYr!rrr@rrr9sJ/r@rceZdZejgdzZdZdZdZeje
jddZdZ
dZd	Zd
ZdZdZd
ZdZdZy)
CommonTest)curdirpardirextsepseppathsepdefpathaltsepdevnullnormcase
splitdrive
expandvarsnormpathabspathjoinsplitsplitextisabsbasenamedirnamerZislinkismount
expanduserrrealpathc>|jj}dD]"}||}|j|||$|j|dd|j|ddddddgtdddhfD]}|j	t
||y)N)z	FoO/./BaRs	FoO/./BaRr)r@Trg@o)r!rr5	bytearrayrr)r%rr=paths    r
test_normcasezCommonTest.test_normcasecs??++,	-AAQ,	-	
"r*#,4CYs^c#YG	9Di48	9r@cP|jj}|j|dd|j|dd|j|dd|j|dd|j|d	d
|j|ddy)
N/foo/bar)r)rfoo:bar)r)r:foo:bar)r)r/foo/bar)r@rfoo:bar)r@r:foo:bar)r@r)r!rr5)r%rs  rtest_splitdrivezCommonTest.test_splitdriveqs__//
J/1ABI.@J/1ABK02DEJ/1BCK02DEr@c|jj}tj5}|j	d|d<d|d<d|d<|j|dd|j|dd|j|d	d
|j|dd|j|dd|j|d
d
|j|dd|j|dd|j|dd|j|dd
|j|dd|j|dd|j|dd|j|dd|j|dd|j|dd|j|dd|j|dd|j|dd|j|d d!|j|d"d|j|d#d#dddy#1swYyxYw)$Nbarfoobaz1z{foobaz2z{foo}z$foo barzbar barz	${foo}barbarbarz	$[foo]barz$bar barz$?barz$foo}barzbar}barz${fooz${{foo}}zbaz1}z$foo$fooz$bar$barrKs$foo barsbar bars	${foo}barsbarbars	$[foo]bars$bar bars$?bars$foo}barsbar}bars${foos${{foo}}sbaz1}s$foo$foos$bar$bar)r!rrEnvironmentVarGuardclearr5)r%renvs   rtest_expandvarszCommonTest.test_expandvars|s*__//


*
*
,	CIIKCJ CK!CLZ.6Z
3Y?Z4h?Z4kBZ
3Z@Z0':Z
3Y?Z0':Z
3W=Z
3X>Z
3Z@Z/8Z4jAZ5yAZ5|DZ4kBZ18<Z4jAZ18<Z4h?Z4i@Z4kB7	C	C	CsH0I$$I-zneed os_helper.FS_NONASCIIcnjjfd}tj5}|j	tj
}||d<d|z||<||||dd|z|dd|z|d|zd	|z|d
|zd
|z|dd|z|t
j|t
j||d
t
jd|z|dt
jd|z|t
jd|zt
jd	|z|t
jd
|zt
jd
|z|dt
jd|zdddy#1swYyxYw)Nc6j||yr`)r5)valueexpectedrr%s  rcheckz2CommonTest.test_expandvars_nonascii.<locals>.checksZ.9r@spamhamz	$spam barz%s barz
${spam}barz%sbarz${%s}barzham%sbarz
$bar%s barz	$spam}barz%s}bars	$spam bars
${spam}bars	$spam}bar)r!rrrrFS_NONASCIIrGrW)r%rrnonasciirs`   @rtest_expandvars_nonasciiz#CommonTest.test_expandvars_nonasciis~__//
	:

*
*
,	BIIK ,,H"CK!H,CM(H%+x(23,( 23*x'h)>?,)<(+BC+x(23"++h'X)>?,Hx,? @A-Wx-?!@A"++j834++j834
6"++lX56++lX56
8,Hx,? @A'	B	B	BsE/F++F4cb|jd|jjdtj5tj
dt|jd|jjddddtjdk(rdnd}tj5tj
dtdd|ddfD]1}|j|jj|t3	dddy#1swYxYw#1swYyxYw)	NrignorerKwin32r@sfs/foosC:\)assertInr!rwarningscatch_warningssimplefilterDeprecationWarningsysplatformassertIsInstancebytes)r%undecodable_pathrs   rtest_abspathzCommonTest.test_abspaths

eT__44U;<

$
$
&	C!!(,>?MM&$//"9"9&"AB	C
#&,,'"93|
$
$
&	L!!(,>?f&6I
L%%doo&=&=d&CUK
L	L	L	C	C	L	LsAD9AD%D"%D.c6|jd|jjdtj5tj
dt|jd|jjddddy#1swYyxYw)NrrrK)rr!rrrrrr}s r
test_realpathzCommonTest.test_realpathsr

eT__55e<=

$
$
&	D!!(,>?MM&$//":":6"BC	D	D	Ds
ABBcpdD]1}|j|jj|t3y)N)r)./\z///foo/.//bar//)rr!rstrr%rs  rtest_normpath_issue5827z"CommonTest.test_normpath_issue5827s2;	GD!!$//":":4"@#F	Gr@chdD]-}|j|jj||/y)N)rUzfoobarzzfoozfoo)r5r!rrs  rtest_normpath_issue106242z$CommonTest.test_normpath_issue106242s2L	CDT__55d;TB	Cr@cl|jj}dD]}|j||t d}	t	j
|t
j|5dD]}|j||t 	dddy#1swYyxYw#ttf$rYywxYw)N)r)fuuufùùz/fuuzU:\uçwð)
r!rrrrGrWrtemp_cwdAttributeErrorr)r%rrunicwds    rtest_abspath_issue3426z!CommonTest.test_abspath_issue3426s//))<	6D!!'$-5	6	>KK
##F+
>D>D))'$-=>
>
>
>	 23		sB!'$BB!B32B3ctjr#tjdvrtj}n2tjrtj}n|jdt
j5t
jdttj5|jddddddy#1swYxYw#1swYyxYw)N)rdarwin
emscriptenwasizneed os_helper.TESTFN_NONASCIIr)rTESTFN_UNDECODABLErrTESTFN_NONASCIIrrrrrrr)r%names  rtest_nonascii_abspathz CommonTest.test_nonascii_abspaths((

LL II//D

&
&,,DMM:;

$
$
&	$!!(,>?##D)
$!!#
$	$	$
$
$	$	$s$:0C*C;CC	CC!cttjdtfd5d}|jt|5|j
j
ddddd|jt|5|j
j
ddddd|jtd5|j
j
ddddd|jtd5|j
j
ddddd|jtd5|j
j
dddd|jtd	5|j
j
gddd|jtd
5|j
j
tdtdddddddy#1swYxYw#1swYWxYw#1swY)xYw#1swYxYw#1swYxYw#1swYxYw#1swY]xYw#1swYyxYw)
Nr)Tquiet.Can't mix strings and bytes in path componentsbytesrint*listrrKrL)rcheck_warningsBytesWarningrrr!rrr%errmsgs  rtest_join_errorszCommonTest.test_join_errorss

+
+R,>d
K	KEF''	6:
6$$Xu5
6''	6:
6$$UH5
6''	59
0$$R/
0''	59
0$$UB/
0''	59
)$$R(
)''	6:
)$$R(
)''	;?
K$$Yv%6	&8IJ
K	K	K
6
6
6
6
0
0
0
0
)
)
)
)
K
K	K	KsH.GH.2G$H.-G1
H.(G>H.#H
?H.H9H./H"H.G!	H.$G.	)H.1G;	6H.>H	H.
H	H.H	H."H+	'H..H7cdtjdttffd5d}|j	t
|5|jjddddd|j	t
|5|jjddddd|j	t
d5|jjddddd|j	t
d5|jjddddd|j	t
d	5|jjtd
tdddddddy#1swYxYw#1swYxYw#1swYxYw#1swYxYw#1swYCxYw#1swYyxYw)Nr)TrrrrrrrrKrL)	rrrrrrr!relpathrrs  rtest_relpath_errorszCommonTest.test_relpath_errorssp

+
+l$678F	NEF''	6:
9''%8
9''	6:
9''x8
9''	59
3''E2
3''	59
3''r2
3''	;?
N''	&(99V;LM
N	N	N
9
9
9
9
3
3
3
3
N
N	N	NsF&E)F&8E6F&3FF&.FF&)/FF&)E3	.F&6E?	;F&F	F&F	F&F#	F&&F/cLtddd|jjzy)Nz-Sz-czimport )rr!r$r}s rtest_importzCommonTest.test_importstY1I1I%IJr@N)r$rrrrrrrrrrrrrrrrr	rrr!r#rr@rrrXs#5599	FC>X..0LMBNB2
LDG
C>$$$K(N Kr@rcHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)
PathLikeTestsctj|_ttj|_|jtj|jt|jdy)Nstest_genericpath.PathLikeTests)rrD	file_namer	file_pathrErFrr}s rsetUpzPathLikeTests.setUp!sH"))!)"2"23	(($..9DNN$EFr@ch|j||j||jyr`)r5r(r')r%rws  rassertPathEqualzPathLikeTests.assertPathEqual's$dnn-tDNN/CDr@cV|jtjjyr`)r+rGrrr}s rtest_path_existszPathLikeTests.test_path_exists*RWW^^,r@cV|jtjjyr`)r+rGrrr}s rtest_path_isfilezPathLikeTests.test_path_isfile-r.r@cV|jtjjyr`)r+rGrrr}s rtest_path_isdirzPathLikeTests.test_path_isdir0sRWW]]+r@c|jtjj|j|j
g|j
yr`)r5rGrrr(r'r}s rtest_path_commonprefixz$PathLikeTests.test_path_commonprefix3s5--t~~t~~.NO	)r@cV|jtjjyr`)r+rGrrr}s rtest_path_getsizezPathLikeTests.test_path_getsize7sRWW__-r@cV|jtjjyr`)r+rGrrr}s rtest_path_getmtimez PathLikeTests.test_path_getmtime:RWW--.r@cV|jtjjyr`)r+rGrrr}s rtest_path_getctimez PathLikeTests.test_path_getctime=r9r@c|jtjj|j|j
yr`)r6rGrrqr(r'r}s rtest_path_samefilez PathLikeTests.test_path_samefile@s'((HIr@N)
r$rrr)r+r-r0r2r4r6r8r;r=rr@rr%r%s7GE--,).//Jr@r%__main__)rK)__doc__rYrGrrrtest.supportrrrtest.support.script_helperrtest.support.os_helperrrrTestCaserrr%r$mainrr@r<module>rEs	
&"(7+
`H`HF	/k8#4#4/>DKDKN"JH%%"JJzHMMOr@