python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_posixpath.cpython-311.opt-2.pyc

e9xddlZddlZddlZddlZddlmZmZmZmZddlm	Z	ddl
mZddl
mZddl
mZddlmZ	ddlZn
#e$rdZYnwxYweejZdZd	ZGd
dejZGdd
e	jejZGddejZedkrejdSdS)N)realpathabspathdirnamebasename)test_genericpath)
import_helper)	os_helper)FakePath)mockcd	dtv}d}|tj||g|S)N\z'ABSTFN is not a posix path - tests fail)ABSTFNunittestskip)testfound_backslashmsgs   G/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_posixpath.py!skip_if_ABSTFN_contains_backslashrs<
fnO
3C$(-$$T**+O<<cR	tj|dS#t$rYdSwxYwN)osrmdirOSError)rs r
safe_rmdirr!s?





s
&&cdeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZejd
ZejeduddZejeduddZdZdZejejdkddZgdZdZedZedZ ejedZ!ejedZ"ejedZ#ejedZ$ejedZ%ejed Z&ejed!Z'ejed"Z(ejed#Z)ejed$Z*d%Z+d&Z,d'Z-dS)(
PosixPathTestc.|dSr)tearDownselfs rsetUpzPosixPathTest.setUp)s

rcdD]?}tjtj|zttj|z@dS)N)12)r	unlinkTESTFNr)r"suffixs  rr zPosixPathTest.tearDown,sM$	2	2FY-6777y'&01111	2	2rc|tjddddd|tjdddd|tjddd	d
|tjddd
dd|tjdddd|tjdddddS)N/foobar/barbaz/bar/bazz/foo/bar/bazz/foo/zbar/zbaz/z
/foo/bar/baz//foobars/barsbazs/bar/bazs/foo/bar/bazs/foo/sbar/sbaz/s
/foo/bar/baz/)assertEqual	posixpathjoinr!s r	test_joinzPosixPathTest.test_join1s
vuEE#	%	%	%u==~NNN@@(	*	*	*	
&II$	&	&	&@@(	*	*	*'7CC)	+	+	+	+	+rc&|tjdd|tjdd|tjdd|tjdd|tjd	d
|tjdd|tjd
d|tjdd|tjdd|tjdddS)N/foo/bar)r,r-/)r9r%foo)r%r:////foo)////r:
//foo//bar)//foor-/foo/bar)r1r2/)r@rfoo)rrA////foo)////rA
//foo//bar)//foor2)r3r4splitr!s r
test_splitzPosixPathTest.test_split?sL44oFFF--y999//===33_EEE668HIII557HIII..<<<00-@@@446GHHH779KLLLLLrc|tj|||f|tjd|zd|z|f|tjd|zd|z|f|tjd|zd|z|f|tjd|zd|z|f|tj|dz||zdzdft|d}t|d}t|d}|tj|||f|tjd|zd|z|f|tjd|zd|z|f|tjd	|zd	|z|f|tjd
|zd
|z|f|tj|dz||zdzdfdS)Nr9zabc/zabc.def/z	/abc.def/r%ASCIIr@sabc/sabc.def/s	/abc.def/r)r3r4splitextbytes)r"pathfilenameexts    rsplitextTestzPosixPathTest.splitextTestLs+D11Hc?CCC+C$J77#.#9NOOO+FTM:: 8+S1	3	3	3+J,=>>$x/5	7	7	7+K$,>??%0#6	8	8	8+D3J77"S.3.3	5	5	5T7##7++C!!+D11Hc?CCC+D4K88/3/	1	1	1+GdN;;!H,c2	4	4	4+K$,>??%0#6	8	8	8+L4,?@@&137	9	9	9+D4K88"S.4/5	7	7	7	7	7rc.|ddd|ddd|ddd|dd	d
|ddd|d
d
d|ddd|ddd|ddd|ddd|ddd|ddddS)Nzfoo.barr:z.barzfoo.boo.barzfoo.boozfoo.boo.biff.barzfoo.boo.biffz.csh.rcz.cshz.rcnodotsr%z.cshrcz...manydotsz...manydots.extz.ext...z........)rOr!s r
test_splitextzPosixPathTest.test_splitexths*)UF333-F;;;,nfEEE)VU333(Hb111(Hb111-;;;+]FCCC#sB'''$b)))*j"555"b"%%%%%rc&|tjdd|tjdd|tjdd|tjdd|tjdd|tjdd|tjd	d|tjd
d|tjdd|tjdddS)
Nr%Fr9Tr,r8zfoo/barrr@r1r?sfoo/bar)assertIsr4isabsr!s r
test_isabszPosixPathTest.test_isabsvs4

