python (3.12.0)

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

͑eN)ddlZddlZddlZddlZddlZddlmZddlmZGddejZ
GddejZedk(rejyy)	N)support)	os_helperc*eZdZdZdZdZdZdZy)FileCompareTestCasectj|_tjdz|_tjdz|_d}|j|j|jfD]*}t|dd5}|j
|ddd,t|jdd5}|j
ddddtj|_	y#1swYxYw#1swY/xYw)	Nz-samez-diffContents of file go here.
wutf-8encodingza+zAn extra line.
)
rTESTFNname	name_same	name_diffopenwritetempfile
gettempdirdir)selfdataroutputs    E/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_filecmp.pysetUpzFileCompareTestCase.setUps$$	"))G3"))G3,YY?	#DdC'2
#fT"
#
#	#$..$
9	-VLL+,	-&&(
#
#	-	-s<C$0C0$C-	0C9ctj|jtj|jtj|jyN)osunlinkrrrrs rtearDownzFileCompareTestCase.tearDowns2
		$))
		$..!
		$..!c|jtj|j|jd|jtj|j|jdd|jtj|j|jd|jtj|j|jddy)NzComparing file to itself failsFshallowz&Comparing file to identical file fails)
assertTruefilecmpcmprrrs r
test_matchingz!FileCompareTestCase.test_matchingsDIItyy98	:DIItyy%H8	:DIIt~~>@	BDIIt~~uM@	Br!c|jtj|j|jd|jtj|j|j
dy)Nz!Mismatched files compare as equalz#File and directory compare as equal)assertFalser&r'rrrrs rtest_differentz"FileCompareTestCase.test_different(sNTYY?7	9TYY99	;r!c4tj|j|jd}tj|j|jd}tj
|j
ttjdk(dy)NFr#rz+Cache not cleared after calling clear_cache)	r&r'rrrclear_cacher%len_cache)r
first_comparesecond_compares   rtest_cache_clearz$FileCompareTestCase.test_cache_clear.sbDIIt~~uM
 TYYNGNN+q0E	Gr!N)__name__
__module____qualname__rr r(r+r2r!rrrs)"
B;Gr!rcHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zy)DirCompareTestCasectj}tjj	|d|_tjj	|d|_tjj	|d|_tjj	|jd|_tjjdtjjdk(|_
d}|j
|j|j|jfD]}tj|dtj|tjj	|d	}tj||jr||jurd
}nd}ttjj	||dd
5}|j|dddttjj	|jddd
5}|jddddy#1swY%xYw#1swYyxYw)Nrzdir-samezdir-diff.hgAarTsubdirFiLefiler	r
rfile2zAn extra file.
)rrrpathjoinrdir_samedir_diffdir_ignorednormcasecaseinsensitiveshutilrmtreemkdirrr)rtmpdirrrsubdir_pathfnrs       rrzDirCompareTestCase.setUp6s$$&77<<.VZ8
VZ8
77<<

u=!ww//48H8H8MM,HHdmmT]]D<L<LM
	#CMM#t$HHSM'',,sH5KHH[!##t}}(<bggll3+S7C
#vT"
#
#
	#"'',,t}}g6g
N	-RXLL+,	-	-
#
#	-	-sI'II	Ic~|j|j|jfD]}tj|yr)rrCrDrHrI)rrs  rr zDirCompareTestCase.tearDownQs0HHdmmT]];	CMM#	r!cD|jdtjy)Nr:)assertInr&DEFAULT_IGNORESrs rtest_default_ignoresz'DirCompareTestCase.test_default_ignoresUs

