ó {G_Tc@sÂddlZddlZddlZddlZddlmZddlZddlZddlZddl m Z yddl Z e j Wne efk rªeZ nXyddlZWne k rÔeZnXd„Zejje jƒZe jdƒZejjedƒZejjedƒZejjedƒZd Zd Zd ejfd „ƒYZd efd„ƒYZ deejfd„ƒYZ!de!fd„ƒYZ"de!fd„ƒYZ#defd„ƒYZ$de$fd„ƒYZ%de$fd„ƒYZ&dejfd„ƒYZ'defd„ƒYZ(defd „ƒYZ)d!e)fd"„ƒYZ*d#e)fd$„ƒYZ+d%ejfd&„ƒYZ,d'e,fd(„ƒYZ-d)e,fd*„ƒYZ.d+ejfd,„ƒYZ/d-ejfd.„ƒYZ0d/e/fd0„ƒYZ1d1ejfd2„ƒYZ2d3e2fd4„ƒYZ3d5e2fd6„ƒYZ4d7ejfd8„ƒYZ5d9ejfd:„ƒYZ6d;ejfd<„ƒYZ7d=efd>„ƒYZ8d?e%fd@„ƒYZ9dAe fdB„ƒYZ:dCe&fdD„ƒYZ;dEe-fdF„ƒYZ<dGe.fdH„ƒYZ=dIe%fdJ„ƒYZ>dKe fdL„ƒYZ?dMe&fdN„ƒYZ@dOe-fdP„ƒYZAdQe.fdR„ƒYZBdSejfdT„ƒYZCdU„ZDeEdVkr¾eDƒndS(WiÿÿÿÿN(tmd5(t test_supportcCst|ƒjƒS(N(Rt hexdigest(tdata((s-/usr/local/lib/python2.7/test/test_tarfile.pytmd5sumss testtar.tarstesttar.tar.gzstesttar.tar.bz2stmp.tart 65f477c818ad9e15f7feab0c6d37742ft a54fbc4ca4f4399a90e1b27164012fc6tReadTestcBs&eZeZdZd„Zd„ZRS(sr:cCs(tj|jd|jddƒ|_dS(Ntmodetencodings iso8859-1(ttarfiletopenttarnameRttar(tself((s-/usr/local/lib/python2.7/test/test_tarfile.pytsetUp,scCs|jjƒdS(N(R tclose(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttearDown/s(t__name__t __module__R RRR(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR's t UstarReadTestcBsbeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z RS( cCse|jjdƒ}|jj|ƒ}|jƒ}|jt|ƒt|ƒf|jtfkdƒdS(Ns ustar/regtypesregular file extraction failed( R t getmembert extractfiletreadt assertTruetlenRtsizet md5_regtype(RttarinfotfobjR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_regular_file5s  *cCs½|jjdtƒ|jjdƒ}ttjjtdƒdƒ}|jj|ƒ}|j ƒ}|j ƒ}|j ||kdƒ|j t |ƒdkdƒ|j |ddkdƒdS(Ns ustar/regtypetrUsfileobj.readlines() failediriSsOI will gladly admit that Python is not the fastest running scripting language. ( R textracttTEMPDIRRR tostpathtjoinRt readlinesRR(RRtfobj1tfobj2tlines1tlines2((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_readlines<s   cCs”|jjdtƒ|jjdƒ}ttjjtdƒdƒ}|jj|ƒ}|j ƒ}g|D] }|^qh}|j ||kdƒdS(Ns ustar/regtypeRsfileobj.__iter__() failed( R R R!RR R"R#R$RR%R(RRR&R'R(tlineR)((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_iterLs c CsÎ|jjdtƒttjjtdƒdƒ}|jƒ}|jƒ|jj dƒ}|jj |ƒ}|jƒ}|j dƒ|j d|j ƒkdƒ|j ddƒ|j d|j ƒkdƒ|j ddƒ|j d |j ƒkd ƒ|j d dƒ|j d|j ƒkd ƒ|jd ƒ}|j ||dd !kdƒ|j ddƒ|j |j|j ƒkdƒ|j |jƒdkdƒ|j |j dƒ|j d|j ƒkdƒ|j dƒ|jƒ}|j dƒ|jƒ}|j ||kdƒ|j dƒ|j t|jƒƒ|j ƒkdƒ|j dƒ|j t|jƒƒd|j ƒkdƒ|j dƒ|jƒ}|j |jƒ|t|ƒkdƒ|jƒdS(Ns ustar/regtypetrbisseek() to file's start failedis"seek() to absolute position failediüÿÿiis+seek() to negative relative position faileds+seek() to positive relative position failedi i sread() after seek failedisseek() to file's end failedts0read() at file's end did not return empty strings&relative seek() to file's start failedisreadlines() after seek failedstell() after readline() faileds)tell() after seek() and readline() failedsread() after readline() failed(R R R!R R"R#R$RRRRtseekRttellRR%Rtreadline( RRRRttexttsts1ts2R+((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_seekVs^         ! %  cCs>|jj|ƒ}|jj|ƒ}|j|j|jƒdS(N(R Rt assertEqualtname(Rtlnktypetregtypetatb((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_test_fileobj_linkŒscCs|jddƒdS(Ns ustar/lnktypes ustar/regtype(R=(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_link1‘scCs|jddƒdS(Ns./ustar/linktest2/lnktypesustar/linktest1/regtype(R=(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_link2”scCs|jddƒdS(Ns ustar/symtypes ustar/regtype(R=(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_symlink1—scCs|jddƒdS(Ns./ustar/linktest2/symtypesustar/linktest1/regtype(R=(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_symlink2šscCs|jddƒdS(Ntsymtype2s ustar/regtype(R=(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_issue14160s( RRRR*R,R6R=R>R?R@RARC(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR3s   6     tListTestcBs#eZd„Zd„Zd„ZRS(cCs"tj|jd|jƒ|_dS(NR(R R R RR (R((s-/usr/local/lib/python2.7/test/test_tarfile.pyR¤scCs$tjƒ}|jjdtƒWdQX|jƒ}|jd|ƒ|jd|ƒ|jd|ƒ|jdddd|ƒ|jd |ƒ|jd |ƒ|jd |ƒ|jd |ƒ|jd |ƒ|jd|ƒ|jd|ƒ|j|dƒ|jd|ƒ|jd|ƒdS(Ntverbosesustar/conttypes ustar/regtypes ustar/lnktypetustars/12345i(s 67/longnames./ustar/linktest2/symtypes./ustar/linktest2/lnktypesustar/dirtype/sustar/dirtype-with-size/sustar/umlauts-ÄÖÜäöüßs'misc/regtype-hpux-signed-chksum-ÄÖÜäöüßs)misc/regtype-old-v7-signed-chksum-ÄÖÜäöüßs)ustar/conttype ?\r?\nustar/regtype ?\r?\nslink tos->( Rtcaptured_stdoutR tlisttFalsetgetvaluetassertIntassertRegexpMatchest assertNotIn(Rtttout((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_list§s(    cCsÌtjƒ}|jjdtƒWdQX|jƒ}|j|ddƒ|jd|ƒ|jd|ƒ|jd|ƒ|jddd d dd d |ƒ|jd dd d dd d |ƒdS(NREsW-rw-r--r-- tarfile/tarfile\s+7011 \d{4}-\d\d-\d\d\s+\d\d:\d\d:\d\d ustar/\w+type ?\r?\nisustar/symtype -> regtypes1./ustar/linktest2/symtype -> ../linktest1/regtypes;./ustar/linktest2/lnktype link to ./ustar/linktest1/regtypetgnus/123i}s/longlink link to gnus /longnametpaxs/longlink link to pax(RRGR RHtTrueRJRLRK(RRNRO((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_list_verboseÇs   "(RRRRPRT(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRD¡s  t GzipListTestcBs eZeZdZejjZRS(sr:gz( RRtgzipnameR RR tTarFiletgzopenttaropen(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRUßst Bz2ListTestcBs eZeZdZejjZRS(sr:bz2( RRtbz2nameR RR RWtbz2openRY(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRZåstCommonReadTestcBs,eZd„Zd„Zd„Zd„ZRS(cCs†tjt|jjddƒƒjƒy#tjt|jƒ}|jƒWn!tjk rk|jdƒnX|j |j ƒgƒdS(Ntrtws&tarfile.open() failed on empty archive( R R ttmpnameRtreplaceRtgetnamest ReadErrortfailtassertListEqualt getmembers(RR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_empty_tarfileís%cCsOttdƒjƒ|jtjtjt|jƒ|jtjtjtƒdS(Ntwb(R R`Rt assertRaisesR RcR(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_null_tarfileúscCsfd|jkrtnt}|j|dƒ}tjd|jƒWdQX|j|jjtj ƒdS(Ns|txxx( RtOSErrortIOErrortassertRaisesRegexpR R R7t exceptionterrnotENOENT(Rtexctypetex((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_non_existent_tarfilescCsâ|jjdƒrtj}n$|jjdƒr<tj}nt}x™d D]‘}|tdƒ}|j|dƒ|jt j dƒj ƒƒ|j ƒt jtdd d t ƒ}|j|jƒdgd |ƒ|j ƒqIWdS( Ns:gzs:bz2tR;RhitfooRR^t ignore_zeross3ignore_zeros=True should have skipped the %r-blocks(ssa(RtendswithtgziptGzipFiletbz2tBZ2FileR R`twriteR tTarInfottobufRRSReRb(Rt_opentcharRR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_ignore_zeros s     (RRRgRjRtR‚(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR]ës  t MiscReadTestcBs’eZejjZd„Zd„Zd„Zd„Zd„Z d„Z d„Z d„Z d„Z d „Zd „Zd „Zd „Zd „ZRS(cCsSt|jdƒ}tjd|d|jƒ}|j|jtjj|jƒƒdS(NR-tfileobjR( R R R RR7R8R"R#tabspath(RRR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_no_name_argument$scCsot|jdƒjƒ}tj|ƒ}|jtt|dƒtjd|d|jƒ}|j |j dƒdS(NR-R8R„R( R R RtStringIORitAttributeErrortgetattrR RR7R8tNone(RRRR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_no_name_attribute)s cCsbt|jdƒjƒ}tj|ƒ}d|_tjd|d|jƒ}|j|jdƒdS(NR-R.R„R( R R RR‡R8R RR7RŠ(RRRR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_empty_name_attribute0s  c Cs®ttdƒWdQX|jtjtƒ|jtdƒ|jtdƒ}WdQX|jtdƒ|jtdƒ}WdQX|jtdƒ|jtdƒ}WdQXdS(NRhs mode must be tqtrwR.(R R`t addCleanupR"tunlinkRnt ValueErrorRY(RR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_illegal_mode_arg7scCs:tj|jd|jƒ}|jƒ|jƒ}|j}|j}|j|ƒjƒ}|j ƒ|jj dƒr€t j }n$|jj dƒržt j}nt}||jdƒ}|j|ƒ|j|jddd|ƒ}|jƒ}|j|j|ƒ|jƒ|j|j|ƒjƒ|dƒ|j ƒdS(NRs:gzs:bz2R-sr:R„sseek back did not work(R R R RtnextR8toffsetRRRRxRyRzR{R|R/R7Rf(RR RNR8R”RR€R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_with_offsetBs*          cCsv|jdkr|jdƒn|jtjtjt|jƒttdƒ}|jtjtjd|d|jƒdS(Nsr:sneeds a gz or bz2 modeR-R„R(RtskipTestRiR RcR R (RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fail_compbs cCs2|jjdƒ}|j|jtjkdƒdS(Nsmisc/dirtype-old-v7sv7 dirtype failed(R RRttypeR tDIRTYPE(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_v7_dirtypejscCs9y|jjdƒWntk r4|jdƒnXdS(Nsmisc/regtype-xstars3failed to find misc/regtype-xstar (mangled prefix?)(R RtKeyErrorRd(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_xstar_typers cCsvxo|jD]d}|jt|jƒdkd|jƒ|jjdƒsNq n|j|jdkd|jƒq WdS(Ni½>swrong mtime for %ssustar/R swrong uname for %s(R RtinttmtimeR8t startswithtuname(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_check_members{scCs*|j|jjƒdjdkdƒdS(Niÿÿÿÿsmisc/eofscould not find all members(RR RfR8(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_members„sc CsPtjtddddƒ/}|jdtƒ|jtjtjj tdƒƒ|jdtƒ|jtjtjj tdƒƒttjj tdƒdƒ}|j ƒ}WdQX|j t |ƒt ƒ|jdtƒ|jtjtjj tdƒƒttjj tdƒdƒ}|j ƒ}WdQX|j t |ƒt ƒWdQXdS( Nt errorleveliR s iso8859-1s ustar/regtypes ustar/lnktypeR-s ustar/symtype(R R R R R!RR"tremoveR#R$RR7RR(RR tfR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_extract_hardlinkˆs""!"!cCsÙtjtddƒ}g|D]}|jƒr|^q}|jt|ƒx~|D]v}tjjt|j ƒ}t j dkr¨|j |j d@tj|ƒjd@ƒn|j |jtjj|ƒƒqQW|jƒdS(NR s iso8859-1twin32iÿ(R R R tisdirt extractallR!R"R#R$R8tsystplatformR7Rtstattst_modeRžtgetmtimeR(RR RNt directoriesRR#((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_extractallšs% *#cCsžtjjtdƒ}t|dƒjdƒz^tjtj ƒ}y|j |ƒWn'tj k rz|j |j jƒnX|jdƒWdtj|ƒXdS(NtemptyRhR.sReadError not raised(R"R#R$R!R R}tobjectt__new__R RWt__init__RcRR„tclosedRdR¤(RR±R ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_init_close_fobj¨scCsktj|jƒS}xIt||ƒD]8\}}|j|j|jƒ|j|j|jƒq%WWdQXdS(N(R R R tzipR7R”R8(RR tm1tm2((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_parallel_iterationºs(RRR RWRYR†R‹RŒR’R•R—RšRœR¡R¢R¦R°R¶Rº(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRƒ!s          tStreamReadTestcBs)eZdZd„Zd„Zd„ZRS(sr|cCsb|jjƒ}|jj|ƒ}|jƒ}|jt|ƒt|ƒf|jtfkdƒdS(Nsregular file extraction failed( R R“RRRRRRR(RRRR((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÇs  *cCs?|jjƒ}|jj|dƒ}|jtj|jƒdS(Ni(R RfRRiR t StreamErrorR(RttarinfosR¥((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_provoke_stream_errorÎscCstjtddƒ}|j}xçtr|jƒ}|jƒ}|dkrOPn|j|dk dƒ|jƒs}|j ƒrœ|j tj |j |ƒq!n|j |ƒ}|j |ƒ}|dkrÌq!n|j|dk dƒ|j|j ƒ|j ƒkdƒq!W|jƒdS(NR s iso8859-1sstream.next() failed.sstream.extractfile() failedsstream extraction failed(R R R R RSR“RŠRtislnktissymRiR¼RRR(Rttar1ttar2tt1tt2tv1tv2((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_compare_membersÓs$      &(RRRRR¾RÇ(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR»Ãs  tDetectReadTestcBsPeZd„Zd„Zd„Zd„Zd„Zeje dƒd„ƒZ RS(cCs9ytj||ƒWntjk r4|jƒnXdS(N(R R RcRd(RR8R((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_testfunc_fileîscCsHy#tj||dt|dƒƒWntjk rC|jƒnXdS(NR„R-(R R RcRd(RR8R((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_testfunc_fileobjôs#cCsÑ|tdƒ|tdƒ|tdƒ|tdƒ|tdƒtr|jtjtjtddƒ|jtjtjtddƒ|jtjtjtddƒ|jtjtjtddƒ|tdƒ|tdƒ|tdƒ|tdƒ|tdƒntrÍ|jtjtjtdd ƒ|jtjtjtdd ƒ|jtjtjtddƒ|jtjtjtddƒ|tdƒ|tdƒ|td ƒ|tdƒ|td ƒndS( NR^sr:sr:*sr|sr|*Rsr:gzsr|gzsr:bz2sr|bz2( R RyRiR RcR RVR{R[(Rttestfunc((s-/usr/local/lib/python2.7/test/test_tarfile.pyt _test_modesús2             cCs|j|jƒdS(N(RÌRÉ(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_detect_filescCs|j|jƒdS(N(RÌRÊ(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_detect_fileobjss requires bz2cCsfttdƒ}|jƒ}WdQXtjtdddƒ}|j|ƒWdQX|jtdƒdS(NR-Rht compresslevelisr|*(R R RR{R|R`R}RÉ(RRR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_detect_stream_bz2s ( RRRÉRÊRÌRÍRÎtunittestt skipUnlessR{RÐ(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÈìs      tMemberReadTestcBs’eZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„ZRS(cKsÕ|dk rD|jt|jj|ƒjƒƒ|kd|jƒnd|dRžiètuididtgidsold-v7R R tgnameswrong value in %s field of %s( RŠRRR RRR8t iteritemsR‰(RRtchksumtkwargstktv((s-/usr/local/lib/python2.7/test/test_tarfile.pyt _test_member1s '     cCs/|jjdƒ}|j|dddtƒdS(Ns ustar/regtypeRicRØ(R RRÜR(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_regtypeAscCs/|jjdƒ}|j|dddtƒdS(Nsustar/conttypeRicRØ(R RRÜR(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_conttypeEscCs)|jjdƒ}|j|ddƒdS(Ns ustar/dirtypeRi(R RRÜ(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_dirtypeIscCs)|jjdƒ}|j|ddƒdS(Nsustar/dirtype-with-sizeRiÿ(R RRÜ(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_dirtype_with_sizeMscCs/|jjdƒ}|j|ddddƒdS(Ns ustar/lnktypeRitlinknames ustar/regtype(R RRÜ(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_lnktypeQscCs/|jjdƒ}|j|ddddƒdS(Ns ustar/symtypeRiRáR:(R RRÜ(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_symtypeUscCs5|jjdƒ}|j|ddddddƒdS(Ns ustar/blktypeRitdevmajoritdevminor(R RRÜ(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_blktypeYscCs5|jjdƒ}|j|ddddddƒdS(Ns ustar/chrtypeRiRäiRåi(R RRÜ(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_chrtype]scCs)|jjdƒ}|j|ddƒdS(Nsustar/fifotypeRi(R RRÜ(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_fifotypeascCs/|jjdƒ}|j|dddtƒdS(Ns ustar/sparseRiPRØ(R RRÜt md5_sparse(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_sparseescCs/|jjdƒ}|j|dddtƒdS(Nsustar/umlauts-ÄÖÜäöüßRicRØ(R RRÜR(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_umlautsiscCs/dddd}|j||jjƒƒdS(Nsustar/s12345/i's1234567/longname(RKR Rb(RR8((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_ustar_longnamemscCs/|jjdƒ}|j|dddtƒdS(Nsmisc/regtype-old-v7RicRØ(R RRÜR(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_regtype_oldv7qscCsStj|jd|jddƒ|_|jjdƒ}|j|dddtƒdS(NRR s iso8859-1spax/umlauts-ÄÖÜäöüßRicRØ(R R R RR RRÜR(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_find_pax_umlautsus$N(RRRŠRÜRÝRÞRßRàRâRãRæRçRèRêRëRìRíRî(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÓ/s              t LongnameTestcBs,eZd„Zd„Zd„Zd„ZRS(cCsp|jdddd}y|jj|ƒ}Wntk rO|jdƒnX|j|jtjkdƒdS(Ns/s123/i}tlongnameslongname not foundsread longname as dirtype( tsubdirR RR›RdRR˜R R™(RRðR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_read_longname}s  cCs†|jdddd}|jdddd}y|jj|ƒ}Wntk rh|jdƒnX|j|j|kdƒdS(Ns/s123/i}Rðtlonglinkslonglink not foundslinkname wrong(RñR RR›RdRRá(RRðRóR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_read_longlink†s cCs‹|jdddd}|jj|ƒ}|j}|jjj|ƒtj|jjjd ƒƒ}|jt j t j ddd |ƒdS( Ns/s123/i}RðiiR8sfoo.tarR„i( RñR RR”R„R/R‡RRiR RcR (RRðRR”R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_truncated_longnames  cCs||jdddd}|jj|ƒj}ttƒ}|j|ƒtjj |j dƒƒ}|j |j |j ƒdS(Ns/s123/i}Rði(RñR RR”R R R/R R~tfrombufRR7R˜t longnametype(RRðR”RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_header_offset—s   (RRRòRôRõRø(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRï{s t GNUReadTestcBs eZdZejZd„ZRS(RQcCsn|jjdƒ}|jj|ƒ}|jjdƒ}|jj|ƒ}|j|jƒ|jƒkdƒdS(Ns ustar/sparses gnu/sparsessparse file extraction failed(R RRRR(Rttarinfo1R&ttarinfo2R'((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_sparse_file§s (RRRñR tGNUTYPE_LONGNAMER÷Rü(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRù¢s t PaxReadTestcBs)eZdZejZd„Zd„ZRS(RRcCs tjtddƒ}|jdƒ}|j|jdƒ|j|jdƒ|j|jjdƒdƒ|jdƒ}|j|jd ƒ|j|jdƒ|j|jjdƒdƒ|jd ƒ}|j|jd ƒ|j|jd ƒ|j|jjdƒdƒdS( NR s iso8859-1s pax/regtype1RvtbarsVENDOR.umlautsuÄÖÜäöüßs pax/regtype2R.s pax/regtype3R ( R R R RR7R RÖt pax_headerstget(RR R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_pax_global_headersµscCsÇtjtddƒ}|jdƒ}|j|jdƒ|j|jdƒ|j|jdƒ|j|jdƒ|jt |jƒt ƒ|jt |j dƒdƒ|jt |j dƒdƒdS( NR s iso8859-1s pax/regtype4ici{g€Ç^ ÏAtatimetctime( R R R RR7RRÔRÕRžR˜tfloatR(RR R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_pax_number_fieldsÇs(RRRñR tXHDTYPER÷RR(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRþ°s  t WriteTestBasecBseZd„ZRS(cCs£tjƒ}tjd|d|jƒ}|jtjdƒƒ|jƒ|j|jt kdƒ|j ƒ}~t j ƒ|j |jƒ|j||j ƒƒdS(NR„RRvs#external fileobjs must never closed(R‡R R RtaddfileR~RRRµRIRJRt gc_collectt assertFalseR7(RRR R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_fileobj_no_closeØs    (RRR (((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÔst WriteTestcBsþeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z de d „Zd „Zd „Zd „Zejeedƒdƒd„ƒZejeedƒdƒd„ƒZejeedƒdƒd„ƒZd„ZRS(sw:cCs‚dd}tjt|jƒ}tj|ƒ}|j|ƒ|jƒtjtƒ}|j|jƒd|kdƒ|jƒdS(Nt 0123456789i is!failed to store 100 char filename( R R R`RR~R RRRb(RR8R RN((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_100_char_nameês   cCstjt|jƒ}tjjtdƒ}t|dƒ}|jdƒ|j ƒ|j |ƒ|j ƒ|j tjj tƒdkdƒdS(NtfileRhtaaaistarfile is empty( R R R`RR"R#R$R!R}RtaddRtgetsize(RR R#R((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_tar_sizeús    cCs»tjt|jƒ}tjjtdƒ}t|dƒ}|jƒ|j |ƒ}|j |j dƒt|dƒ}|j dƒ|jƒ|j |ƒ}|j |j dƒ|jƒdS(NRRhiRi( R R R`RR"R#R$R!Rt gettarinfoR7RR}(RR R#RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_file_sizes   cCsrtjjtdƒ}tj|ƒz;tjt|jƒ}|j |ƒ}|j |j dƒWdtj |ƒXdS(Nt directoryi( R"R#R$R!tmkdirR R R`RRR7Rtrmdir(RR#R R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_directory_sizes cCsÜttdƒrØtjjtdƒ}tjjtdƒ}t|dƒ}|jdƒ|jƒtj||ƒzHt jt |j ƒ}|j |ƒ|j |ƒ}|j |jdƒWdtj|ƒtj|ƒXndS(Ntlinkt link_targetRhRi(thasattrR"R#R$R!R R}RRR R`RRR7RR¤(RRttargetRR R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_link_size"s    cCs‡ttdƒrƒtjjtdƒ}tjd|ƒz;tjt|j ƒ}|j |ƒ}|j |j dƒWdtj |ƒXndS(NtsymlinkRi(RR"R#R$R!R R R R`RRR7RR¤(RR#R R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_symlink_size4scCs¼tjjtƒ}tjt|jƒ}|j|j|kdƒ|j |ƒ|j|j ƒgkdƒtj ƒ}tj t ƒ|j |ƒtj |ƒ|j|j ƒgkdƒdS(Nsarchive name must be absolutesadded the archive to itself(R"R#R…R`R R RRR8RRbtgetcwdtchdirR!(RtdstnameR tcwd((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_add_self?s     c Cs"tjjtdƒ}tj|ƒzëx6dD].}tjj||ƒ}t|dƒjƒq,Wtjj}tjt |j ddƒ}t j dt fƒ|j|d d d|ƒWdQX|jƒtjt d ƒ}|jt|jƒƒd ƒ|j|jƒd d ƒWdtj|ƒXdS(NtexcludeRvRÿtbazRhR s iso8859-1suse the filter argumenttarcnamet empty_dirR^ii(sfoosbarR((R"R#R$R!RR RtisfileR R`RRtcheck_warningstDeprecationWarningRR7RRfRbtshutiltrmtree(RttempdirR8R'R ((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_excludeOs       cCs*tjjtdƒ}tj|ƒzóx6dD].}tjj||ƒ}t|dƒjƒq,Wd„}tjt|j ddƒ}|j |d d d|ƒ|jƒtjtd ƒ}x4|D],}|j |j d ƒ|j |j dƒq¾W|j t|jƒƒd ƒ|jƒWdtj|ƒXdS(NtfilterRvRÿR(RhcSs5tjj|jƒdkrdSd|_d|_|S(NRÿi{Rv(R"R#tbasenameR8RÔR (R((s-/usr/local/lib/python2.7/test/test_tarfile.pyR2ms   R s iso8859-1R)R*R^i{i(sfoosbarsbaz(R"R#R$R!RR RR R`RRR7RÔR RRfR.R/(RR0R8R2R R((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_filteres"     cCsçtjjtdƒ}|s1t|dƒjƒn tj|ƒtjt|j ƒ}|j |d|ƒ|jƒtjtdƒ}|j ƒ}|jƒ|s®tj |ƒn tj |ƒ|j|j|pß|jtjdƒƒdS(NRvR_R)R^s/(R"R#R$R!R RRR R`RRR“R¤RR7R8Ratsep(RR#tcmp_pathtdirRvR RN((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_test_pathname…s     cCs²|jdƒ|jtjjdddƒƒ|jtjjdddƒƒ|jtjjddƒƒ|jtjjdddƒƒ|jtjjddddƒƒ|jtjjddddƒƒ|jtjjddddƒƒ|jtjjddƒƒ|jtjjdddƒƒ|jtjjddddƒƒ|jtjjddddƒƒ|jdtjtjdƒ|jdtjtjddtƒdS(NRvs.Rÿs..R7(R8R"R#R$R5RS(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_pathnamess """""cCsFtjdkr"|jddƒn |jddƒ|jddƒdS(NR§sC:\fooRvs/foos///foo(RªR«R8(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_abs_pathnames®scCsÆtjƒ}tjtƒz˜tddƒjƒtjt|jƒ}|j dƒ|jƒtjtdƒ}x6|D].}|j |j dkpž|j j dƒƒqtW|jƒWdtj|ƒXdS(NRvR_s.R^s./( R"R"R#R!R RR R`RRRR8RŸ(RR%R RN((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_cwdµs     ,R sneeds os.symlinkcCsotjjtdƒ}tjjtdƒ}tj|ƒztjj|dƒ}tjj|dƒ}t|dƒ}|jdƒWdQXtj||ƒtj|dƒ}|j |dtjj |ƒƒ|j |dtjj |ƒƒ|j ƒtj|dƒ}z9y|j d |ƒWnt k r<|jd ƒnXWd|j ƒXWdtj|ƒtj|ƒXdS( Nt testsymlinksstestsymlinks.tartsourceR R_s something R)R^R#s&extractall failed with symlinked files(R"R#R$R!RR R}R R RR3RR©RlRdRR.R/(RR0t temparchivet source_filet target_fileR¥R ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_extractall_symlinksÇs,    cCs]tjjtdƒ}tjjtdƒ}tj|ƒztjj|dƒ}tjj|dƒ}t|dƒ}|jdƒWdQXtj||ƒtj|dƒ}|j |dtjj |ƒƒ|j ƒtj |ƒtj|dƒ}z9y|j d |ƒWntk r*|jd ƒnXWd|j ƒXWdtj |ƒtj|ƒXdS( NR<stestsymlinks.tarR=R R_s something R)R^R#s-extractall failed with broken symlinked files(R"R#R$R!RR R}R R RR3RRR©RlRdR.R/(RR0R>R?R@R¥R ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_extractall_broken_symlinksäs,     Rs needs os.linkcCsotjjtdƒ}tjjtdƒ}tj|ƒztjj|dƒ}tjj|dƒ}t|dƒ}|jdƒWdQXtj||ƒtj|dƒ}|j |dtjj |ƒƒ|j |dtjj |ƒƒ|j ƒtj|dƒ}z9y|j d |ƒWnt k r<|jd ƒnXWd|j ƒXWdtj|ƒtj|ƒXdS( NR<stestsymlinks.tarR=R R_s something R)R^R#s#extractall failed with linked files(R"R#R$R!RR R}RR RR3RR©RlRdRR.R/(RR0R>R?R@R¥R ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_extractall_hardlinkss,    csx–tttfD]…‰dtjf‡fd†ƒY}|ƒ}|jˆƒ6tjt|jd|dtj didd6ƒ}WdQX|j |j ƒqWdS(NtBadFilecseZeZ‡fd†ZRS(cs|jrt|_ˆ‚ndS(N(tfirstRI(RR(Rr(s-/usr/local/lib/python2.7/test/test_tarfile.pyR}$s  (RRRSRER}((Rr(s-/usr/local/lib/python2.7/test/test_tarfile.pyRD"sR„tformatRR±tnon( RmtEOFErrort RuntimeErrorR‡RiR R R`Rt PAX_FORMATR Rµ(RRDR¥R ((Rrs-/usr/local/lib/python2.7/test/test_tarfile.pyttest_open_nonwritable_fileobj s  N(RRRRRRRRR!R&R1R4RŠRIR8R9R:R;RÑRÒRR"RARBRCRK(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR æs$         $$$tStreamWriteTestcBs_eZdZd„Zejejdkdƒeje e dƒdƒd„ƒƒZ d„Z RS(sw|cCstjt|jƒ}|jƒ|jjdƒrYtjtƒ}|jƒ}|jƒn‰|jjdƒr½t j ƒ}ttdƒjƒ}|j |ƒ}|j t |jƒdkdƒn%ttdƒ}|jƒ}|jƒ|j |jdƒtjkdƒdS(NtgzR{R-isfound trailing dataRusincorrect zero padding(R R R`RRRxRyRzRR{tBZ2Decompressort decompressRRt unused_datatcountt RECORDSIZE(RR RRtdec((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_stream_padding4s"       R§snot appropriate for Windowstumasksrequires os.umaskcCs’tjjtƒr"tjtƒntjdƒ}zLtjt|jƒ}|j ƒtj tƒj d@}|j |ddƒWdtj|ƒXdS(Niiÿi¤swrong file permissions( R"R#texistsR`R¤RUR R RRR¬R­R7(Rtoriginal_umaskR R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_file_modeKs cCsTy/tjtttjƒƒ|jƒWdQXWntk rO|jdƒnXdS(Ns(_Stream failed to write unicode filename( R R tunicodeR`RªtgetfilesystemencodingRtUnicodeDecodeErrorRd(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_issue13639\s %  ( RRRRTRÑtskipIfRªR«RÒRR"RXR\(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRL0s  't GNUWriteTestcBszeZd„Zd d„Zd d„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „ZRS( cCs:tt|ƒddƒ\}}|r2|d7}n|dS(Nii(tdivmodR(RR3tblockst remainder((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_lengthhs cCs€d}t|ƒtjkr;|d7}||j|ƒ7}n|dk r|t|ƒtjkr||d7}||j|ƒ7}n|S(Ni(RR t LENGTH_NAMERbRŠt LENGTH_LINK(RR8RRQ((s-/usr/local/lib/python2.7/test/test_tarfile.pyt _calc_sizens ! cCsôtj|ƒ}|r-||_tj|_ntjtdƒ}tj|_|j |ƒ|j ||ƒ}|j }|j ||kdƒ|j ƒtjtƒ}|jƒ}|j|dƒ|j|j|jdƒ|j|j|jdƒdS(NR_s%GNU longname/longlink creation failedsunable to read longname member(R R~RátLNKTYPER˜R R`t GNU_FORMATRFR ReR”RRR“tassertIsNotNoneR7R8(RR8RRR RÅRÆtmember((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_test|s&       cCs|jdddƒdS(Nslongnam/itlongnam(Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_longname_1023•scCs|jdddƒdS(Nslongnam/iRð(Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_longname_1024˜scCs|jdddƒdS(Nslongnam/it longname_(Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_longname_1025›scCs|jddddƒdS(NR8slonglnk/itlonglnk(Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_longlink_1023žscCs|jddddƒdS(NR8slonglnk/iRó(Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_longlink_1024¡scCs|jddddƒdS(NR8slonglnk/it longlink_(Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_longlink_1025¤scCs$|jddddddƒdS(Nslongnam/iRkslonglnk/Rp(Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_longnamelink_1023§scCs$|jddddddƒdS(Nslongnam/iRðslonglnk/Ró(Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_longnamelink_1024«scCs$|jddddddƒdS(Nslongnam/iRnslonglnk/Rs(Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_longnamelink_1025¯sN(RRRbRŠReRjRlRmRoRqRrRtRuRvRw(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR^ds           t HardlinkTestcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCs›tjjtdƒ|_tjjtdƒ|_t|jdƒ}|jdƒ|jƒtj |j|jƒt jt dƒ|_ |j j |jƒdS(NRvRÿRhR_(R"R#R$R!RvRÿR R}RRR R`R R(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyR·s  cCs1|jjƒtj|jƒtj|jƒdS(N(R RR"R¤RvRÿ(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÄs cCs5|jj|jƒ}|j|jtjkdƒdS(Nsadd file as regular failed(R RRvRR˜R tREGTYPE(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_add_twiceÉscCs5|jj|jƒ}|j|jtjkdƒdS(Nsadd file as hardlink failed(R RRÿRR˜R Rf(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_add_hardlinkÐscCsAt|j_|jj|jƒ}|j|jtjkdƒdS(Nsdereferencing hardlink failed( RSR t dereferenceRRÿRR˜R Ry(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_dereference_hardlinkÕs (RRRRRzR{R}(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRx´s    t PaxWriteTestcBs&eZdd„Zd„Zd„ZRS(cCsÍtj|ƒ}|r-||_tj|_ntjtddtjƒ}|j|ƒ|j ƒtjtƒ}|r |j ƒdj}|j ||kdƒn)|j ƒdj }|j ||kdƒdS(NR_RFisPAX longlink creation failedsPAX longname creation failed( R R~RáRfR˜R R`RJR RRfRR8(RR8RRR tltn((s-/usr/local/lib/python2.7/test/test_tarfile.pyRjÞs   cCsSidd6dd6dd6dd6dd6}tjtd d tjd |ƒ}|jtjd ƒƒ|jƒtjtd dƒ}|j|j|ƒ|j|j ƒdj|ƒx|jj ƒD]Œ\}}|j t |ƒt kƒ|j t |ƒt kƒ|tjkr¿ytj||ƒWqKttfk rG|jdƒqKXq¿q¿WdS(Nubarufoou0uuidu1.23umtimeuäöüutestR_RFRttestR s iso8859-1is"unable to convert pax header field(R R R`RJR R~RR7RRfR×RR˜RYtPAX_NUMBER_FIELDSt TypeErrorR‘Rd(RRR tkeytval((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_pax_global_headerñs*   cCsÕidd6dd6}tjtddtjddƒ}tjƒ}d |_d|_||_|j|ƒ|j ƒtjtddƒ}|j ƒd }|j |j|ƒ|j |jd ƒ|j |jd ƒdS(Nufooupathu123uuidR_RFR s iso8859-1uäöüiiRvi{i( R R R`RJR~R8RÔRR RRfR7(RRR RN((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_pax_extended_header s!      N(RRRŠRjR†R‡(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR~Üs  tUstarUnicodeTestcBsPeZejZd„Zd„Zd„Zd„Zd„Z d„Z d„Z RS(cCs|jdƒdS(Ns iso8859-1(t_test_unicode_filename(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_iso8859_1_filename&scCs|jdƒdS(Ntutf7(R‰(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_utf7_filename)scCs|jdƒdS(Ntutf8(R‰(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_utf8_filename,sc Cs¹tjtdd|jd|ddƒ}d}|jtj|ƒƒ|jƒtjtd|ƒ}|jt|j ƒdƒt k ƒ|j |j ƒdj |j|ƒƒ|jƒdS(NR_RFR terrorststrictuäöüi(R R R`RFR R~RRR˜RbRYR7RfR8tencode(RR R R8((s-/usr/local/lib/python2.7/test/test_tarfile.pyR‰/s' #&c Cs¿tjtdd|jddddƒ}tjƒ}d|_|jtjkrg|jt|j |ƒn |j |ƒd|_|jt|j |ƒd |_d|_ |jt|j |ƒdS( NR_RFR tasciiRRsäöüuäöüRv( R R R`RFR~R8RJRit UnicodeErrorR R (RR R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_unicode_filename_error:s'      cCs­tjtdddddƒ}x~|D]v}|jt|jƒtkƒ|jt|jƒtkƒ|jt|jƒtkƒ|jt|j ƒtkƒq%W|j ƒdS(NR^R s iso8859-1RR( R R R RR˜R8tstrRáR RÖR(RR RN((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_unicode_argumentKs  c CsàxÙd D]Ñ}tjdƒ}||_||_tjƒ}tjdddd|d|jd d ƒ}|j|ƒ|jƒ|j d ƒtjdd|d d ƒ}|j dƒ}|j |jdƒ|j |jdƒqWdS( NuäöüsäöüRvsfoo.tarRR_R„RFR s iso8859-1i(uäöüsäöü( R R~R RÖR‡R RFR RR/RR7(RR8RNRR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_uname_unicodeTs    *   ( RRR t USTAR_FORMATRFRŠRŒRŽR‰R”R–R—(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRˆ!s      tGNUUnicodeTestcBseZejZRS((RRR RgRF(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR™fstPaxUnicodeTestcBs,eZejZd„Zd„Zd„ZRS(cCsOtjtdd|jƒ}tjƒ}||jd<|j|ƒ|jƒdS(NR_RFR#(R R R`RFR~RR R(RR8R RN((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_create_unicode_nameos    c Cs |jdƒxjddjdƒfddfD]J\}}tjtd|jd d d |ƒ}|j|jƒd |ƒq,W|jt tjtd d d d ƒdS(Nuäöüsutf-8RRas???tignoreR.RFR R’RiR(sreplaces???(signoreR.( R›R‘R R R`RFR7RbRiR“(RthandlerR8R ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_error_handlersvs  cCs\|jdƒtjtd|jddddƒ}|j|jƒddd jd ƒƒdS( Nu äöü/€RFR s iso8859-1Rsutf-8isäöü/u€R(R›R R R`RFR7RbR‘(RR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_error_handler_utf8„s  (RRR RJRFR›RžRŸ(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRšks   t AppendTestcBsÔeZd„Zdd„Zdd„Zdgdd„Zd„Zd„Zd„Z d „Z d „Z e j ed ƒd „ƒZe j ed ƒd„ƒZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs5t|_tjj|jƒr1tj|jƒndS(N(R`R R"R#RVR¤(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyR‘s cCs?tj|jdd|ƒ}|jtjdƒƒ|jƒdS(NR;R„Rÿ(R R R R R~R(RR„R ((s-/usr/local/lib/python2.7/test/test_tarfile.pyt _add_testfile–ssw:cCsotjtddƒ}|jdƒ}d|_|j|ƒ}tj|j|ƒ}|j||ƒ|jƒdS(NR s iso8859-1s ustar/regtypeRv(R R R RR8RR R(RRtsrcRNR¥R ((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_create_testtar›s RÿcCs2tj|jd|ƒ}|j|jƒ|ƒdS(NR„(R R R R7Rb(RtnamesR„R ((s-/usr/local/lib/python2.7/test/test_tarfile.pyRj¤scCs|jƒ|jƒdS(N(R¡Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_non_existing¨s cCs1tj|jdƒjƒ|jƒ|jƒdS(Nsw:(R R R RR¡Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_empty¬s cCsAtjddƒ}|j|ƒ|jdƒ|jd|ƒdS(NRuiiR„(R‡R¡R/Rj(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_empty_fileobj±s  cCsh|jƒt|jƒjƒ}tj|ƒ}|j|ƒ|jdƒ|jdddgd|ƒdS(NiR¤RvRÿR„(R£R R RR‡R¡R/Rj(RRR((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_fileobj·s    cCs.|jƒ|jƒ|jdddgƒdS(NR¤RvRÿ(R£R¡Rj(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_existing¿s  s requires gzipcCs-|jdƒ|jtjtjtdƒdS(Nsw:gzR;(R£RiR RcR R`(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_append_gzÄs s requires bz2cCs-|jdƒ|jtjtjtdƒdS(Nsw:bz2R;(R£RiR RcR R`(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_append_bz2És cCs3t|jdƒj|ƒ|jtj|jƒdS(NRh(R R R}RiR RcR¡(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyt _test_errorÐscCs|jdƒdS(NR.(R¬(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_nullÔscCs|jdƒdS(NRui t (R¬(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_incomplete×scCs&tjdƒjƒ}|j|ƒdS(NRv(R R~RR¬(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_premature_eofÚscCs*tjdƒjƒ}|j|dƒdS(NRvRui R®(R R~RR¬(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_trailing_garbageÞscCs|jddƒdS(NR;i(R¬(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_invalidâsN(RRRRŠR¡R£RjR¥R¦R§R¨R©RÑRÒRyRªR{R«R¬R­R¯R°R±R²(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR Žs"             t LimitsTestcBs#eZd„Zd„Zd„ZRS(cCsHtjddƒ}|jtjƒtjdddƒ}|jt|jtjƒtjdddƒ}|jtjƒtjdddƒ}|jt|jtjƒtjdd dƒ}|jt|jtjƒtjd ƒ}dd d|_|jt|jtjƒtjd ƒ}d |_|jt|jtjƒdS( NRi t0s123/i>Rðs1234567/ii~RóR8i (R R~RR˜RiR‘RáRÔ(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_ustar_limitsès  cCsŒtjdddƒ}|jtjƒtjdƒ}ddd|_|jtjƒtjdƒ}d|_|jt|jtjƒdS(Ns123/i~RðRóR8l(R R~RRgRáRÔRiR‘(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_gnu_limitss cCsƒtjdddƒ}|jtjƒtjdƒ}ddd|_|jtjƒtjdƒ}d|_|jtjƒdS(Ns123/i~RðRóR8l(R R~RRJRáRÔ(RR((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_pax_limitss (RRRµR¶R·(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR³æs  tContextManagerTestcBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsBtjtƒ}|j|jdƒWdQX|j|jdƒdS(Nsclosed inside runtime contextscontext manager failed(R R R R RµR(RR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_basic#sc Cs@tjtƒ}|jƒ|jtƒ|WdQXWdQXdS(N(R R R RRiRm(RR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_closed(s  c Csc|jtƒ%}tjtƒ }t‚WdQXWdQX|j|jtdƒ|j|j dƒdS(Ns)wrong exception raised in context managerscontext manager failed( Rit ExceptionR R R RmtassertIsInstanceRoRRµ(RtexcR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_exception1s cCsey%tjtdƒ }t‚WdQXWnnX|jtjjtƒddƒ|j|j dƒdS(NR_is-context manager wrote an end-of-archive blockscontext manager failed( R R R`R»R7R"R#RRRµ(RR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_no_eof:scCs<tjtdƒWdQX|jtjjtƒddƒdS(NR_is-context manager wrote no end-of-archive block(R R R`tassertNotEqualR"R#R(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_eofFscCsxttdƒ}y+tjd|ddƒ }t‚WdQXWnnX|j|jdƒ|j|jdƒ|jƒdS(NRhR„RR_sexternal file object was closedscontext manager failed(R R`R R»R RµRR(RRR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyR¨Ns(RRR¹RºR¾R¿RÁR¨(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR¸!s   tLinkEmulationTestcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCsQ|jj|tƒttjjt|ƒdƒjƒ}|jt |ƒt ƒdS(NR-( R R R!R R"R#R$RR7RR(RR8R((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_test_link_extractionas$cCs|jdƒdS(Ns ustar/lnktype(RÃ(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_hardlink_extraction1fscCs|jdƒdS(Ns./ustar/linktest2/lnktype(RÃ(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_hardlink_extraction2iscCs|jdƒdS(Ns ustar/symtype(RÃ(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_symlink_extraction1lscCs|jdƒdS(Ns./ustar/linktest2/symtype(RÃ(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_symlink_extraction2os(RRRÃRÄRÅRÆRÇ(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÂ\s     tGzipMiscReadTestcBs eZeZdZejjZRS(sr:gz( RRRVR RR RWRXRY(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÈsstGzipUstarReadTestcBseZeZdZRS(sr:gz(RRRVR R(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÉwstGzipStreamReadTestcBseZeZdZRS(sr|gz(RRRVR R(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÊzst GzipWriteTestcBseZdZRS(sw:gz(RRR(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRË}stGzipStreamWriteTestcBseZdZRS(sw|gz(RRR(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÌstBz2MiscReadTestcBs eZeZdZejjZRS(sr:bz2( RRR[R RR RWR\RY(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR̓stBz2UstarReadTestcBseZeZdZRS(sr:bz2(RRR[R R(((s-/usr/local/lib/python2.7/test/test_tarfile.pyR·stBz2StreamReadTestcBseZeZdZRS(sr|bz2(RRR[R R(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÏŠst Bz2WriteTestcBseZdZRS(sw:bz2(RRR(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÐstBz2StreamWriteTestcBseZdZRS(sw|bz2(RRR(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÑstBz2PartialReadTestcBs#eZd„Zd„Zd„ZRS(cCs—dtjfd„ƒY}tjtjdƒjƒƒ}xYtt|ƒdƒD]A}y$tjd||| ƒd|ƒWqNtj k rŽqNXqNWdS(Nt MyStringIOcBs eZeZd„Zd„ZRS(cSs@|jrtdƒ‚n|j|jk|_tjj||ƒS(Ns(infinite loop detected in tarfile.open()(thit_eoftAssertionErrortposRR‡R(RR€((s-/usr/local/lib/python2.7/test/test_tarfile.pyR™s cWst|_tjj||ŒS(N(RIRÔR‡R/(Rtargs((s-/usr/local/lib/python2.7/test/test_tarfile.pyR/žs (RRRIRÔRR/(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÓ—s RviR„R( R‡R{tcompressR R~RtrangeRR Rc(RRRÓRtx((s-/usr/local/lib/python2.7/test/test_tarfile.pyt_test_partial_input–s $cCs|jdƒdS(NR^(RÛ(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_partial_input©scCs|jdƒdS(Nsr:bz2(RÛ(R((s-/usr/local/lib/python2.7/test/test_tarfile.pyttest_partial_input_bz2¬s(RRRÛRÜRÝ(((s-/usr/local/lib/python2.7/test/test_tarfile.pyRÒ’s  cCsttjtƒttttttt t t t t tttttttg}ttdƒrh|jtƒn |jtƒttdƒ}|jƒ}|jƒtrètjtdƒ}|j|ƒ|jƒ|t t!t"t#t$t%g7}nt&r9t&j't(dƒ}|j|ƒ|jƒ|t)t*t+t,t-t.t/g7}nzt0j1|ŒWdtj2j3tƒrot4j5tƒnXdS(NRR-Rh(6R"tmakedirsR!RRƒR»RÈRÓRùRþRDR RLR^R~RˆR™RšR R³R¸RtappendRxRÂR R RRRyRVR}RÈRÉRÊRURËRÌR{R|R[RÍRÎRÏRZRÐRÑRÒRt run_unittestR#RVR.R/(ttestsRRR ((s-/usr/local/lib/python2.7/test/test_tarfile.pyt test_main°sh           t__main__(FRªR"R.R‡thashlibRRpRÑR RRRyRzt ImportErrorRˆRŠR{RR#R…tTESTFNR!tfindfileR R$RVR[R`RRétTestCaseRRRDRURZR]RƒR»RÈRÓRïRùRþRR RLR^RxR~RˆR™RšR R³R¸RÂRÈRÉRÊRËRÌRÍRÎRÏRÐRÑRÒRâR(((s-/usr/local/lib/python2.7/test/test_tarfile.pyts„              n>6¢)CL'$ÿK4P(EE#X;; F