iob))5111

ioc**D111

iof--t444

ioj114888

ioi00%888

ioc**E222

iod++T222

iog..555

iok22D999

ioj11599999rc&|tjdd|tjdd|tjdd|tjdd|tjdd|tjdd	|tjd
d|tjdd|tjd
d|tjdd	dS)Nr8r-r9r%r:r;r=r?r2r@rrArBrD)r3r4rr!s r
test_basenamezPosixPathTest.test_basenamesR+J77???+C00"555+E22E:::+I66>>>+L995AAA+K88&AAA+D113777+F33V<<<+J77@@@+M::FCCCCCrc&|tjdd|tjdd|tjdd|tjdd|tjdd	|tjd
d|tjdd|tjd
d|tjdd|tjdddS)Nr8r,r9r:r%r;r<r=r>r?r1r@rArrBrCrDrE)r3r4rr!s rtest_dirnamezPosixPathTest.test_dirnamesR*:66???*3//555*5112666*955v>>>*<88'BBB*;77AAA*400$777*622C888*:66@@@*=998DDDDDrc8|tjtjdzd|tjtjdzdt
tjdzd5}|ddddn#1swxYwY|tjtjdzdtjr$tj
tjdztjdz|tjtjdzdtjtjdz|tjtjdzd|tjtjdzd|tjtjdzd|tjtjdzd|tjtj
tjdzd|tjtjd	zd|tjtj
tjd
zddS)Nr&Fr'wbrATu)rVr4islinkr	r)lexistsopenwritecan_symlinkrsymlinkremoveexistsfsencode)r"fs  rtest_islinkzPosixPathTest.test_islinks

i&y'7#'=>>FFF

i'	(83(>??GGG
)"S($
/
/	1
GGFOOO															

i&y'7#'=>>FFF ""	KJy'#-y/?#/EFFFMM)*9+;c+ABBDIIIIi&,---MM)*9+;c+ABBDIIIMM)*9+;c+ABBEJJJMM)+I,<s,BCCTJJJ

i&y'7('BCCUKKK

i&r{93C'D'Dw'NOOQVWWW

i&y'7&'@AA5III

i&r{93C'D'Dw'NOOQVWWWWWsB**B.1B.cz|tjdd|tjdd|tjtdd|tjtdddS)Nr9Tr@)rVr4ismountr
r!s rtest_ismountzPosixPathTest.test_ismounts

i',,d333

i'--t444

i'

66===

i'77>>>>>rc|tjtd	t	jt|tjtdt
tn#t
twxYw|tjdd|tjdd|tjdd|tjdddS)NFu/s/z/s/)rVr4rnrrmkdirrr!s rtest_ismount_non_existentz'PosixPathTest.test_ismount_non_existents

i'//777	HVMM)+F33U;;;vJv

i'	22E:::

i'115999

i'00%888

i'11599999sAB