eW445r!cX|jtj|j|jdgdgggfk(d|jtj|j|jdgdgggfk(d|jtj|j|jdgddgggfk(d|jtj|j|jdgddttjj|jddd	5}|jd
ddd|jtj|j|jddgdgdggfk(dy#1swYOxYw)Nr?z#Comparing directory to itself failsz!Comparing directory to same failsFr#r@r	r
rDifferent contents.
z&Comparing mismatched directories fails)r%r&cmpfilesrrCrrrArBrr*)rrs  r
test_cmpfilesz DirCompareTestCase.test_cmpfilesXs}((488fXF 2r*+=	?	
((4==6(K 2r*+;	=
	
((488fX168 2r*+>	?	
((4==6(168;	=
"'',,txx13
I	2VLL01	2	
))$((DMM&,g%68Xy"-.=	>	2	2sF  F)cN	|jt|t|yr)assertEqualsorted)ractualexpecteds   r
_assert_listsz DirCompareTestCase._assert_listsss>)9:r!c
|j|j}}tj||}|j	|j
||j	|j||jr=|j|jddg|j|jddgn<|j|jddg|j|jddg|j|jddg|j|jdg|j	|jg|j	|jg|j	|jdg|j	|j gdj#|j|jddg}|j%|j&||j|j(}}tj||}|j	|j
||j	|j||j|jddg|j|jgd|j|jddg|j|jdg|j	|jg|j	|jdg|j	|jdg|j	|j gdj#|j|j(d	j#|j(ddg}|j%|j&||j|j(}}t+j,t.j0j3|j(dt.j0j3|jdtj||}|j	|j
||j	|j||j|jgd|j|jddg|j|jddg|j	|jdg|j	|jg|j	|jdg|j	|j gdj#|j|j(d	j#|jddg}|j%|j&|t5t.j0j3|j(dd
d5}|j7d
dddtj|j|j(}|j	|jdg|j	|j dgdj#|j|j(dddg}|j%|j&|y#1swYxYw)Nr?r=r>
diff {} {}Identical files : ['file']"Common subdirectories : ['subdir'])r?r@r=r@zOnly in {} : ['file2']r	r
rrTzDiffering files : ['file2'])rrCr&dircmprXleftrightrGr\	left_list
right_listcommoncommon_dirs	left_only
right_only
same_files
diff_filesformat_assert_reportreportrDrHmoverrArBrr)rleft_dir	right_dirdexpected_reportrs      rtest_dircmpzDirCompareTestCase.test_dircmpxs"hh

)NN8Y/*),q{{VX,>?q||fh-?@q{{VX,>?q||fh-?@188fh%781==8*5b)r*x0r*$--8(0

	
AHHo6#hh

)NN8Y/*),1;;(:;1<<)DE188fh%781==8*5b)y1x0r*$--8$++DMM:(0	
	
AHHo6#hh

)GGLL0GGLL7+	

NN8Y/*),1;;(CD1<<&();<188fh%78wi0r*x0r*$--8$++DHH5(0	
	
AHHo6"'',,t}}g6g
N	2RXLL01	2NN488T]]3x0y1$--8()0	
	
AHHo6	2	2s8Y==Zc	Gddtj}||j|j}|j}|jt
|jdg|d}|jt||y)NceZdZy)=DirCompareTestCase.test_dircmp_subdirs_type.<locals>.MyDirCmpN)r3r4r5r6r!rMyDirCmprwsr!rxr=)	r&rarrDsubdirsrXlistkeystype)rrxrrsub_dirssub_dcmps     rtest_dircmp_subdirs_typez+DirCompareTestCase.test_dircmp_subdirs_typesm=	w~~	TXXt}}-99hmmo.
;H%h2r!c|j|j}}tj||}tj
j
|d}tj
j
|d}dj|j|jddddj||g}|j|j|yNr=r^r_r`)
rrCr&rarrArBrlrmreport_partial_closurerrprqrrleft_subdirright_subdirrss       rtest_report_partial_closurez.DirCompareTestCase.test_report_partial_closures"hh

)NN8Y/ggll8X6ww||Ix8$--8(0\:
	
A44oFr!c|j|j}}tj||}tj
j
|d}tj
j
|d}dj|j|jddddj||g}|j|j|yr)
rrCr&rarrArBrlrmreport_full_closurers       rtest_report_full_closurez+DirCompareTestCase.test_report_full_closures"hh

)NN8Y/ggll8X6ww||Ix8$--8(0\:
	
A11?Cr!ctj5}||jjj	d}|j||dddy#1swYyxYw)N
)rcaptured_stdoutgetvaluestripsplitrX)r
dircmp_reportexpected_report_linesstdoutreport_liness     rrmz!DirCompareTestCase._assert_reports_

$
$
&	B&O!??,224::4@L\+@A	B	B	BsAA%%A.N)
r3r4r5rr rRrVr\rtrrrrmr6r!rr8r85s9-66>6;
R7h3GDBr!r8__main__)r&rrHrunittesttestrtest.supportrTestCaserr8r3mainr6r!r<module>rs`	
"(G(++(GTAB**ABHzHMMOr!