%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/test/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/test/test_zipfile.pyc

ó
Nêáac@sÄyddlZWnek
r)eZnXddlZddlZddlZddlZddlZddlZddl	Z	ddl
m
Z
ddlmZddl
mZm
Z
mZddl	mZddlmZddlmZmZmZmZmZmZmZmZmZyejeƒWneefk
rJeZnXedZ ed	Z!d
Z"ddfd
dfddfddfgZ#d„Z$de	j%fd„ƒYZ&de	j%fd„ƒYZ'de	j%fd„ƒYZ(de	j%fd„ƒYZ)de	j%fd„ƒYZ*de	j%fd„ƒYZ+eed ƒd!e	j%fd"„ƒYƒZ,d#e	j%fd$„ƒYZ-d%e	j%fd&„ƒYZ.d'e	j%fd(„ƒYZ/d)„Z0e1d*krÀe0ƒndS(+iÿÿÿÿN(tStringIO(t
TemporaryFile(trandinttrandomtgetrandbits(t
skipUnless(t
script_helper(	tTESTFNtTESTFN_UNICODEtTESTFN_ENCODINGtrun_unittesttfindfiletunlinktrmtreetcheck_warningstcaptured_stdoutt2tdièt	_ziptest1t
1q2w3e4r5tsziptest2dir/_ziptest2t
qawsedrftgs!ziptest2dir/ziptest3dir/_ziptest3t
azsxdcfvgbs-ziptest2dir/ziptest3dir/ziptest4dir/_ziptest3t
6y7u8i9o0pcCs+ttjdd|td|ƒfƒƒS(Ns%0*xii(tbytest	bytearraytfromhexR(tsize((s-/usr/local/lib/python2.7/test/test_zipfile.pytgetrandbytes(stTestsWithSourceFilecBsNeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Zd„Zd„Zeedƒd„ƒZeedƒd„ƒZeedƒd„ƒZeedƒd„ƒZeedƒd„ƒZeedƒd„ƒZeedƒd„ƒZeedƒd„ƒZd„Zd„Zd„Z d„Z!d„Z"d „Z#d!„Z$d"„Z%eedƒd#„ƒZ&d$„Z'd%„Z(d&„Z)d'„Z*ee+d(ƒd)„ƒZ,d*„Z-d+„Z.d,„Z/d-„Z0d.„Z1d/„Z2d0„Z3d1„Z4RS(2cCstgttƒD]}d|tƒf^q
|_dj|jƒd|_ttdƒ}|j|jƒWdQXdS(Ns&Zipfile test line %d. random float: %fs
twb(	txrangetFIXEDTEST_SIZERtline_gentjointdatatopenRtwrite(tselftitfp((s-/usr/local/lib/python2.7/test/test_zipfile.pytsetUp,s
,cCsUtj|d|ƒ:}|jtdƒ|jttƒ|jd|jƒWdQXdS(Ntwsanother.nametstrfile(tzipfiletZipFileR$RtwritestrR"(R%tftcompressiontzipfp((s-/usr/local/lib/python2.7/test/test_zipfile.pytmake_test_archive5sc	Csò|j||ƒtj|d|ƒÇ}|j|jtƒ|jƒ|j|jdƒ|jƒ|j|jdƒ|jƒtƒ}tj	}z|t_	|j
ƒWd|t_	X|jƒ}|jƒ}|jt
|ƒdƒ|jd|dƒ|jd|dƒ|jd|dƒ|d	jƒ\}}	}
}|j|dƒ|jtj|	d
ƒƒ|jtj|
dƒƒ|j|tt
|jƒƒƒ|jƒ}|jt
|ƒdƒ|jt|ƒ|jd|ƒ|jd|ƒ|jƒ}
g|
D]}|j^qþ}|jt
|ƒdƒ|jt|ƒ|jd|ƒ|jd|ƒx*|
D]"}|j|jt
|jƒƒq`WxUtddfD]D}|j|ƒ}|j|j|ƒ|j|jt
|jƒƒq–W|jƒWdQXdS(
Ntrsanother.nameR*is	File NameitModifiedtSizeis%Y-%m-%ds%H:%M:%Si(R1R+R,tassertEqualtreadRR"Rtsyststdouttprintdirtgetvaluet
splitlinestlentassertIntsplitt
assertTruettimetstrptimetstrtnamelisttinfolisttfilenamet	file_sizetgetinfottestzip(R%R.R/R0R'R8t	directorytlinestfntdatettime_RtnamestinfosR&tnmtinfo((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_test<sP			

  cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(tTESTFN2RRRRR+t
ZIP_STORED(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_storedvsc	Cs|j||ƒtj|d|ƒá}g}|jtƒ:}x0trr|jdƒ}|sbPn|j|ƒqCWWdQXg}|jdƒ:}x0trÃ|jdƒ}|s³Pn|j|ƒq”WWdQX|jdj	|ƒ|j
ƒ|jdj	|ƒ|j
ƒWdQXdS(NR2isanother.namet(R1R+R,R#RtTrueR6tappendR5R!R"(	R%R.R/R0tzipdata1tzipopen1t	read_datatzipdata2tzipopen2((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
zip_open_testzs$		cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRR^R+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_open_stored’sc
CsItjtdtjƒ]}|jddƒtdtfƒ|jddƒWdQX|j|jƒdgdƒWdQXtjtdƒº}|j	ƒ}d}x6|D].}|j
|ƒ}||jƒ7}WdQXq¥W|j|dkpò|d	kƒd}x!|D]}||j|ƒ7}qW|j|dkp;|d	kƒWdQXdS(
NR)tnametfooRVtbariR2tfoobartbarfoo(
R+R,RSRTR-RtUserWarningR5RCRDR#R6R?(R%R0ROR"RQR.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_open_via_zip_info–s #

cCs¨|j||ƒtj|d|ƒ}}g}|jtƒC}x9tr{|jtddƒƒ}|skPn|j|ƒqCWWdQX|j	dj
|ƒ|jƒWdQXdS(NR2iiRV(R1R+R,R#RRWR6RRXR5R!R"(R%R.R/R0RYRZR[((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_random_open_testªs	cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRgR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_random_open_stored¹scCs¿tƒ}ddd}tj|dtjƒ}|jt|ƒWdQXd}tj|dƒ=}|jtdƒ"}x|D]}||7}qWWdQXWdQX|j||jdd	ƒƒdS(
Nsa
iiR)RVR2trUs
s
(	RR+R,RTR-RR#R5treplace(R%R.R"R0tdata2tzipopentline((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_universal_readaheads½s	
c
Cs°|j||ƒtj|dƒu}|jtƒ]}d}xMtrŒ|jƒ}|s\Pn||7}|jdƒ}|sPn||7}q@WWdQXWdQX|j||j	ƒdS(NR2RVid(
R1R+R,R#RRWtreadlineR6R5R"(R%R.R/R0RlR"R6((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_readline_read_testÌs	
c
Cs{|j||ƒtj|dƒS}|jtƒ;}x1|jD]&}|jƒ}|j||dƒqAWWdQXWdQXdS(NR2s
(R1R+R,R#RR RoR5(R%R.R/R0RlRmtlinedata((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_readline_testàsc
CsŠ|j||ƒtj|dƒb}|jtƒJ}|jƒ}x4t|j|ƒD] \}}|j||dƒqVWWdQXWdQXdS(NR2s
(	R1R+R,R#Rt	readlinestzipR R5(R%R.R/R0tzotziplinesRmtzipline((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_readlines_testêsc	Cso|j||ƒtj|dƒG}x=t|j|jtƒƒD] \}}|j||dƒqAWWdQXdS(NR2s
(R1R+R,RtR R#RR5(R%R.R/R0RmRw((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_iterlines_testôs(cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRpR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readline_read_storedüscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRrR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readline_storedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRxR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readlines_storedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRyR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_iterlines_stored	ss
requires zlibcCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRRR+tZIP_DEFLATED(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
test_deflated
scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRR^R+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_open_deflatedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRgR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_random_open_deflatedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRpR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readline_read_deflatedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRrR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readline_deflated"scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRxR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readlines_deflated'scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRyR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_iterlines_deflated,scCs tjtdtjƒ}|jddƒWdQXtjtdtjƒQ}|jdƒ9}|j|jdƒdƒ|j|jdƒdƒWdQXWdQXdS(	s>Check for cases where compressed data is larger than original.R)R*t12NR2it1R(R+R,RSR~R-R#R5R6(R%R0topenobj((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_low_compression1scCsotjtdtjƒ}|jtdƒWdQXtjtdtjƒ }|j|jƒdgƒWdQXdS(NR)s	/absoluteR2tabsolute(R+R,RSRTR$RR5RC(R%R0((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_absolute_arcnames>sc	Cs…tjtdtjƒ}|jttƒWdQXtjtdtjƒ6}|jd|jƒ|j|j	ƒtdgƒWdQXdS(s&Test appending to an existing zipfile.R)NtaR*(
R+R,RSRTR$RR-R"R5RC(R%R0((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_append_to_zip_fileEs
cCs‡dd}ttdƒ}|j|ƒWdQXtjtdtjƒ}|jttƒWdQXttdƒj}|jt|ƒƒtj|dƒ<}|j	|j
ƒtgƒ|j	|jtƒ|jƒWdQXWdQXttdƒ2}|j	|jt|ƒƒ|ƒ|jƒ}WdQXt
j|ƒT}tj|ƒ<}|j	|j
ƒtgƒ|j	|jtƒ|jƒWdQXWdQXdS(s9Test appending to an existing file that is not a zipfile.sI am not a ZipFile!i
RNRŒtrbR2(R#RSR$R+R,RTRtseekR<R5RCR6R"tiotBytesIO(R%R"R.R0tzipfiledatatbio((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_append_to_non_zip_fileNs"
(cCsßtjƒD}tj|dtjƒ}|jttƒWdQX|jƒ}WdQXdd}tt	dƒ!}|j|ƒ|j|ƒWdQXtjt	ƒ<}|j
|jƒtgƒ|j
|jtƒ|j
ƒWdQXdS(NR)sI am not a ZipFile!i
R(RR‘R+R,RTR$RR:R#RSR5RCR6R"(R%R“R0R’R"R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_concatenated_zip_filees

cCs tjƒD}tj|dtjƒ}|jttƒWdQX|jƒ}WdQXdd}tt	dƒ!}|j|ƒ|j|ƒWdQXtjt	dƒ3}|j
|jƒtgƒ|jd|j
ƒWdQXtt	dƒ2}|j
|jt|ƒƒ|ƒ|jƒ}WdQXtj|ƒs}tj|ƒ[}|j
|jƒtdgƒ|j
|jtƒ|j
ƒ|j
|jdƒ|j
ƒWdQXWdQXdS(NR)sI am not a ZipFile!i@BRRŒR*RŽ(RR‘R+R,RTR$RR:R#RSR5RCR-R"R6R<(R%R“R0R’R"R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyt$test_append_to_concatenated_zip_filess&

c	Csˆtjtdtjƒ}|jttƒWdQXttdƒ}|jdƒWdQXtjtdƒ}|j|tjƒWdQXdS(NR)RŒs
R2(R+R,RSRTR$RR#tassertIsInstance(R%R0R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_ignores_newline_at_end‰sc	Cs¤tjtdtjƒ }d|_|jttƒWdQXttdƒ}|jdƒWdQXtjtdƒ-}|j|tjƒ|j	|jdƒWdQXdS(NR)sthis is a commentRŒsabcdef
R2(
R+R,RSRTtcommentR$RR#R—R5(R%R0R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyt)test_ignores_stuff_appended_past_comments‘s	cCsctjtdƒK}|jtƒttdƒ&}|j|jtƒ|jƒƒWdQXWdQXdS(s`Check that calling ZipFile.write without arcname specified
        produces the expected result.R)R2N(R+R,RSR$RR#R5R6(R%R0tfid((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_default_name›s
cCs•tjtdƒ}}|jtdtjƒ|jtdtjƒ|jdƒ}|jdƒ}|j|j	tjƒ|j|j	tjƒWdQXdS(sUCheck that files within a Zip archive can have different
        compression options.R)tstoremet	deflatemeN(
R+R,RSR$RRTR~RGR5t
compress_type(R%R0tsinfotdinfo((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_per_file_compression£sc	Csftjtddƒ}|jddƒWdQXtjtddƒ}|jt|jtƒWdQXdS(s]Check that trying to call write() on a readonly ZipFile object
        raises a RuntimeError.tmodeR)ssomefile.txttbogusNR2(R+R,RSR-tassertRaisestRuntimeErrorR$R(R%R0((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_to_readonly¯sc
Cs$tjtdtjƒ.}x$tD]\}}|j||ƒq"WWdQXtjtdƒ¥}x›tD]“\}}|j|ƒ}tjj	tj
ƒ|ƒ}tjj|ƒ}|j||ƒt
|dƒ}|j||jƒƒWdQXtj|ƒqdWWdQXttjj	tj
ƒdƒƒdS(NR)R2RŽtziptest2dir(R+R,RSRTtSMALL_TEST_DATAR-textracttostpathR!tgetcwdtnormpathR5R#R6tremoveR
(R%R0tfpathtfdatatwrittenfiletcorrectfileR›((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_extract¸sc
Csýtjtdtjƒ.}x$tD]\}}|j||ƒq"WWdQXtjtdƒ~}|jƒxjtD]b\}}tjj	tj
ƒ|ƒ}t|dƒ}|j||j
ƒƒWdQXtj|ƒqnWWdQXttjj	tj
ƒdƒƒdS(NR)R2RŽR¨(R+R,RSRTR©R-t
extractallR«R¬R!R­R#R5R6R¯R
(R%R0R°R±toutfileR›((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_extract_allÏs
cCsK|jtjj|ƒƒt|dƒ}|j|jƒ|ƒWdQXdS(NRŽ(R?R«R¬tisfileR#R5R6(R%REtcontentR.((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
check_fileàss1No Unicode filesystem semantics on this platform.c	Csùdtjjtƒg}d}tjtdtjƒ(}x|D]}|j||ƒq@WWdQXtjtdƒ}xw|D]o}|j	|ƒ}tjj
tjƒ|ƒ}tjj|ƒ}|j
||ƒ|j||ƒtj|ƒq|WWdQXdS(Nufoo.txtsTest for unicode filenameR)R2(R«R¬tbasenameRR+R,RSRTR-RªR!R­R®R5RºR¯(R%tfnamesR¹R0tfnameR²R³((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_extract_unicode_filenamesås

c
Csßd1d2d3d4d5d6d7d8g}tjjd
kry|jd9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKgƒn|jdLdMdNgƒxI|D]A\}}d%|jƒ}tjtd&tjƒ5}tj	ƒ}||_
dO|_|j||ƒWdQX|j
tjd)ƒ}tjjd*d+d,ƒ}tjj||jd)ƒŒ}tjtd-ƒ3}|j||ƒ}	|j|	|d.d/|ƒWdQX|j||ƒtd*ƒtjtd-ƒ}|j|ƒWdQX|j||ƒtd*ƒtjjtjƒ|jd)ƒŒ}tjtd-ƒ0}|j|ƒ}	|j|	|d.d/|ƒWdQX|j||ƒt|jd)ƒd0ƒtjtd-ƒ}|jƒWdQX|j||ƒt|jd)ƒd0ƒtjtƒq–WdS(PNs
../foo/barsfoo/bars
foo/../bars
foo/../../bars
foo/bar/..s./../foo/bars/foo/bars/foo/../bars/foo/../../bars\s
..\foo\bars..\/foo\/barsfoo/\..\/barsfoo\/../\bars	C:foo/bars
C:/foo/barsC://foo/bars
C:\foo\bars//conky/mountpoint/foo/bars\\conky\mountpoint\foo\bars///conky/mountpoint/foo/barsconky/mountpoint/foo/bars\\\conky\mountpoint\foo\bars//conky//mountpoint/foo/bars\\conky\\mountpoint\foo\bars//?/C:/foo/bars\\?\C:\foo\barsC:/../C:/foo/bars
C_/foo/barsa:b\c<d>e|f"g?h*isb/c_d_e_f_g_h_is../../foo../../ba..rs	foo/ba..rs	//foo/barsfoo../ba..rs
foo/..\barRcR)i€it/ttargettsubdirtsubsubR2tmsgs
extract %ri(s
../foo/barsfoo/bar(s
foo/../barsfoo/bar(s
foo/../../barsfoo/bar(s
foo/bar/..sfoo/bar(s./../foo/barsfoo/bar(s/foo/barsfoo/bar(s/foo/../barsfoo/bar(s/foo/../../barsfoo/bar(s
..\foo\barsfoo/bar(s..\/foo\/barsfoo/bar(sfoo/\..\/barsfoo/bar(sfoo\/../\barsfoo/bar(s	C:foo/barsfoo/bar(s
C:/foo/barsfoo/bar(sC://foo/barsfoo/bar(s
C:\foo\barsfoo/bar(s//conky/mountpoint/foo/barsfoo/bar(s\\conky\mountpoint\foo\barsfoo/bar(s///conky/mountpoint/foo/barsconky/mountpoint/foo/bar(s\\\conky\mountpoint\foo\barsconky/mountpoint/foo/bar(s//conky//mountpoint/foo/barsconky/mountpoint/foo/bar(s\\conky\\mountpoint\foo\barsconky/mountpoint/foo/bar(s//?/C:/foo/barsfoo/bar(s\\?\C:\foo\barsfoo/bar(sC:/../C:/foo/bars
C_/foo/bar(sa:b\c<d>e|f"g?h*isb/c_d_e_f_g_h_i(s../../foo../../ba..rs	foo/ba..r(s	//foo/barsfoo/bar(s../../foo../../ba..rsfoo../ba..r(s
foo/..\bars
foo/..\bari€(R«R¬tseptextendtencodeR+R,RSRTtZipInfoREt
external_attrR-RjR!R>RªR5RºR
RµR­R¯(
R%t	hacknamestarcnamet	fixednameR¹R0tzinfot
targetpathR³R²((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_extract_hackers_arcnamesùs‚	

		

$cCs¤tjtdƒ}|jdddtjƒtrM|jdddtjƒn|jdƒ}|j|j	tjƒtr |jdƒ}|j|j	tjƒndS(NR)sa.txtshello worldRŸsb.txt(
R+R,RSR-RTtzlibR~RGR5RŸ(R%R0RQ((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_writestr_compressionJscCsQ|j||ƒtj|dƒ)}|jdƒ}|j|jdƒWdQXdS(NR2R*i€ii€(R1R+R,RGR5RÈ(R%R.R/R0RÌ((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_test_writestr_permissionsXscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRÑR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_writestr_permissionsascCsÅtjtdƒG}x=tD]5\}}|j||ƒ|j|jdk	dƒqWWdQX|j|jdkdƒtjtdƒ }|j|jdk	dƒWdQX|j|jdkdƒdS(s8Check that the zipfile is closed after the 'with' block.R)szipfp is not openNszipfp is not closedR2(R+R,RSR©R-R?R'tNone(R%R0R°R±((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
test_closees#cCs¡tjtdƒ.}x$tD]\}}|j||ƒqWWdQXy+tjtdƒ}tjƒ‚WdQXWn-tjk
rœ|j|jdkdƒnXdS(sWCheck that the zipfile is closed if an exception is raised in the
        'with' block.R)NR2szipfp is not closed(	R+R,RSR©R-t
BadZipfileR?R'RÓ(R%R0R°R±tzipfp2((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_close_on_exceptionqscCsEtjtdƒtjtdƒ}|jt|jtƒWdQXdS(NiR)(ii(	R«tutimeRR+R,RSR¥t
ValueErrorR$(R%R0((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_add_file_before_1980~scCsttƒttƒdS(N(RRRS(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttearDown„s
(5t__name__t
__module__R(R1RRRUR^R_RfRgRhRnRpRrRxRyRzR{R|R}RRÏRR€RR‚RƒR„R…R‰R‹RR”R•R–R˜RšRœR¢R§R´R·RºRR¾RÎRÐRÑRÒRÔR×RÚRÛ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyR+s`				:									
	
					
								
							Q						
	tTestZip64InSmallFilescBsƒeZd„Zd„Zd„Zd„Zd„Zd„Zee	dƒd„ƒZ
d„Zd	„Zd
„Z
d„Zd„ZRS(
cCstj|_tj|_dt_dt_d„tdtƒDƒ}dj|ƒ|_t	t
dƒ}|j|jƒWdQXdS(Nièi	css|]}d|VqdS(sTest of zipfile line %d.N((t.0R&((s-/usr/local/lib/python2.7/test/test_zipfile.pys	<genexpr>“sis
R(R+tZIP64_LIMITt_limittZIP_FILECOUNT_LIMITt_filecount_limittrangeRR!R"R#RR$(R%R R'((s-/usr/local/lib/python2.7/test/test_zipfile.pyR(s		c	Cs>tj|d|ƒ#}|jtj|jtdƒWdQXdS(NR)sanother.name(R+R,R¥tLargeZipFileR$R(R%R.R/R0((s-/usr/local/lib/python2.7/test/test_zipfile.pytlarge_file_exception_test›sc	CsAtj|d|ƒ&}|jtj|jd|jƒWdQXdS(NR)sanother.name(R+R,R¥RåR-R"(R%R.R/R0((s-/usr/local/lib/python2.7/test/test_zipfile.pytlarge_file_exception_test2 scCsJxCttƒtƒfD],}|j|tjƒ|j|tjƒqWdS(N(RSRRRæR+RTRç(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_large_file_exception¥sc
Cs9tj|d|dtƒ:}|jtdƒ|jttƒ|jd|jƒWdQXtj|d|ƒÇ}|j|jtƒ|jƒ|j|jdƒ|jƒ|j|jdƒ|jƒt	ƒ}t
j}z|t
_|jƒWd|t
_X|j
ƒ}|jƒ}|jt|ƒdƒ|jd|dƒ|jd	|dƒ|jd
|dƒ|djƒ\}}	}
}|j|dƒ|jtj|	dƒƒ|jtj|
d
ƒƒ|j|tt|jƒƒƒ|jƒ}|jt|ƒdƒ|jt|ƒ|jd|ƒ|jd|ƒ|jƒ}
g|
D]}|j^qE}|jt|ƒdƒ|jt|ƒ|jd|ƒ|jd|ƒx*|
D]"}|j|jt|jƒƒq§WxUtddfD]D}|j|ƒ}|j|j|ƒ|j|jt|jƒƒqÝW|jƒWdQXdS(NR)t
allowZip64sanother.nameR*R2is	File NameiR3R4is%Y-%m-%ds%H:%M:%Si(R+R,RWR$RR-R"R5R6RR7R8R9R:R;R<R=R>R?R@RARBRCRDRERFRGRH(R%R.R/R0R'R8RIRJRKRLRMRRNROR&RPRQ((s-/usr/local/lib/python2.7/test/test_zipfile.pyRRªsV			

  cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRRR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyRUèss
requires zlibcCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRRR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyRìscCsutjtdtjdtƒ}|jtdƒWdQXtjtdtjƒ }|j|jƒdgƒWdQXdS(NR)Rés	/absoluteR2RŠ(	R+R,RSRTRWR$RR5RC(R%R0((s-/usr/local/lib/python2.7/test/test_zipfile.pyR‹ñs
cCstjtdddtƒ}d|_d}x4t|ƒD]&}|jd|d|dd	ƒq7W|jt|j	ƒƒ|ƒ|j
ƒtjtdd
ƒ}|jt|j	ƒƒ|ƒxCt|ƒD]5}|jd|ƒ}|j|d|dd	ƒqÅW|j
ƒdS(NR£R)Réidisfoo%08ds%dii9R2(R+R,RRWtdebugRäR-R5R<RCtcloseR6(R%tzipftnumfilesR&tzipf2R¹((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_too_many_filesùs	$
 cCsŽtjtdddtƒ}d|_d}x4t|ƒD]&}|jd|d|dd	ƒq7W|jt|j	ƒƒ|ƒ|j
tjƒ|jd|d
ƒWdQX|jt|j	ƒƒ|ƒ|jƒtjtdddtƒ}d|_|jt|j	ƒƒ|ƒ|j
tjƒ|jd|d
ƒWdQX|jt|j	ƒƒ|ƒ|jƒtjtdddt
ƒ}d|_|jt|j	ƒƒ|ƒd}x7t||ƒD]&}|jd|d|dd	ƒq¹W|jt|j	ƒƒ|ƒ|jƒtjtdd
ƒ}|jt|j	ƒƒ|ƒxCt|ƒD]5}|jd|ƒ}|j|d|dd	ƒqGW|jƒdS(NR£R)Réidi	sfoo%08ds%dii9RVRŒiR2(R+R,RtFalseRêRäR-R5R<RCR¥RåRëRWR6(R%RìRíR&t	numfiles2RîR¹((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_too_many_files_appends>	$
	
	$
 c
Csètjtddtƒ}|jd|jƒWdQXtjtddtƒ}|jdƒ}|j}WdQXtjtddtƒ}|jd|jƒWdQXtjtddtƒ)}|jdƒ}|j|j|ƒWdQXdS(NR)RéR*R2RŒtstrfile2(	R+R,RSRWR-R"RGtextraR5(R%R0RÌRô((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_append/scCs0|jt_|jt_ttƒttƒdS(N(RáR+RàRãRâRRRS(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÛ=s
(RÜRÝR(RæRçRèRRRURRÏRR‹RïRòRõRÛ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÞ‰s					>				$	tPyZipFileTestscBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCs–tj|tjƒs%|jdƒntjj|dƒ}y-tj|tjtjBƒ}tj	|ƒWnt
k
r‡|jdƒnXt|ƒdS(Ns/requires write access to the installed locationstest_zipfile.try(R«taccesstW_OKtskipTestR¬R!R#tO_WRONLYtO_CREATRët	ExceptionR(R%R¬REtfd((s-/usr/local/lib/python2.7/test/test_zipfile.pytrequiresWriteAccessEs
c	Cs‰|jtjjtƒƒtjtƒdƒ }t}|jdƒsU|jdƒrb|d }n|j	|ƒtjj
|ƒ}|j||jƒƒ|j
|d|jƒkpÆ|d|jƒkƒWdQXtjtƒdƒž}t}|jd	ƒr
|d }n|j	|dƒddtjj
|ƒf}|j||jƒƒ|j
|d|jƒkp{|d|jƒkƒWdQXdS(
NR)s.pycs.pyoiÿÿÿÿtotcttestpackages%s/%s(s.pycs.pyo(RþR«R¬tdirnamet__file__R+t	PyZipFileRtendswithtwritepyR»tassertNotInRCR?(R%R0RKtbn((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_pyfilePs&


cCs§ddl}tjj|jƒ}|j|ƒtjtƒdƒ^}|j	|ƒ|j
ƒ}|jd|kpzd|kƒ|jd|kp™d|kƒWdQXdS(NiÿÿÿÿR)semail/__init__.pyosemail/__init__.pycsemail/mime/text.pyosemail/mime/text.pyc(temailR«R¬RRRþR+RRRRCR?(R%R
t
packagedirR0RN((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_python_packagejs


cCs;tjtƒzttjjtdƒdƒ}|jdƒWdQXttjjtdƒdƒ}|jdƒWdQXttjjtdƒdƒ}|jdƒWdQXtjt	ƒdƒ}|j
tƒ|jƒ}|jd|kpõd	|kƒ|jd
|kpd|kƒ|j
d|ƒWdttƒXdS(Nsmod1.pyR)s
print(42)
smod2.pysprint(42 * 42)
smod2.txtsbla bla bla
smod1.pycsmod1.pyosmod2.pycsmod2.pyo(R«tmkdirRSR#R¬R!R$R+RRRRCR?RR
(R%R'R0RN((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_python_directoryzs
!!!
c
CsjtjtƒdƒO}ttdƒ}|jdƒWdQX|jt|jtƒt	j
tƒWdQXdS(NR)s!most definitely not a python file(R+RRR#RR$R¥R¦RR«R¯(R%R0R›((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_non_pyfile‘s
(RÜRÝRþR	RRR(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRöDs
				t
OtherTestscBseZidej6dej6Zd„Zd„Zd„Zd„Z	d„Z
d„Zd„Zd	„Z
d
„Zd„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zeedƒd„ƒZd„Zd„Z eedƒd„ƒZ!d„Z"d„Z#eedƒd„ƒZ$d „Z%d!„Z&d"„Z'd#„Z(d$„Z)RS(%sxPK ‹Š;:r«ÿafilehello,AworldPK ‹Š;:r«ÿ€afilePK3/s|PKn}=FAKEnafileËHÍÉÉW(Ï/ÊIÉ =PKn}=FAKEn€afilePK33cCs«tjtdƒD}|jddƒ|jddƒ|j|jƒdjtƒWdQXtjtdƒ;}|j|j	djdƒ|j|j	djdƒWdQXdS(	NR)ufoo.txtsTest for unicode filenameuö.txtiR2sfoo.txti(
R+R,RR-R—RDREtunicodeR5tfilelist(R%tzf((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_unicode_filenames¯s#cCsÏtjjtƒr"tjtƒnd}d}y/tjtdƒ}|j||ƒWdQXWntk
r}|j	dƒnX|j
tjjtƒƒtjtdƒ }|j|j|ƒ|ƒWdQXdS(Nstestfile.txts#hello, world. this is some content.RŒs1Could not append data to a non-existent zip file.R2(
R«R¬texistsRRR+R,R-tIOErrortfailR?R5R6(R%RER¹R((s-/usr/local/lib/python2.7/test/test_zipfile.pyt(test_create_non_existent_file_for_append¹s
cCsSttdƒ}|jdƒWdQXytjtƒ}Wntjk
rNnXdS(NR)sthis is not a legal zip file
(R#RR$R+R,RÕ(R%R'R((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_close_erroneous_fileËscCsÚttdƒ}|jdƒWdQXtjtƒ}|j|ƒttdƒ$}tj|ƒ}|j|ƒWdQXtƒ}|jdƒtj|ƒ}|j|ƒ|jddƒtj|ƒ}|j|ƒdS(s;Check that is_zipfile() correctly identifies non-zip files.R)sthis is not a legal zip file
NRŽi(	R#RR$R+t
is_zipfiletassertFalseR?RR(R%R'tchk((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_is_zip_erroneous_fileÚs
	
cCs“tjƒ}tj|ddƒ}|jddƒWdQX|jƒ}xFtt|ƒƒD]2}tj|| ƒ}|jtj	tj|ƒqYWdS(sCCheck that zipfiles with missing bytes at the end raise BadZipFile.R£R)sfoo.txtsO, for a Muse of Fire!N(
RR‘R+R,R-R:RäR<R¥RÕ(R%R'RìR’tN((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_damaged_zipfileîscCsütjtddƒ}|jddƒWdQXtjtƒ}|j|ƒttdƒ?}tj|ƒ}|j|ƒ|jddƒ|jƒ}WdQXt	ƒ}|j
|ƒtj|ƒ}|j|ƒ|jddƒtj|ƒ}|j|ƒdS(s7Check that is_zipfile() correctly identifies zip files.R£R)sfoo.txtsO, for a Muse of Fire!NRŽi(R+R,RR-RR?R#RR6RR$(R%RìRR'tzip_contents((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_is_zip_valid_fileüs 

	

cCs|jttjtƒdS(N(R¥RR+R,R(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyt%test_non_existent_file_raises_IOErrorscCssttdƒ}WdQX|jtjtjtƒttdƒ}|jdƒWdQX|jtjtjtƒdS(NR)s
short file(R#RR¥R+RÕR,R$(R%R.R'((s-/usr/local/lib/python2.7/test/test_zipfile.pyt!test_empty_file_raises_BadZipFile sc	CsÎtƒ}tj|ddƒ}|jddƒWdQX|jt|jdƒ|jt|jdƒ|jt|jƒ|jt|jddƒtt	dƒ*}|j
dƒ|jt|j
t	ƒWdQXdS(	s?Verify that testzip() doesn't swallow inappropriate exceptions.R£R)sfoo.txtsO, for a Muse of Fire!Ns	bogus.txtR¤szipfile test data(RR+R,R-R¥R¦R6R#RHRR$(R%R"RìR›((s-/usr/local/lib/python2.7/test/test_zipfile.pyt#test_closed_zip_raises_RuntimeError)s	
cCs|jttjtdƒdS(s>Check that bad modes passed to ZipFile constructor are caught.tqN(R¥R¦R+R,R(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_bad_constructor_mode;sc
Csvtjtddƒ}|jddƒWdQXtjtddƒ-}|jdƒ|jt|jddƒWdQXdS(s7Check that bad modes passed to ZipFile.open are caught.R£R)sfoo.txtsO, for a Muse of Fire!NR2R%(R+R,RR-R6R¥R¦R#(R%Rì((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_bad_open_mode?s

cCstjtddƒu}|jddƒ|jdƒM}x-ttƒD]}|j|jdƒdƒqGW|j|jƒdƒWdQXWdQXdS(ssCheck that calling read(0) on a ZipExtFile object returns an empty
        string and doesn't advance file pointer.R£R)sfoo.txtsO, for a Muse of Fire!iRVN(	R+R,RR-R#RRR5R6(R%RìR.R&((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
test_read0Isc	Cs;tjtddƒ }|jt|jddƒWdQXdS(sqCheck that attempting to call open() for an item that doesn't
        exist in the archive raises a RuntimeError.R£R)sfoo.txtR2N(R+R,RR¥tKeyErrorR#(R%Rì((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_open_non_existent_itemUscCs |jttjtddƒdS(sMCheck that bad compression methods passed to ZipFile.open are
        caught.R)iÿÿÿÿN(R¥R¦R+R,R(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_bad_compression_mode[scCsDd}tjtj|ƒdƒ}|jt|jdƒWdQXdS(NsfPK.äC¡@xPK..äC¡@€xPK/!R2tx(R+R,RR‘R¥tNotImplementedErrorR#(R%R"Rì((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_unsupported_compression`scCsKtjtddƒ0}|jddƒ|j|jƒdgƒWdQXdS(sLCheck that a filename containing a null byte is properly
        terminated.R£R)sfoo.txtqqqsO, for a Muse of Fire!sfoo.txtN(R+R,RR-R5RC(R%Rì((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_null_byte_in_filenamekscCsP|jtjdƒ|jtjdƒ|jtjdƒ|jtjdƒdS(sACheck that ZIP internal structure sizes are calculated correctly.ii.i8iN(R5R+tsizeEndCentDirtsizeCentralDirtsizeEndCentDir64tsizeEndCentDir64Locator(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_struct_sizesrscCstjtddƒ*}|j|jdƒ|jddƒWdQXtjtddƒ}|j|jdƒWdQXd}tjtddƒ }||_|jddƒWdQXtjtddƒ}|j|j|ƒWdQXdjgtdƒD]}d|dd
^qóƒ}tjtddƒ }||_|jddƒWdQXtjtddƒ}|j|j|ƒWdQXtjtddƒ=}tdt	fƒ|d|_WdQX|jddƒWdQXtjtddƒ}|j|j|ƒWdQXdS(s8Check that comments on the archive are handled properly.R£R)RVsfoo.txtsO, for a Muse of Fire!NR2s9Bravely taking to his feet, he beat a very brave retreat.iis%dii
toopsiiÿÿ(
R+R,RR5R™R-R!RRRe(R%RìR™R&tcomment2((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
test_commentsys.	4	cCsltjtdtjƒ }|j|jƒd|_WdQXtjtdƒ}|j|jdƒWdQXdS(NRŒsthis is a commentR2(R+R,RRTRRR™R5(R%Rì((s-/usr/local/lib/python2.7/test/test_zipfile.pyt$test_change_comment_in_empty_archives
c	Cstjtdtjƒ}|jddƒWdQXtjtdtjƒ }|j|jƒd|_WdQXtjtdƒ}|j|jdƒWdQXdS(NR)sfoo.txtsO, for a Muse of Fire!RŒsthis is a commentR2(	R+R,RRTR-R?RR™R5(R%Rì((s-/usr/local/lib/python2.7/test/test_zipfile.pyt'test_change_comment_in_nonempty_archive¤scCsN|j|}tjtj|ƒddƒ}|jd|jƒƒWdQXdS(s>Tests that files with bad CRCs return their name from testzip.R£R2tafileN(tzips_with_bad_crcR+R,RR‘R5RH(R%R/tzipdataRì((s-/usr/local/lib/python2.7/test/test_zipfile.pytcheck_testzip_with_bad_crc­s
!cCs|jtjƒdS(N(R=R+RT(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyt test_testzip_with_bad_crc_storedµss
requires zlibcCs|jtjƒdS(N(R=R+R~(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyt"test_testzip_with_bad_crc_deflated¸scCs#|j|}tjtj|ƒddƒ }|jtj|jdƒWdQXtjtj|ƒddƒ8}|jddƒ}|jtj|jƒWdQXWdQXtjtj|ƒddƒZ}|jddƒ?}d|_	|jtjƒx|jdƒrqúWWdQXWdQXWdQXdS(sFTests that files with bad CRCs raise a BadZipfile exception when read.R£R2R:Ni(
R;R+R,RR‘R¥RÕR6R#t
MIN_READ_SIZE(R%R/R<Rìtcorrupt_file((s-/usr/local/lib/python2.7/test/test_zipfile.pytcheck_read_with_bad_crc¼s
!!"!	cCs|jtjƒdS(N(RBR+RT(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_with_bad_crc_storedÑscCs|jtjƒdS(N(RBR+R~(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_with_bad_crc_deflatedÔscCsŸx˜d	D]}|d}t|ƒ}tjtjƒd|ƒW}|jd|ƒ|jddƒ,}|j|ƒ}|jt	|ƒ|ƒWdQXWdQXqWdS(
Niiÿiii@R)RaR2(iiÿiii@(
RR+R,RR‘R-R#R6R5R<(R%R/t	test_sizeRFtjunkRìR'tbuf((s-/usr/local/lib/python2.7/test/test_zipfile.pytcheck_read_return_sizeØs

cCs|jtjƒdS(N(RHR+RT(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_return_size_storedäscCs|jtjƒdS(N(RHR+R~(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_return_size_deflatedçscCsÁtjtddƒ}WdQXy#tjtddƒ}|jƒWn!tjk
rd|jdƒnXtjtddƒ}WdQXy#tjtddƒ}|jƒWn|jdƒnXdS(NR£R)R2s+Unable to create empty ZIP file in 'w' modeRŒs+Unable to create empty ZIP file in 'a' mode(R+R,RRëRÕR(R%Rì((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_empty_zipfileëscCs8ttdƒ}WdQX|jtjtjtdƒdS(NR)R2(R#RR¥R+RÕR,(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_open_empty_fileþsc
Cs|jttjddƒdS(Nt	seventiesi»ii(i»iiiii(R¥RÙR+RÇ(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_create_zipinfo_before_1980s	cCsAd}tjtj|ƒdƒ}|j|jƒƒWdQXdS(s>If an extra field in the header is less than 4 bytes, skip it.snPK“›­@‹žÙÓabcAPK“›­@‹žÙÓ¤abcPK3%R2N(R+R,RR‘tassertIsNoneRH(R%R<Rì((s-/usr/local/lib/python2.7/test/test_zipfile.pyt#test_zipfile_with_short_extra_field
scCsttƒttƒdS(N(RRRS(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÛs
(*RÜRÝR+RTR~R;RRRRRR!R"R#R$R&R'R(R*R+R.R/R4R7R8R9R=R>RRÏR?RBRCRDRHRIRJRKRLRNRPRÛ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyR™sJ
	
	
											
							$													tDecryptionTestscBsfeZdZdZdZdZddZd„Zd„Zd„Z	d	„Z
eed
ƒd„ƒZ
RS(sCheck that ZIP decryption works. Since the library does not
    support encryption at the moment, we use a pre-generated encrypted
    ZIP file.s˜PKn’i.#yï?&test.txtú gly|ú-ÅÀ=ùyà¨r³Z}Lg¼®ù|›䋺»)Œ°ÛlPKn’i.#yï?& ¶test.txtPK6Ls°PK	Ï}38xuª²zeroUT	Ö‹’GÚ‹’GUxèèÇ<MµaÎX£Y&‹{oE׌˜ÀPKxuª²PK	Ï}38xuª²
¤zeroUTÖ‹’GUxPK?[szipfile.py encryption testsicCs~ttdƒ}|j|jƒWdQXtjtdƒ|_ttdƒ}|j|jƒWdQXtjtdƒ|_	dS(NRR2(
R#RR$R"R+R,RtRSRktzip2(R%R'((s-/usr/local/lib/python2.7/test/test_zipfile.pyR(8scCs8|jjƒtjtƒ|jjƒtjtƒdS(N(RtRëR«RRRRRS(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÛ@s


cCs6|jt|jjdƒ|jt|jjdƒdS(Nstest.txttzero(R¥R¦RtR6RR(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_no_passwordFscCsV|jjdƒ|jt|jjdƒ|jjdƒ|jt|jjdƒdS(Ntperlstest.txtRS(RttsetpasswordR¥R¦R6RR(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_bad_passwordLss
requires zlibcCsb|jjdƒ|j|jjdƒ|jƒ|jjdƒ|j|jjdƒ|jƒdS(Ntpythonstest.txtt12345RS(RtRVR5R6tplainRRtplain2(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_good_passwordRs(RÜRÝt__doc__R"RkRZR[R(RÛRTRWRRÏR\(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRQs	
				tTestsWithRandomBinaryFilescBs¡eZd„Zd„Zd„Zd„Zd„Zeedƒd„ƒZ	d„Z
d„Zeedƒd	„ƒZd
„Z
d„Zeedƒd„ƒZRS(
cCsntddƒdtddƒ}djd„t|ƒDƒƒ|_ttdƒ}|j|jƒWdQXdS(Nii@iiRVcss1|]'}tjdtƒtddƒƒVqdS(s<fiüÿÿièN(tstructtpackRR(RßR&((s-/usr/local/lib/python2.7/test/test_zipfile.pys	<genexpr>]sR(RR!RR"R#RR$(R%t	datacountR'((s-/usr/local/lib/python2.7/test/test_zipfile.pyR([s
 cCsttƒttƒdS(N(RRRS(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÛds
cCsBtj|d|ƒ'}|jtdƒ|jttƒWdQXdS(NR)sanother.name(R+R,R$R(R%R.R/R0((s-/usr/local/lib/python2.7/test/test_zipfile.pyR1hscCs|j||ƒtj|d|ƒd}|jtƒ}|jt|ƒt|jƒƒ|j||jƒ|j|jdƒ|jƒWdQXdS(NR2sanother.name(R1R+R,R6RR5R<R"(R%R.R/R0ttestdata((s-/usr/local/lib/python2.7/test/test_zipfile.pyRRnscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRRR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyRUxss
requires zlibcCs:x3ttƒtjƒfD]}|j|tjƒqWdS(N(RSRRR‘RRR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR|scCsV|j||ƒtj|d|ƒ+}g}|jtƒ:}x0trr|jdƒ}|sbPn|j|ƒqCWWdQXg}|jdƒ:}x0trÃ|jdƒ}|s³Pn|j|ƒq”WWdQXdj|ƒ}	|j	t
|	ƒt
|jƒƒ|j	|	|jƒdj|ƒ}
|j	t
|
ƒt
|jƒƒ|j	|
|jƒWdQXdS(NR2isanother.nameRV(R1R+R,R#RRWR6RXR!R5R<R"(R%R.R/R0RYRZR[R\R]t	testdata1t	testdata2((s-/usr/local/lib/python2.7/test/test_zipfile.pyR^s,		cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRR^R+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR_žscCs:x3ttƒtjƒfD]}|j|tjƒqWdS(N(RSRRR‘R^R+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR€¢scCsÍ|j||ƒtj|d|ƒ¢}g}|jtƒC}x9tr{|jtddƒƒ}|skPn|j|ƒqCWWdQXdj	|ƒ}|j
t|ƒt|jƒƒ|j
||jƒWdQXdS(NR2iiRV(
R1R+R,R#RRWR6RRXR!R5R<R"(R%R.R/R0RYRZR[Rb((s-/usr/local/lib/python2.7/test/test_zipfile.pyRg§s	cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRgR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyRh¸scCs:x3ttƒtjƒfD]}|j|tjƒqWdS(N(RSRRR‘RgR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR¼s(RÜRÝR(RÛR1RRRURRÏRR^R_R€RgRhR(((s-/usr/local/lib/python2.7/test/test_zipfile.pyR^Zs					
					s
requires zlibtTestsWithMultipleOpenscBsheZed„ƒZd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„ZRS(
cCs*dtdƒ|_dtdƒ|_dS(Nt111i't222(Rtdata1Rk(tcls((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
setUpClassÄscCsKtj|dtjƒ-}|jd|jƒ|jd|jƒWdQXdS(NR)tonesttwos(R+R,R~R-RhRk(R%R.R0((s-/usr/local/lib/python2.7/test/test_zipfile.pyR1ÉscCsÀ|jtƒtjtddƒ˜}|jdƒ]}|jdƒE}|jdƒ}|jdƒ}||jƒ7}||jƒ7}WdQXWdQX|j||ƒ|j||jƒWdQXdS(NR£R2Rkiô(R1RSR+R,R#R6R5Rh(R%Rìtzopen1tzopen2RhRk((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_same_fileÏs
cCsÃ|jtƒtjtddƒ›}|jdƒ]}|jdƒE}|jdƒ}|jdƒ}||jƒ7}||jƒ7}WdQXWdQX|j||jƒ|j||jƒWdQXdS(NR£R2RkRliô(	R1RSR+R,R#R6R5RhRk(R%RìRmRnRhRk((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_different_fileÜs
cCsÃ|jtƒtjtddƒ›}|jdƒ]}|jdƒ}|jdƒ6}|jdƒ}||jƒ7}||jƒ7}WdQXWdQX|j||jƒ|j||jƒWdQXdS(NR£R2RkiôRl(	R1RSR+R,R#R6R5RhRk(R%RìRmRhRnRk((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_interleavedés
cCsæ|jtƒd}}z{tjtdƒ%}|jdƒ}|jdƒ}WdQX|jdƒ}|jdƒ}||jƒ7}||jƒ7}Wd|r¨|jƒn|r»|jƒnX|j||j	ƒ|j||j
ƒdS(NR2RkRliô(R1RSRÓR+R,R#R6RëR5RhRk(R%RmRnRìRhRk((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_after_close÷s 


c
CsètjtdtjƒT}|jd|jƒ|jd|jƒ|jdƒ}|jdƒ}WdQXWdQX|j	||jd ƒtjtdƒ%}|jdƒ}|jdƒ}WdQX|j	||jƒ|j	||jƒdS(NR)RkRliôR2(
R+R,RSR~R-RhRkR#R6R5(R%RìRmRhRk((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_after_write
scCsÏtjtdtjƒR}|jd|jƒ|jdƒ'}|jdƒ|jd|jƒWdQXWdQXtjtdƒ%}|jdƒ}|jdƒ}WdQX|j	||jƒ|j	||jƒdS(NR)RkiôRlR2(
R+R,RSR~R-RhR#R6RkR5(R%RìRmRhRk((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_after_reads
c
Cs™|jtƒtjtddƒC}x9tdƒD]+}|jdƒ|jdƒ}WdQXq2WWdQXttjƒ}|j	|j
ƒdƒWdQXdS(NR£R2idRk(R1RSR+R,RäR6R#R«tdevnullt
assertLesstfileno(R%RìR,RmR.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_many_opens#s

cCsttƒdS(N(RRS(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÛ/s(
RÜRÝtclassmethodRjR1RoRpRqRrRsRtRxRÛ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyReÂs		
	
			
		tTestWithDirectorycBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCstjtƒdS(N(R«R
RS(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyR(4scCs°tjtdƒƒ}|jtƒWdQX|jtjjtjj	tdƒƒƒ|jtjjtjj	tddƒƒƒ|jtjj
tjj	tdddƒƒƒdS(Ns
zipdir.zipRŒtbR(R+R,RRµRSR?R«R¬tisdirR!R(R%Rì((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_extract_dir7s
(+cCs*tjtjjtdƒƒ|jƒdS(NRŒ(R«R
R¬R!RSR}(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
test_bug_6050>sc
Csýtjjtdƒ}tj|ƒtj|ƒjd@}tjt	dƒ }|j
|ƒ|jd}|j|j
jdƒƒ|j|j|d>dBƒ|j
|dƒ|jd}|j|j
d	ƒ|j|j|d>dBƒWdQXtjt	d
ƒù}|jd}|j|j
jdƒƒ|j|j|d>dBƒ|jd}|j|j
d	ƒ|j|j|d>dBƒtjjtdƒ}tj|ƒ|j|ƒ|jtjjtjj|dƒƒƒ|jttj|ƒƒdƒWdQXdS(
NR,iÿÿR)is/x/ityisy/R2RÀi(R«R¬R!RSR
tstattst_modeR+R,RR$RR?RERR5RÈRµR|R<tlistdir(R%tdirpathR£RìRÌRÀ((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_dirCs0



!



(c
CsEtjtjjtdƒƒtjtdƒJ}|jddƒ|j	d}|j
|jdƒ|j
|jdƒWdQXtjtdƒ³}|j	d}|j
|jjdƒƒ|j
|jd
ƒtjjtd	ƒ}tj|ƒ|j|ƒ|j
tjjtjj|dƒƒƒ|j
tj|ƒdgƒWdQXdS(NR,R)sx/RViiýAiR2RÀiýAiýAiýAiýA(R«R
R¬R!RSR+R,RR-RR5RERÈR?RRµR|R‚(R%RìRÌRÀ((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_writestr_dir]s



(cCs-ttƒtjjtƒr)ttƒndS(N(R
RSR«R¬RRR(R%((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÛns
(RÜRÝR(R}R~R„R…RÛ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRz3s					tUniversalNewlineTestscBsõeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
eedƒd
„ƒZeedƒd„ƒZeedƒd„ƒZeedƒd„ƒZeedƒd„ƒZd„ZRS(cCsÍgttƒD]}d|^q
|_d|_ii|_|_x„t|jƒD]s\}}|j|jƒ||j|<dt|f|j|<t	|j|dƒ}|j
|j|ƒWdQXqRWdS(NsTest of zipfile line %d.s
s
s
s%s-%dR(s
s
s
(RRR tsepstarcdatatarcfilest	enumerateR!RR#R$(R%R&tntsR›((s-/usr/local/lib/python2.7/test/test_zipfile.pyR(us#	cCsLtj|d|ƒ1}x'|jjƒD]}|j||ƒq(WWdQXdS(NR)(R+R,R‰tvaluesR$(R%R.R/R0RK((s-/usr/local/lib/python2.7/test/test_zipfile.pyR1€sc
Cs|j||ƒtj|dƒe}x[|jjƒD]J\}}|j|dƒ}|jƒ}WdQX|j|j||ƒq5WWdQXdS(NR2Ri(	R1R+R,R‰titemsR#R6R5Rˆ(R%R.R/R0RÄRKR'R<((s-/usr/local/lib/python2.7/test/test_zipfile.pyt	read_test†sc	CsØ|j||ƒtj|dƒ}x¥|jjƒD]”\}}|j|dƒ]}d}xMtr¨|jƒ}|sxPn||7}|jdƒ}|s›Pn||7}q\WWdQX|j	||j
dƒq2W|jƒdS(NR2RiRVis
(R1R+R,R‰RŽR#RWRoR6R5RˆRë(	R%R.R/R0RÄRKRlR"R6((s-/usr/local/lib/python2.7/test/test_zipfile.pytreadline_read_tests 	
c	Csž|j||ƒtj|dƒv}xl|jjƒD][\}}|j|dƒ;}x1|jD]&}|jƒ}|j||dƒq`WWdQXq5WWdQXdS(NR2Ris
(	R1R+R,R‰RŽR#R RoR5(	R%R.R/R0RÄRKRlRmRq((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
readline_test§sc
Cs­|j||ƒtj|dƒ…}x{|jjƒD]j\}}|j|dƒ}|jƒ}WdQXx4t|j|ƒD] \}}	|j	|	|dƒq{Wq5WWdQXdS(NR2Ris
(
R1R+R,R‰RŽR#RsRtR R5(
R%R.R/R0RÄRKR'RvRmRw((s-/usr/local/lib/python2.7/test/test_zipfile.pytreadlines_test²sc	Cs¡|j||ƒtj|dƒy}xo|jjƒD]^\}}|j|dƒ>}x4t|j|ƒD] \}}|j||dƒqiWWdQXq5WWdQXdS(NR2Ris
(	R1R+R,R‰RŽR#RtR R5(	R%R.R/R0RÄRKR›RmRw((s-/usr/local/lib/python2.7/test/test_zipfile.pytiterlines_test½scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_storedÇscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRR+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyRzËscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRR‘R+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR{ÐscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRR’R+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR|ÔscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRR“R+RT(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR}Øss
requires zlibcCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_deflatedÜscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRRR+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR‚áscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRR‘R+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyRƒçscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRR’R+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR„ìscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RSRRR“R+R~(R%R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyR…ñscCsEx*|jjƒD]\}}tj|ƒqWttƒttƒdS(N(R‰RŽR«R¯RRRS(R%RÄRK((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÛös
(RÜRÝR(R1RRR‘R’R“R”RzR{R|R}RRÏR•R‚RƒR„R…RÛ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyR†ts$			
				
					tCommandLineTestcBsMeZd„Zd„Zd„Zd„Zeedƒd„ƒZd„Z	RS(cOs:tjdd||Ž\}}}|jtjjƒdƒS(Ns-mR+s
(Rtassert_python_okRjR«tlinesepRÆ(R%targstkwargstrctoutterr((s-/usr/local/lib/python2.7/test/test_zipfile.pyt
zipfilecmdÿscGstjdd|ŒS(Ns-mR+(Rtassert_python_failure(R%R™((s-/usr/local/lib/python2.7/test/test_zipfile.pytzipfilecmd_failurescCsotdƒ}|jd|ƒ}|j|jƒdƒtdƒ}|jd|ƒ\}}}|j|dƒdS(Ns
zipdir.zips-tsDone testingstesttar.tarRV(RRžR5trstripR (R%tzip_nameRœR›R((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_test_commandsc	Cs‡tdƒ}tƒ,}tj|dƒ}|jƒWdQXWdQX|jƒjddƒ}|jd|ddƒ}|j||ƒdS(Ns
zipdir.zipR2tasciitbackslashreplaces-ltPYTHONIOENCODINGsascii:backslashreplace(	RRR+R,R9R:RÆRžR5(R%R¢ttttftexpectedRœ((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_list_commands	s
requires zlibc
CsL|jttƒttdƒ}|jdƒWdQXtjtƒ|jttƒttj	j
tdƒdƒ}|jdƒWdQXttg}ttdtdg}z‘|jdt|Œ}|j
|dƒtjtƒW}|j
|jƒ|ƒ|j
|j|d	ƒdƒ|j
|j|d
ƒdƒWdQXWdttƒXdS(NR)stest 1sfile.txtstest 2R¿s	/file.txts-cRVii(t
addCleanupRRR#R$R«R
t	TESTFNDIRR
R¬R!RžRSR5R+R,RCR6(R%R.tfilesRCRœR((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_create_commands"
!'c
Cs.tdƒ}t}tj|ƒzý|jd||ƒ}|j|dƒtj|ƒÃ}x¹|jƒD]«}tj	j
||jjdtj
ƒƒ}|jjdƒrÁ|jtj	j|ƒƒqf|jtj	j|ƒƒt|dƒ&}|j|jƒ|j|ƒƒWdQXqfWWdQXWdt|ƒXdS(Ns
zipdir.zips-eRVR¿RŽ(RR¬R«R
RžR5R+R,RDR¬R!RERjRÄRR?R|R¸R#R6R
(R%R¢textdirRœRtziR¬R.((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_extract_command-s 
3(
RÜRÝRžR R£RªRRÏR®R±(((s-/usr/local/lib/python2.7/test/test_zipfile.pyR–ýs					cCs)tttttttttt	t
ƒ
dS(N(R
RRÞRRöRQReRzR†R^R–(((s-/usr/local/lib/python2.7/test/test_zipfile.pyt	test_mainAs	t__main__(2RÏtImportErrorRÓR«RR7R@R_R+tunittestRttempfileRRRRRttestRttest.test_supportRRR	R
RRR
RRRÆtUnicodeErrort	TypeErrorRSR¬RR©RtTestCaseRRÞRöRRQR^ReRzR†R–R²RÜ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyt<module>sZ

@


				ÿÿ`»Uÿ†<hpA‰D	

Zerion Mini Shell 1.0