B c	tjdt|t	jtdtjtdS#tjtwxYw)Nr9F)rrgrrVr4rnr(r!s rtest_ismount_symlinksz#PosixPathTest.test_ismount_symlinkssd	JsF###MM)+F33U;;;IfBIfsAA$$A?NzTest requires posix modulectj}d}	|t_|tjt
d|t_dS#|t_wxYw)Ncdd}d}|tkrd}d}tjd||dddddddf
S)Nr)rposixstat_resultrLst_inost_devs   r
fake_lstatz?PosixPathTest.test_ismount_different_device.<locals>.fake_lstatsEFFv~~$aAq!Q1%MNNNrTrlstatrVr4rnrr"
save_lstatr}s   rtest_ismount_different_devicez+PosixPathTest.test_ismount_different_devicesfX
	O	O	O	"!BHMM)+F33T:::!BHHHzBH!!!!9AA&ctj}d}	|t_|tjt
d|t_dS#|t_wxYw)Ncd}d}|tr|tkrtd|tkrd}d}tjd||dddddddf
S)Nrz!Fake [Errno 13] Permission deniedrw)
startswithrrrxryrzs   rr}zEPosixPathTest.test_ismount_directory_not_readable.<locals>.fake_lstatssFFv&&
C46>>ABBBv~~$aAq!Q1%MNNNrTr~rs   r#test_ismount_directory_not_readablez1PosixPathTest.test_ismount_directory_not_readablesfX

	O
	O
	O	"!BHMM)+F33T:::!BHHHzBH!!!!rc|tjdd|tjdddS)Nr:rA)r3r4
expanduserr!s rtest_expanduserzPosixPathTest.test_expandusersJ-e44e<<<-f55v>>>>>rcttj5}d|d<|tjddd|d<|tjdddD]}||5||d<|tjdd|tjdd|tjd	d
dddn#1swxYwY	ddddS#1swxYwYdS)Nz/home/victorHOME~z
/home/victor/)r9r%/////)homer9~/z~/foor,)r	EnvironmentVarGuardr3r4rsubTest)r"envrs   rtest_expanduser_home_envvarz)PosixPathTest.test_expanduser_home_envvars

*
,
,
	L(CKY1#66GGG*CKY1#66GGG,
L
L\\t\,,LL"&CK$$Y%9#%>%>DDD$$Y%9$%?%?EEE$$Y%9'%B%BFKKK	LLLLLLLLLLLLLLL
L
	L
	L
	L
	L
	L
	L
	L
	L
	L
	L
	L
	L
	L
	L
	L
	L
	L
	Ls7A5D-	A>DD-DD-DD--D14D1vxworkszno home directory on VxWorksc	tjd}|tjdt
|tjdttjddkrz|tjddztjd|tjddztjd|tjdt
|tjd	t
|tjd
t|tjdttj	5}|d=|
tjj
}|dpd}|tjd|tj|d
t$5tj|dt$5dD]*}|tj||+	dddn#1swxYwYdddn#1swxYwYddddS#1swxYwYdS)Npwdrs~/rr9~r@z~root/z~foo/s~root/s~foo/rgetpwuid)side_effectgetpwnam)rz~/.localz
~vstinner/)r
import_moduleassertIsInstancer4rstrrKr3r	rrrgetuidpw_dirrstriprpatchobjectKeyError)r"rrrrLs     rtest_expanduser_pwdz!PosixPathTest.test_expanduser_pwds)%00i2488#>>>i25995AAA$$++$S))C/$T**



$T**T1$U++


	
i28<<cBBBi27;;SAAAi29==uEEEi28<<eDDD

