ó {G_Tc@s†yddlZWnek r)eZnXddlZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z ddl mZm Z ddl mZddlmZmZmZmZmZmZmZmZyejeƒWneefk r.eZnXedZedZd Zd d fd d fddfddfgZde j fd„ƒYZ!de j fd„ƒYZ"de j fd„ƒYZ#de j fd„ƒYZ$de j fd„ƒYZ%de j fd„ƒYZ&eedƒde j fd „ƒYƒZ'd!e j fd"„ƒYZ(d#e j fd$„ƒYZ)d%„Z*e+d&kr‚e*ƒndS('iÿÿÿÿN(tStringIO(t TemporaryFile(trandinttrandom(t skipUnless(tTESTFNtTESTFN_UNICODEtTESTFN_ENCODINGt run_unittesttfindfiletunlinktrmtreetcheck_warningst2tdièt _ziptest1t 1q2w3e4r5tsziptest2dir/_ziptest2t qawsedrftgs!ziptest2dir/ziptest3dir/_ziptest3t azsxdcfvgbs-ziptest2dir/ziptest3dir/ziptest4dir/_ziptest3t 6y7u8i9o0ptTestsWithSourceFilecBs<eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „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#eedƒd!„ƒZ$d"„Z%d#„Z&d$„Z'd%„Z(ee)d&ƒd'„ƒZ*d(„Z+d)„Z,d*„Z-d+„Z.d,„Z/d-„Z0d.„Z1d/„Z2RS(0cCstgttƒ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(tzipfiletZipFileRRtwritestrR(Rtft compressiontzipfp((s-/usr/local/lib/python2.7/test/test_zipfile.pytmake_test_archive1sc 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(R)R#R$t assertEqualtreadRRRtsyststdouttprintdirtgetvaluet splitlinestlentassertIntsplitt assertTruettimetstrptimetstrtnamelisttinfolisttfilenamet file_sizetgetinfottestzip(RR&R'R(RR0t directorytlinestfntdatettime_tsizetnamestinfosRtnmtinfo((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_test8sP           cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(tTESTFN2RRRKR#t ZIP_STORED(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyt test_storedrsc Cs |j||ƒtj|d|ƒá}g}|jtƒ:}x0trr|jdƒ}|sbPn|j|ƒqCWWdQXg}|jdƒ:}x0trÃ|jdƒ}|s³Pn|j|ƒq”WWdQX|jdj |ƒ|j ƒ|jdj |ƒ|j ƒWdQXdS(NR*is another.namet( R)R#R$RRtTrueR.tappendR-RR( RR&R'R(tzipdata1tzipopen1t read_datatzipdata2tzipopen2((s-/usr/local/lib/python2.7/test/test_zipfile.pyt zip_open_testvs$  cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRWR#RM(RR&((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!tnametfooROtbariR*tfoobartbarfoo( R#R$RLRMR%R t UserWarningR-R;R<RR.R7(RR(RHRRJR&((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(NR*iiRO( R)R#R$RRRPR.RRQR-RR(RR&R'R(RRRSRT((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_random_open_test¦s cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRR`R#RM(RR&((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!ROR*trUs s ( RR#R$RMR%RRR-treplace(RR&RR(tdata2tzipopentline((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_univeral_readaheads¹s  c Cs°|j||ƒtj|dƒu}|jtƒ]}d}xMtrŒ|jƒ}|s\Pn||7}|jdƒ}|sPn||7}q@WWdQXWdQX|j||j ƒdS(NR*ROid( R)R#R$RRRPtreadlineR.R-R(RR&R'R(ReRR.((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(NR*s (R)R#R$RRRRhR-(RR&R'R(ReRftlinedata((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(NR*s ( R)R#R$RRt readlinestzipRR-(RR&R'R(tzotziplinesRftzipline((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(NR*s (R)R#R$RmRRRR-(RR&R'R(RfRp((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_iterlines_testðs(cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRiR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readline_read_storedøscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRkR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readline_storedýscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRqR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readlines_storedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRrR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_iterlines_storedss requires zlibcCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRKR#t ZIP_DEFLATED(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyt test_deflated scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRWR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_open_deflatedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRR`R#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_random_open_deflatedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRiR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readline_read_deflatedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRkR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readline_deflatedscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRqR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_readlines_deflated#scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRrR#Rw(RR&((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"t12NR*it1R (R#R$RLRwR%RR-R.(RR(topenobj((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_low_compression-s cCsotjtdtjƒ}|jtdƒWdQXtjtdtjƒ }|j|jƒdgƒWdQXdS(NR!s /absoluteR*tabsolute(R#R$RLRMRRR-R;(RR(((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$RLRMRRR%RR-R;(RR(((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_append_to_zip_fileAs c CsÃdd}ttdƒ}|j|ƒWdQXtjtdtjƒ}|jttƒWdQXttdƒN}|jt|ƒƒtj|dƒ }|j |j ƒtgƒWdQXWdQXdS(s9Test appending to an existing file that is not a zipfile.sI am not a ZipFile!i RNR…trbR*( RRLRR#R$RMRtseekR4R-R;(RRR&R(((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_append_to_non_zip_fileJs c Csˆtjtdtjƒ}|jttƒWdQXttdƒ}|jdƒWdQXtjtdƒ}|j|tjƒWdQXdS(NR!R…s R*(R#R$RLRMRRRtassertIsInstance(RR(R&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_ignores_newline_at_endZs c Cs¤tjtdtjƒ }d|_|jttƒWdQXttdƒ}|jdƒWdQXtjtdƒ-}|j|tjƒ|j |jdƒWdQXdS(NR!sthis is a commentR…sabcdef R*( R#R$RLRMtcommentRRRRŠR-(RR(R&((s-/usr/local/lib/python2.7/test/test_zipfile.pyt)test_ignores_stuff_appended_past_commentsbs c CsctjtdƒK}|jtƒttdƒ&}|j|jtƒ|jƒƒWdQXWdQXdS(s`Check that calling ZipFile.write without arcname specified produces the expected result.R!R*N(R#R$RLRRRR-R.(RR(tfid((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_default_namels 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$RLRRRMRwR?R-t compress_type(RR(tsinfotdinfo((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_per_file_compressiontsc Csftjtddƒ}|jddƒWdQXtjtddƒ}|jt|jtƒWdQXdS(s]Check that trying to call write() on a readonly ZipFile object raises a RuntimeError.tmodeR!s somefile.txttbogusNR*(R#R$RLR%t assertRaisest RuntimeErrorRR(RR(((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!R*R‡t ziptest2dir(R#R$RLRMtSMALL_TEST_DATAR%textracttostpathRtgetcwdtnormpathR-RR.tremoveR (RR(tfpathtfdatat writtenfilet correctfileRŽ((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!R*R‡R›(R#R$RLRMRœR%t extractallRžRŸRR RR-R.R¢R (RR(R£R¤toutfileRŽ((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_extract_all s cCsK|jtjj|ƒƒt|dƒ}|j|jƒ|ƒWdQXdS(NR‡(R7RžRŸtisfileRR-R.(RR=tcontentR&((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!R*(RžRŸtbasenameRR#R$RLRMR%RRR R¡R-R­R¢(RtfnamesR¬R(tfnameR¥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/bars C://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\ce|f"g?h*isb/c_d_e_f_g_h_is../../foo../../ba..rs foo/ba..rs //foo/bars foo../ba..rs foo/..\barR\R!i€it/ttargettsubdirtsubsubR*tmsgs 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(s C://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\ce|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..rs foo../ba..r(s foo/..\bars foo/..\bari€(RžRŸtseptextendtencodeR#R$RLRMtZipInfoR=t external_attrR%RcRR6RR-R­R R¨R R¢( Rt hacknamestarcnamet fixednameR¬R(tzinfot 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.txts hello worldR’sb.txt( R#R$RLR%RMtzlibRwR?R-R’(RR(RJ((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_writestr_compressionscCsQ|j||ƒtj|dƒ)}|jdƒ}|j|jdƒWdQXdS(NR*R"i€ii€(R)R#R$R?R-R»(RR&R'R(R¿((s-/usr/local/lib/python2.7/test/test_zipfile.pytzip_test_writestr_permissions)scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRÄR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_writestr_permissions2scCsÅ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 closedR*(R#R$RLRœR%R7RtNone(RR(R£R¤((s-/usr/local/lib/python2.7/test/test_zipfile.pyt test_close6s#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!NR*szipfp is not closed( R#R$RLRœR%t BadZipfileR7RRÆ(RR(R£R¤tzipfp2((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_close_on_exceptionBscCsEtjtdƒtjtdƒ}|jt|jtƒWdQXdS(NiR!(ii( RžtutimeRR#R$RLR˜t ValueErrorR(RR(((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_add_file_before_1980OscCsttƒttƒdS(N(R RRL(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyttearDownUs (3t__name__t __module__R R)RKRNRWRXR_R`RaRgRiRkRqRrRsRtRuRvRRÂRxRyRzR{R|R}R~R‚R„R†R‰R‹RRR•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   tTestZip64InSmallFilescBsheZd„Zd„Zd„Zd„Zd„Zd„Zee dƒd„ƒZ d„Z d „Z RS( cCsltj|_dt_d„tdtƒDƒ}dj|ƒ|_ttdƒ}|j |jƒWdQXdS(Nicss|]}d|VqdS(sTest of zipfile line %d.N((t.0R((s-/usr/local/lib/python2.7/test/test_zipfile.pys bsis R( R#t ZIP64_LIMITt_limittrangeRRRRRR(RRR((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 LargeZipFileRR(RR&R'R(((s-/usr/local/lib/python2.7/test/test_zipfile.pytlarge_file_exception_testjs c CsAtj|d|ƒ&}|jtj|jd|jƒWdQXdS(NR!s another.name(R#R$R˜RÖR%R(RR&R'R(((s-/usr/local/lib/python2.7/test/test_zipfile.pytlarge_file_exception_test2os cCsJxCttƒtƒfD],}|j|tjƒ|j|tjƒqWdS(N(RLRRR×R#RMRØ(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_large_file_exceptiontsc 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ƒ|d jƒ\}} } } |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"R*is File NameiR+R,is%Y-%m-%ds%H:%M:%Si(R#R$RPRRR%RR-R.RR/R0R1R2R3R4R5R6R7R8R9R:R;R<R=R>R?R@(RR&R'R(RR0RARBRCRDRERFRGRHRRIRJ((s-/usr/local/lib/python2.7/test/test_zipfile.pyRKysV           cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRKR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRN·ss requires zlibcCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRKR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRx»scCsutjtdtjdtƒ}|jtdƒWdQXtjtdtjƒ }|j|jƒdgƒWdQXdS(NR!RÚs /absoluteR*Rƒ( R#R$RLRMRPRRR-R;(RR(((s-/usr/local/lib/python2.7/test/test_zipfile.pyR„Às  cCs$|jt_ttƒttƒdS(N(RÔR#RÓR RRL(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÎÈs  ( RÏRÐR R×RØRÙRKRNRRÂRxR„RÎ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÑZs    >  tPyZipFileTestscBs,eZd„Zd„Zd„Zd„ZRS(c Csptjtƒdƒ }t}|jdƒs<|jdƒrI|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 ƒkpb|d|j ƒkƒWdQXdS( NR!s.pycs.pyoiÿÿÿÿtotct testpackages%s/%s(s.pycs.pyo( R#t PyZipFileRt__file__tendswithtwritepyRžRŸR®t assertNotInR;R7(RR(RCtbn((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_pyfileÏs$   cCsšddl}tjj|jƒ}tjtƒdƒ^}|j|ƒ|j ƒ}|j d|kpmd|kƒ|j d|kpŒd|kƒWdQXdS(NiÿÿÿÿR!semail/__init__.pyosemail/__init__.pycsemail/mime/text.pyosemail/mime/text.pyc( temailRžRŸtdirnameRàR#RßRRâR;R7(RRæt packagedirR(RG((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_python_packageès    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žtmkdirRLRRŸRRR#RßRRâR;R7RãR (RRR(RG((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_python_directory÷s !!!  c CsjtjtƒdƒO}ttdƒ}|jdƒWdQX|jt|jtƒt j tƒWdQXdS(NR!s!most definitely not a python file( R#RßRRRRR˜R™RâRžR¢(RR(RŽ((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_write_non_pyfiles (RÏRÐRåRéRëRì(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÛÎs   t OtherTestscBseZidej6dej6Zd„Zd„Zd„Zd„Z d„Z d„Z d„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ö.txtiR*sfoo.txti( R#R$RR%RŠR<R=tunicodeR-tfilelist(Rtzf((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.R*( RžRŸtexistsRR R#R$R%tIOErrortfailR7R-R.(RR=R¬Rð((s-/usr/local/lib/python2.7/test/test_zipfile.pyt(test_create_non_existent_file_for_append6s cCsSttdƒ}|jdƒWdQXytjtƒ}Wntjk rNnXdS(NR!sthis is not a legal zip file (RRRR#R$RÈ(RRRð((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_close_erroneous_fileHs 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( RRRR#t is_zipfilet assertFalseR7RRˆ(RRtchk((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_is_zip_erroneous_fileWs   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( tiotBytesIOR#R$R%R2RÕR4R˜RÈ(RRtzipft zipfiledatatN((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_damaged_zipfileks  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%R÷R7RRˆR.RR(RRýRùRt zip_contents((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_is_zip_valid_fileys      cCs|jttjtƒdS(N(R˜RóR#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(RRR˜R#RÈR$R(RR&R((s-/usr/local/lib/python2.7/test/test_zipfile.pyt!test_empty_file_raises_BadZipFiles 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™R.RR@RR(RRRý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!NR*R(R#R$RR%R.R˜R™R(RRý((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!iRON( R#R$RR%RRRR-R.(RRýR&R((s-/usr/local/lib/python2.7/test/test_zipfile.pyt test_read0Æs 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.txtR*N(R#R$RR˜tKeyErrorR(RRý((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_open_non_existent_itemÒscCs |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/!R*tx(R#R$RûRüR˜tNotImplementedErrorR(RRRý((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!s foo.txtqqqsO, for a Muse of Fire!sfoo.txtN(R#R$RR%R-R;(RRý((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_null_byte_in_filenameèscCsP|jtjdƒ|jtjdƒ|jtjdƒ|jtjdƒdS(sACheck that ZIP internal structure sizes are calculated correctly.ii.i8iN(R-R#tsizeEndCentDirtsizeCentralDirtsizeEndCentDir64tsizeEndCentDir64Locator(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_struct_sizesïscCstjtddƒ*}|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!ROsfoo.txtsO, for a Muse of Fire!NR*s9Bravely taking to his feet, he beat a very brave retreat.iis%dii toopsiiÿÿ( R#R$RR-RŒR%RRR R^(RRýRŒRtcomment2((s-/usr/local/lib/python2.7/test/test_zipfile.pyt test_commentsös. 4 cCsltjtdtjƒ }|j|jƒd|_WdQXtjtdƒ}|j|jdƒWdQXdS(NR…sthis is a commentR*(R#R$RRMRøRïRŒR-(RRý((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 commentR*( R#R$RRMR%R7RïRŒR-(RRý((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–R*tafileN(tzips_with_bad_crcR#R$RûRüR-R@(RR'tzipdataRý((s-/usr/local/lib/python2.7/test/test_zipfile.pytcheck_testzip_with_bad_crc*s !cCs|jtjƒdS(N(RR#RM(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyt test_testzip_with_bad_crc_stored2ss requires zlibcCs|jtjƒdS(N(RR#Rw(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyt"test_testzip_with_bad_crc_deflated5scCs#|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–R*RNi( RR#R$RûRüR˜RÈR.Rt MIN_READ_SIZE(RR'RRýt corrupt_file((s-/usr/local/lib/python2.7/test/test_zipfile.pytcheck_read_with_bad_crc9s !!"! cCs|jtjƒdS(N(R#R#RM(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_with_bad_crc_storedNscCs|jtjƒdS(N(R#R#Rw(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_with_bad_crc_deflatedQsc Cs²x«d D]£}|d}djd„t|ƒDƒƒ}tjtjƒd|ƒW}|jd |ƒ|jd d ƒ,}|j|ƒ}|j t |ƒ|ƒWdQXWdQXqWdS( Niiÿiii@ROcss*|] }tjdtddƒƒVqdS(tBiiÿN(tstructtpackR(RÒR ((s-/usr/local/lib/python2.7/test/test_zipfile.pys ZsR!RZR*(iiÿiii@( RRÕR#R$RûRüR%RR.R-R4(RR't test_sizeR>tjunkRýRtbuf((s-/usr/local/lib/python2.7/test/test_zipfile.pytcheck_read_return_sizeUs   cCs|jtjƒdS(N(R,R#RM(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_return_size_storedbscCs|jtjƒdS(N(R,R#Rw(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_return_size_deflatedescCsÁtjtddƒ}WdQXy#tjtddƒ}|jƒWn!tjk rd|jdƒnXtjtddƒ}WdQXy#tjtddƒ}|jƒWn|jdƒnXdS(NR–R!R*s+Unable to create empty ZIP file in 'w' modeR…s+Unable to create empty ZIP file in 'a' mode(R#R$RtcloseRÈRô(RRý((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_empty_zipfileiscCs8ttdƒ}WdQX|jtjtjtdƒdS(NR!R*(RRR˜R#RÈR$(RR&((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_1980„s cCsAd}tjtj|ƒdƒ}|j|jƒƒWdQXdS(s>If an extra field in the header is less than 4 bytes, skip it.snPK“›­@‹žÙÓabcAPK“›­@‹žÙÓ¤abcPK3%R*N(R#R$RûRüt assertIsNoneR@(RRRý((s-/usr/local/lib/python2.7/test/test_zipfile.pyt#test_zipfile_with_short_extra_fieldˆscCsttƒttƒdS(N(R RRL(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyRΗs (*RÏRÐR#RMRwRRñRõRöRúRRRRRRRR R R RRRRRRRRRRÂR R#R$R%R,R-R.R0R1R3R5RÎ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRísJ             $          tDecryptionTestscBsfeZdZdZdZdZddZd„Zd„Zd„Z d „Z e e 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èèÇÛsR(RRRRRRR(Rt datacountR((s-/usr/local/lib/python2.7/test/test_zipfile.pyR Ùs   cCsttƒttƒdS(N(R RRL(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÎâs cCsBtj|d|ƒ'}|jtdƒ|jttƒWdQXdS(NR!s another.name(R#R$RR(RR&R'R(((s-/usr/local/lib/python2.7/test/test_zipfile.pyR)æscCs|j||ƒtj|d|ƒd}|jtƒ}|jt|ƒt|jƒƒ|j||jƒ|j|jdƒ|jƒWdQXdS(NR*s another.name(R)R#R$R.RR-R4R(RR&R'R(ttestdata((s-/usr/local/lib/python2.7/test/test_zipfile.pyRKìs cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRKR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRNöss requires zlibcCs:x3ttƒtjƒfD]}|j|tjƒqWdS(N(RLRRûRüRKR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRxúsc CsV|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(NR*is another.nameRO( R)R#R$RRRPR.RQRR-R4R( RR&R'R(RRRSRTRURVt testdata1t testdata2((s-/usr/local/lib/python2.7/test/test_zipfile.pyRWÿs,  cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRWR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRXscCs:x3ttƒtjƒfD]}|j|tjƒqWdS(N(RLRRûRüRWR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRy sc CsÍ|j||ƒtj|d|ƒ¢}g}|jtƒC}x9tr{|jtddƒƒ}|skPn|j|ƒqCWWdQXdj |ƒ}|j t |ƒt |j ƒƒ|j ||j ƒWdQXdS(NR*iiRO( R)R#R$RRRPR.RRQRR-R4R(RR&R'R(RRRSRTRF((s-/usr/local/lib/python2.7/test/test_zipfile.pyR`%s cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRR`R#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRa6scCs:x3ttƒtjƒfD]}|j|tjƒqWdS(N(RLRRûRüR`R#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRz:s(RÏRÐR RÎR)RKRNRRÂRxRWRXRyR`RaRz(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRDØs       s requires zlibtTestsWithMultipleOpenscBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsMtjtdtjƒ/}|jddtƒ|jddtƒWdQXdS(NR!tonesR€ttwosR (R#R$RLRwR%R(RR(((s-/usr/local/lib/python2.7/test/test_zipfile.pyR BscCs¦tjtddƒ‹}|jdƒc}|jdƒK}|jdƒ}|jdƒ}||jdƒ7}||jdƒ7}WdQXWdQX|j||ƒWdQXdS(NR–R*RJiô(R#R$RLRR.R-(RRýtzopen1tzopen2tdata1Rd((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_same_fileHscCs¾tjtddƒ£}|jdƒc}|jdƒK}|jdƒ}|jdƒ}||jdƒ7}||jdƒ7}WdQXWdQX|j|dtƒ|j|dtƒWdQXdS(NR–R*RJRKiôR€R (R#R$RLRR.R-R(RRýRLRMRNRd((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_different_fileSscCs¾tjtddƒ£}|jdƒc}|jdƒK}|jdƒ}|jdƒ}||jdƒ7}||jdƒ7}WdQXWdQX|j|dtƒ|j|dtƒWdQXdS(NR–R*RJRKiôR€R (R#R$RLRR.R-R(RRýRLRMRNRd((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_interleaved_sc CsŒtjtddƒC}x9tdƒD]+}|jdƒ|jdƒ}WdQXq%WWdQXttjƒ}|j|j ƒdƒWdQXdS(NR–R*idRJ( R#R$RLRÕR.RRžtdevnullt assertLesstfileno(RRýR RLR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_many_opensks cCsttƒdS(N(R RL(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÎvs(RÏRÐR RORPRQRURÎ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRI@s   tTestWithDirectorycBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCstjtƒdS(N(RžRêRL(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyR {scCs°tjtdƒƒ}|jtƒWdQX|jtjjtjj tdƒƒƒ|jtjjtjj tddƒƒƒ|jtjj tjj tdddƒƒƒdS(Ns zipdir.zipR…tbRÝ( R#R$R R¨RLR7RžRŸtisdirRRò(RRý((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_extract_dir~s (+cCs*tjtjjtdƒƒ|jƒdS(NR…(RžRêRŸRRLRY(R((s-/usr/local/lib/python2.7/test/test_zipfile.pyt test_bug_6050…scCsztjtjjtdƒƒtjtdƒF}|jtjjtdƒdƒ|j |j dj j dƒƒWdQXdS(NR R!isx/( RžRêRŸRRLR#R$RRR7RïR=Rá(RRý((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_store_dirŠscCs-ttƒtjjtƒr)ttƒndS(N(R RLRžRŸRòRR (R((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÎs (RÏRÐR RYRZR[RÎ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyRVzs     tUniversalNewlineTestscBsõeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „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|}x4t|j|ƒD] \}}|j||dƒqiWWdQXq5WWdQXdS(NR*Rbs ( R)R#R$R_RdRRmRR-( RR&R'R(R·RCRŽRfRp((s-/usr/local/lib/python2.7/test/test_zipfile.pytiterlines_testßs cCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRReR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_storedéscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRfR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRsíscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRgR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRtòscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRhR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRuöscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRiR#RM(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyRvúss requires zlibcCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRReR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyttest_read_deflatedþscCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRfR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyR{scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRgR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyR| scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRhR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyR}scCs7x0ttƒtƒfD]}|j|tjƒqWdS(N(RLRRRiR#Rw(RR&((s-/usr/local/lib/python2.7/test/test_zipfile.pyR~scCsEx*|jjƒD]\}}tj|ƒqWttƒttƒdS(N(R_RdRžR¢R RRL(RR·RC((s-/usr/local/lib/python2.7/test/test_zipfile.pyRÎs (RÏRÐR R)ReRfRgRhRiRjRsRtRuRvRRÂRkR{R|R}R~RÎ(((s-/usr/local/lib/python2.7/test/test_zipfile.pyR\–s$       c Cs&tttttttttt ƒ dS(N( RRRÑRíRÛR6RIRVR\RD(((s-/usr/local/lib/python2.7/test/test_zipfile.pyt test_mains  t__main__(,RÂt ImportErrorRÆRžRûR/R8R'R#tunittestRttempfileRRRRttest.test_supportRRRRR R R R R¹t UnicodeErrort TypeErrorRLt TESTFNDIRRRœtTestCaseRRÑRÛRíR6RDRIRVR\RlRÏ(((s-/usr/local/lib/python2.7/test/test_zipfile.pytsT         :      ÿÿ5tHÿ‡<h9‰