*
,
,	GF<<	,,3D;;s##*sDY1#66===""3
"II
G
G""3
"II
G
G;GGD$$Y%9$%?%?FFFFG
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	G	Gs[BK/(K.K4KKKKKK/K	K/K	K//K36K3)0)r%rR)r9r9)z/.r9)z/./r9)z/.//.r9)r,r,)r8r8)rr)rr9)z///foo/.//bar//r8)z///foo/.//bar//.//..//.//baz///z/foo/baz)z///..//./foo/.//barr8)rRrR)z.//.rR)rSrS)../rS)../foor)	../../foor)z
../foo/../barz../bar)z../../foo/../bar/./baz/boom/..
../../bar/bazz/..r9r)z/../r9)z/..//r9)z//.r)z//..r)//...r)z//../foor>)z//../../foor>)z/../foor,)z
/../../foor,)z/../foo/../r9)z/../foo/../barr.)z/../../foo/../bar/./baz/boom/..r0)z/../../foo/../bar/./baz/boom/.z
/bar/baz/boom)zfoo/../bar/bazzbar/baz)zfoo/../../bar/bazz
../bar/baz)zfoo/../../../bar/bazr)zfoo///../bar/.././../baz/boomz../baz/boom)zfoo/bar/../..///../../baz/boomz../../baz/boom)z/foo/..r9)z
/foo/../..r9)z//foo/..r)z//foo/../..r)z	///foo/..r9)z///foo/../..r9)z
////foo/..r9)z/////foo/..r9c|jD]\}}||5tj|}|||dddn#1swxYwY|d}|d}||t5tj|}|||dddn#1swxYwYdS)Nzutf-8)type)NORMPATH_CASESrr4normpathr3encoderK)r"rLexpectedresults    r
test_normpathzPosixPathTest.test_normpathgse"1		3		3ND(d##
3
3"+D11  222
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3;;w''Dw//Hd//
3
3"+D11  222
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3		3		3s#+AA	 A	*+C!!C%	(C%	c|tdtj|tdtj|tddgdztj|tdtj|tdtj|tddgdztjdS)NrRz./.r9d.s./.r@)r3rrgetcwdr5getcwdbr!s rtest_realpath_curdirz"PosixPathTest.test_realpath_curdirss#	444%")++666#((C53;"7"788")++FFF$666&))2:<<888$))TFSL"9"9::BJLLIIIIIrc	*|tdttj|tdtttj|tddgdzd|tdttj|tdtttj|tddgdzddS)NrSz../..r9rs..s../..r@)r3rrrrr5rr!s rtest_realpath_pardirz"PosixPathTest.test_realpath_pardir}s$$)=)=>>>'**GGBIKK4H4H,I,IJJJ#((D6C<"8"8993???%'"*,,*?*?@@@(++WWRZ\\5J5J-K-KLLL$))UGcM":":;;TBBBBBrc	tjtdzt|t	ttdztjtdS#tjtwxYwNr&)rrgrr3rr	r(r!s rtest_realpath_basicz!PosixPathTest.test_realpath_basicsm	%Jvcz6***Xf--vcz:::V$$$$$IV$$$$sAA//B
c`	tjtdzt|tt
td|tt
tdzdt
jtdS#t
jtwxYw)Nr&Tstrictr')rrgrassertRaisesFileNotFoundErrorrr	r(r!s rtest_realpath_strictz"PosixPathTest.test_realpath_stricts
	%Jvcz6***/6$OOO/6C<PTUUUV$$$$$IV$$$$sA5BB-c>	tjtjtdzt|t
ttdztjtdS#tjtwxYwr)	rrgr4relpathrr3rr	r(r!s rtest_realpath_relativez$PosixPathTest.test_realpath_relativesx	%Jy(44f===Xf--vcz:::V$$$$$IV$$$$sA$BBcH
	tjtt|t	tttjtdztdztjtdztdz|t	tdztdz|t	tdztdz|t	tdztdz|t	tdztt|t	tdzttdztjtdztdz|t	td	zt
tzdztdz|t	td	zt
tzdztdztjt
td
ztdz|t	tdztd
ztjdt
ttzd
zt
tzdztdz|t	tdztdztjtt5|t	t
ttdddn#1swxYwYtj	ttj	tdztj	tdztj	tdztj	tdztj	tdzdS#tj	ttj	tdztj	tdztj	tdztj	tdztj	tdzwxYw)Nr&r'1/x1/..1/../x/xxy1/../a/barr9c)
rrgrr3rrrr	
change_cwdr(r!s rtest_realpath_symlink_loopsz)PosixPathTest.test_realpath_symlink_loopss2
"	)Jvv&&&Xf--v666Jvcz6#:...Jvcz6#:...XfSj116#:>>>XfSj116#:>>>XfUl33VE\BBBXfVm44gfooFFFXfXo66$8NOOOJvcz6#:...XfWnx7G7G&G#&MNN#c\
+
+
+XfWnx7G7G&G#&MNN#c\
+
+
+
Jx''%/<<<XfSj116%<@@@Jux8883>''(*-./5cz
;
;
;XfSj116#:>>>%gfoo66
E
E  (6*:*:!;!;VDDD
E
E
E
E
E
E
E
E
E
E
E
E
E
E
E
V$$$VCZ(((VCZ(((VCZ(((VCZ(((VCZ(((((
V$$$VCZ(((VCZ(((VCZ(((VCZ(((VCZ((((s1M?Q:;O<Q:OQ:OQ::B'T!cv		tjtt|tt
tdtjtdztdztjtdztdz|tt
tdzd|tt
tdzd|tt
tdzd|tt
tdzd|tt
tdzdtjtdztd	z|tt
td
zt
tzd	zd|tt
td
zt
tzdzdtjt
tdztdz|tt
tdzdtjd
t
ttzdzt
tzdztdz|tt
tdzdtj	tt5|tt
t
tddddn#1swxYwYtj
ttj
tdztj
tdztj
td	ztj
tdztj
tdzdS#tj
ttj
tdztj
tdztj
td	ztj
tdztj
tdzwxYw)NTrr&r'rrrrrrrrrr9r)rrgrrrrrrr	rr(r!s r"test_realpath_symlink_loops_strictz0PosixPathTest.test_realpath_symlink_loops_stricts
"	)Jvv&&&gxEEEJvcz6#:...Jvcz6#:...gxDIIIgxDIIIgxdKKKgxtLLLgxNNNJvcz6#:...gx$Wnx/?/??#Ed

T
T
Tgx$Wnx/?/??#Ed

T
T
T
Jx''%/<<<gxDIIIJux8883>''(*-./5cz
;
;
;gxDIII%gfoo66
T
T!!'8Xf5E5Ed!SSS
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
V$$$VCZ(((VCZ(((VCZ(((VCZ(((VCZ(((((
V$$$VCZ(((VCZ(((VCZ(((VCZ(((VCZ((((s1LP6MPM##P&M#'PB'R8cr	tjttjdt	tztdztjdtdz|t
tdzttjtdztjtdzttdS#tjtdztjtdzttwxYw)Nrz/selfzself/self/selfz/link)
rrqrrgrr3rr	r(rr!s r(test_realpath_repeated_indirect_symlinksz6PosixPathTest.test_realpath_repeated_indirect_symlinkss	HVJux///'1ABBBJ'')9:::Xfw&677@@@Vg-...Vg-...v
Vg-...Vg-...vs
BC((AD6c^d}	tjtt|D]?}tjdd|zgdztd|dzzz@tjdtdz|ttd|zzttj	t5|td|ztdddn#1swxYwYt|dzD]!}tj
td|zz"ttdS#t|dzD]!}tj
td|zz"ttwxYw)N
r9z%dz/%drwrRz/0)rrqrrangergr5r3rr	rr(r)r"depthis   rtest_realpath_deep_recursionz*PosixPathTest.test_realpath_deep_recursions
	HV5\\
P
P
388TAXJO44fuA6NOOOOJsFTM***Xfuu}&<==vFFF%f--
A
A  $,!7!7@@@
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A519%%
5
5 %!)!34444v519%%
5
5 %!)!34444vs1CE",D
E"
DE"DE""A
F,c	tjttjtdztjtdztdzt	jtdz5|tdtdzdddn#1swxYwYt	jtdzttdzttdS#t	jtdzttdzttwxYw)Nz/y/krz/y/a)
rrqrrgr	rr3rr(rr!s rtest_realpath_resolve_parentsz+PosixPathTest.test_realpath_resolve_parentss[
	HVHVd]###Jv}ftm444%ftm44
A
A  #@@@
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
Vd]+++v}%%%v
Vd]+++v}%%%vs1A6D8,B0$D0B44D7B48DA	E
c	tjttjtdztjtdztjtdztdz|ttdztdzt
jtt5|tttdztdzdddn#1swxYwYt
j
tdzttdzttdzttdS#t
j
tdzttdzttdzttwxYw)Nrz/k/yz/link-yz
/link-y/..)rrqrrgr3rr	rrrr(rr!s r(test_realpath_resolve_before_normalizingz6PosixPathTest.test_realpath_resolve_before_normalizing,s	HVHVd]###HVf_%%%Jv(:;;;
Xf|&;<<ftmLLL%gfoo66
0
0  (6*:*:\*I!J!J!'$000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Vi/000v'''v}%%%v
Vi/000v'''v}%%%vs2CF	ADF	D""F	%D"&F		A G)c2	tjttjtdztjttdzt	jt
t5tt}|t|dzt|t|dztdzdddn#1swxYwYt	j
tdzttdzttdS#t	j
tdzttdzttwxYw)Nrlinkzlink/k)rrqrrgr	rrrr3rr(r)r"bases  rtest_realpath_resolve_firstz)PosixPathTest.test_realpath_resolve_firstHs	HVHVd]###Jvv///%gfoo66
K
K''  $-!8!8&AAA  $/!:!:FTMJJJ
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K

Vf_---v}%%%v
Vf_---v}%%%vs2A=E
?A.C9-E
9C==E
C=E

A	Fctjdc}t_	tjtjd}|t
tjd|t
jdd|t
jt
j	dd|t
jdd|t
jdd|t
jddd|zd	z|t
jdd
d|zdz|t
jddd
|t
jddd|t
jddd|t
jddd|t
jddd|t
jddd|t
jddd|t
jddd|t
jddd|t
jd	d	d|t
jddd|t_dS#|t_wxYw)NcdS)Nz/home/user/barrrr<lambda>z,PosixPathTest.test_relpath.<locals>.<lambda>\s7Hrr%rrz../a/bz../brz/az../cz/a/bzb/cz../../arRz/foo/bar/batz/x/y/zz../../../foo/bar/batr8batr9zfoo/bar/batz../../..rz../foo/bar/batz
../../../x)
rrrLrFr
ValueErrorr4rr3r)r"real_getcwdcurdirs   rtest_relpathzPosixPathTest.test_relpath[s$&I/H/H bi	$W]]29;;//3Fj)*;R@@@Y.s33S999Y.y/@/E/EFFLLLY.u55u===Y.x88(CCCY.sF;;U6\$=NOOOY.uf=="6\&0
2
2
2Y.sE::IFFFY.sC88#>>>Y.~xHHJ`aaaY.~zJJERRRY.~sCC]SSSY.sNCCZPPPY.~tDDFVWWWY.t^DDlSSSY.sC88#>>>Y.tT::C@@@Y.vv>>DDD#BIIIBI####sL/MM'cptjdc}t_	tjtjd}|t
tjd|t
jdd|t
jt
j	dd|t
jdd|t
jdd|t
jddd|zd	z|t
jdd
d|zdz|t
jddd
|t
jddd|t
jddd|t
jddd|t
jddd|t
jddd|t
jddd|t
jddd|t
jddd|t
jd	d	d|t
jddd|ttjdd|ttjdd|t_dS#|t_wxYw)NcdS)Ns/home/user/barrrrrrz2PosixPathTest.test_relpath_bytes.<locals>.<lambda>vs:Lrrrasa/bs../a/bs../bs../s/as../cs/a/bsb/cs../../ars/foo/bar/bats/x/y/zs../../../foo/bar/batr?sbatr@sfoo/bar/bats../../..s/xs../foo/bar/bats
../../../xsbytesr)rrrLrFrrr4rr3r	TypeError)r"real_getcwdbrs   rtest_relpath_bytesz PosixPathTest.test_relpath_bytesus$&(j2L2L"rz	&W]]2:<<004Fj)*;SAAAY.t44d;;;Y.y/@/F/FGGNNNY.v66???Y.y999EEEY.tW==#F]50
2
2
2Y.vw??#F]72
4
4
4Y.tV<<jIIIY.tT::DAAAY.	JJLcdddY.LLfUUUY.EE~VVVY.t_EE{SSSY.FFHYZZZY.uoFF
VVVY.tT::DAAAY.ue<<dCCCY.w@@$GGGi):HeLLLi):E8LLL%BJJJBJ%%%%sM=N''N5cfd}fd}ttjg|tddg|tddg|dgd|ddgd|ddgd|ddgd|ddgd|d	d
gd|ddgd|ddgd|d
dgd|d
dgd|ddgd|d
dgd|dgd|ddgd|ddgd|ddgd|ddgd|ddgd|gdd|gdd|dgd|ddgd|tddgttjd dgttjd d!gttjd"dgttjd
d#gttjd
d$gttjd%d#gdS)&Nctj||tjd|Dtj|dS)Nc6g|]}tj|Srrrj.0ps  r
<listcomp>z@PosixPathTest.test_commonpath.<locals>.check.<locals>.<listcomp>s 2Q2Q2Qa2;q>>2Q2Q2Qr)r3r4
commonpathrrj)pathsrr"s  rcheckz,PosixPathTest.test_commonpath.<locals>.checksoY1%88(CCCY12Q2Q52Q2Q2QRR[22
4
4
4
4
4rc|tj||tjd|DdS)Nc6g|]}tj|Srrrs  rrzFPosixPathTest.test_commonpath.<locals>.check_error.<locals>.<listcomp>s ===!r{1~~===r)rr4r)excrr"s  rcheck_errorz2PosixPathTest.test_commonpath.<locals>.check_errorsXc9#7???c9#7==u===
?
?
?
?
?rz/usrusrz
/usr/localz/usr/local/z/usr//localz//usr/localz/usr/./localz/./usr/localr9z/devz	/usr/lib/z/usr/lib/python3z/usr/libz/usr/lib64/z
/usr/lib64spamalotr%and/jamand/spamandzand//jamz
and/spam//z	and/./jamz
./and/spam)rrr
)rrr
z	spam/alotz
/spam/alots	/usr/lib/zusr/lib/python3susr/lib/s/usr/lib/python3susr/lib/python3zusr/lib/)rrr4rr)r"rrs`  rtest_commonpathzPosixPathTest.test_commonpaths	4	4	4	4	4	?	?	?	?	?
	
*i&:B???J000J000
|nl+++
|\*L999
}l+\:::
}m,l;;;
}m,l;;;
~~.===
sFmS!!!
vv$$$
{./<<<
{M*F333
z<(&111
{L)6222
vh
vv'''
vv###
y*%u---
z<(%000
{L)5111
---r222
,,,e444
rdB
r;$$$J\ 2333)Y%9');<	>	>	>)Y%9'):;	=	=	=)Y%9&(:;	=	=	=)Y%9&(;<	>	>	>)Y%9&(:;	=	=	=)Y%9%':;	=	=	=	=	=r).__name__
__module____qualname__r#r r6rGrOrTrXrZr\rlrorrr	skip_unless_symlinkrtrskipIfrxrrrrsysplatformrrrrrrrrrrrrrrrrrrrrrrrr's222
+++MMM7778&&&:::DDDEEEXXX*???:::"#"X_Ud]$@AA""BA""X_Ud]$@AA""BA"*???LLL X_S\Y.355%G%G55%GN111Nf
3
3
3'JJ'&J'CC'&C"&%%'&#"%"&%%'&#"%"&%%'&#"%"&%)%)'&#"%)N"&%)%)'&#"%)N"&

'&#"
"&'&#"""&'&#"""&'&#"4"&'&#""$$$4&&&<4=4=4=4=4=rrceZdZeZgdZdS)PosixCommonTest)rsamefilesameopenfilesamestatN)rrrr4
pathmodule
attributesrrrrrsJDDDJJJrrceZdZeZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdS)
PathLikeTestsc6tj|_ttj|_|tj|jt|jdd5}|dddddS#1swxYwYdS)Nxbrstest_posixpath.PathLikeTests)	r	r)	file_namer
	file_path
addCleanupr(rdre)r"files  rr#zPathLikeTests.setUps")!)"233	($.999
$.$
*
*	8dJJ6777	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8	8s+BBBcj|||j||jdSr)r3r"r!)r"funcs  rassertPathEqualzPathLikeTests.assertPathEquals6dn--ttDN/C/CDDDDDrcD||jjdSr)r'rLnormcaser!s rtest_path_normcasez PathLikeTests.test_path_normcase!TY/00000rcD||jjdSr)r'rLrWr!s rtest_path_isabszPathLikeTests.test_path_isabs TY_-----rc||jdtdd|jddddS)Nrbr)r3rLr5r
r!s rtest_path_joinzPathLikeTests.test_path_joinsSXc]]C@@S#66	8	8	8	8	8rcD||jjdSr)r'rLrFr!s rtest_path_splitzPathLikeTests.test_path_splitr.rcD||jjdSr)r'rLrJr!s rtest_path_splitextz PathLikeTests.test_path_splitextr+rcD||jjdSr)r'rL
splitdriver!s rtest_path_splitdrivez"PathLikeTests.test_path_splitdrive!TY122222rcD||jjdSr)r'rLrr!s rtest_path_basenamez PathLikeTests.test_path_basenamer+rcD||jjdSr)r'rLrr!s rtest_path_dirnamezPathLikeTests.test_path_dirname!TY./////rcD||jjdSr)r'rLrbr!s rtest_path_islinkzPathLikeTests.test_path_islinks!TY-.....rcD||jjdSr)r'rLrcr!s rtest_path_lexistszPathLikeTests.test_path_lexistsr>rcD||jjdSr)r'rLrnr!s rtest_path_ismountzPathLikeTests.test_path_ismountr>rcD||jjdSr)r'rLrr!s rtest_path_expanduserz"PathLikeTests.test_path_expanduserr9rcD||jjdSr)r'rL
expandvarsr!s rtest_path_expandvarsz"PathLikeTests.test_path_expandvarsr9rcD||jjdSr)r'rLrr!s rtest_path_normpathz PathLikeTests.test_path_normpathr+rcD||jjdSr)r'rLrr!s rtest_path_abspathzPathLikeTests.test_path_abspathr>rcD||jjdSr)r'rLrr!s rtest_path_realpathz PathLikeTests.test_path_realpathr+rcD||jjdSr)r'rLrr!s rtest_path_relpathzPathLikeTests.test_path_relpathr>rc|j|j|jg}|||jdSr)rLrr"r!r3)r"common_paths  rtest_path_commonpathz"PathLikeTests.test_path_commonpaths>i**DNDN+KLLdn55555rN)rrrr4rLr#r'r*r-r1r3r5r8r;r=r@rBrDrFrIrKrMrOrQrTrrrrrsHD888EEE111...888...111333111000///00000033333311100011100066666rr__main__)rr4rrrrrrrrtest.supportrr	test.support.os_helperr
rrxImportErrorr)rrrTestCaser
CommonTestrrrmainrrr<module>r\s				



::::::::::::!!!!!!&&&&&&""""""++++++LLLLEEE
!	"	"===


`
=`
=`
=`
=`
=H%`
=`
=`
=FEEEEE&183DEEE
D6D6D6D6D6H%D6D6D6NZHMOOOOOsAA
A