m %UIc@sdklZdklZdkZdklZdkZdkZdk Z dk Z dk l Z l Z l Z e idjZdeifd YZd efd YZd efd YZdefdYZdefdYZdZedjo endS((s test_support(sTESTFNN(sStringIO(sBZ2Files BZ2CompressorsBZ2Decompressortwin32tos2emxtriscostBaseTestcBs=tZdZdZdZdZeo dZn dZRS(sBase for other testcases.sroot:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: uucp:x:10:14:uucp:/var/spool/uucp: operator:x:11:0:operator:/root: games:x:12:100:games:/usr/games: gopher:x:13:30:gopher:/usr/lib/gopher-data: ftp:x:14:50:FTP User:/var/ftp:/bin/bash nobody:x:65534:65534:Nobody:/home: postfix:x:100:101:postfix:/var/spool/postfix: niemeyer:x:500:500::/home/niemeyer:/bin/bash postgres:x:101:102:PostgreSQL Server:/var/lib/pgsql:/bin/bash mysql:x:102:103:MySQL server:/var/lib/mysql:/bin/bash www:x:103:104::/var/www:/bin/false sBZh91AY&SY.N>_@n?0F#&FЦMQ4hh$i44S9gd6 Պ.Kvxwߡ|/";ձ#Aoy\O煚f82"%>V,z⟣"E)I^rU26U0^DFݸankR3]f"6l$j@l1..klsE knQ%yvz̹zn7.G]B@!8`sBZh91AY&SYzNH߀@n?@`*=ML@I!Ȉjdi@@ h2De 虉h G(? ϵEps^ݢ&(u0%'ĉ!UIFU%C4!DIN8WAr%?3;I45AыTǍ\"yBglk"ԉ*  m6jj';.IJ舌U+t3 3r2 (rMD65؈Ӥ2\//k&+tar5"w]i[R IT;Zdk4 Ӂz:^`ܑN$+ӀcCsxtiddd}|ii||ii|ii}|ii|i djot i |}n|S(Ntbunzip2t capturestderrii( tpopen2tPopen3tpopttochildtwritetdatatcloset fromchildtreadtrettwaittbz2t decompress(tselfR RR((t*/data/zmath/lib/python2.4/test/test_bz2.pyRs  cCs ti|S(N(RRR (RR ((RR$s(t__name__t __module__t__doc__tTEXTtDATAt DATA_CRLFthas_cmdline_bunzip2R(((RRs  t BZ2FileTestcBstZdZdZdZddZdZdZdZdZ d Z d Z d Z d Z d ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZRS(s(Test BZ2File type miscellaneous methods.cCs t|_dS(N(tTESTFNRtfilename(R((RtsetUp*scCs.tii|ioti|indS(N(tostpathtisfileRRtunlink(R((RttearDown-sicCsJt|id}|o |i}n |i}|i||i dS(Ntwb( topenRRtftcrlfRR RR R (RR(R R'((RtcreateTempFile1s    cCsV|it|i}|it|id|i |i|i |i dS(N( RR)tBZ2FileRtbz2ft assertRaisest TypeErrorRtNonet assertEqualRR (RR+((RttestRead:s  cCsj|it|i}d}x*|id}|pPn||7}q"W|i|||i dS(Ntii ( RR)R*RR+ttextRtstrR/R (RR+R2R3((RttestReadChunk10Bs cCsG|it|i}|i|id|id |idS(Nid( RR)R*RR+R/RRR (RR+((Rt testRead100Os  cCsy|it|i}|it|idt |i }x*|i D]}|i|i|qKW|idS(N(RR)R*RR+R,R-treadlineR.tStringIORtsiot readlinestlineR/R (RR+R:R8((Rt testReadLineVs  cCsh|it|i}|it|idt |i }|i |i|i|i dS(N(RR)R*RR+R,R-R9R.R7RR8R/R (RR+R8((Rt testReadLines`s  cCsX|it|i}t|i}|it t ||i |i dS(N( RR)R*RR+R7RR8R/tlisttiterR9R (RR+R8((Rt testIteratoris  "cCsX|it|i}t|i}|it |i |i |i dS(N( RR)R*RR+R7RR8R/R=t xreadlinesR9R (RR+R8((RttestXReadLinesqs  "cCsV|it|id}|i|i|i|i|id|i dS(NtrUs ( RR)R*RR+R/RRtnewlinesR (RR+((RttestUniversalNewlinesLFys  cCs\|iddt|id}|i|i|i|i|id|i dS(NR(iRBs ( RR)R*RR+R/RRRCR (RR+((RttestUniversalNewlinesCRLFs cCst|id}|it|i|i|i|it |id}|i |i |i |i|idS(Ntwtrb(R*RRR+R,R-R RR R&R'R/RR(RR'R+((Rt testWrites "cCst|id}d}xD|i|d|dd!}|pPn|i||d7}qW|it |id}|i |i |i |i|idS(NRFiii RG(R*RRR+tnRR3R R R&R'R/RR(RR'RIR+R3((RttestWriteChunks10s  "cCst|id}|it|it|i}|i|i |i |it |idgt |id}|i|i|i|i|i dS(NRFtaRG(R*RRR+R,R-t writelinesR7RR8R9R t ValueErrorR&R'R/RR(RR'R+R8((RttestWriteLiness "cCsnt|id}|id|it|id}|it|id|it|idgdS(NRFtabctrRK( R*RRR+R R R,tIOErrorRL(RR+((RttestWriteMethodsOnReadOnlyFiles   cCsd|it|i}|it|i|id|i|i |i d|i dS(Ni( RR)R*RR+R,R-tseekR/RRR (RR+((RttestSeekForwards   cCse|it|i}|id|idd|i|i|idd|i dS(Niijii( RR)R*RR+RRSR/RR (RR+((RttestSeekBackwardss   !cCsa|it|i}|idd|i|i|it |id|i dS(Nijii( RR)R*RR+RSR/RRtlenR (RR+((RttestSeekBackwardsFromEnds  *cCsi|it|i}|id|i|it|i |i|i d|i dS(NiIR1( RR)R*RR+RSR/ttellRVRRR (RR+((RttestSeekPostEnds   cCsv|it|i}|id|id|i|it|i |i|i d|i dS(NiIR1( RR)R*RR+RSR/RXRVRRR (RR+((RttestSeekPostEndTwices   cCsc|it|i}|id|i|id|i|i|i |i dS(Niji( RR)R*RR+RSR/RXRRR (RR+((RttestSeekPreStarts   cCs7|ix&tdD]}t|i}~qWdS(Ni'(RR)txrangetiR*Rto(RR]R^((Rt testOpenDels   cCs|ittddS(Ns /non/existent(RR,RQR*(R((RttestOpenNonexistentscCsr|it|id}|it|i}|idd|i |i t |i |idS(NtUii( RR)R*RR+R tfileR'RSR/RXRVR(RR'R+((Rt testModeUs  cCsd}t|id}|i||it|i}|i }|i|i |dgt|i}t |i }|i|i |dgdS(Ns,BZh91AY&SYb] !h3M<]BCe%tR%tTest(R R&RRR'R R R*R+R9tlinesR/R=R@txlines(RR'R RfReR+((RttestBug1191043s     (RRRRR$R)R0R4R5R;R<R?RARDRERHRJRNRRRTRURWRYRZR[R_R`RcRg(((RR's6              tBZ2CompressorTestcBstZdZdZRS(NcCs^t}|it|i|i|i}||i7}|i |i ||idS(N( t BZ2Compressortbz2cRR,R-tcompressRR tflushR/R(RR Rj((Rt testCompresss  cCst}d}d}xJ|i|d|dd!}|pPn||i|7}|d7}qW||i7}|i |i ||idS(NiR1ii ( RiRjRIR RRR3RkRlR/R(RRIRjR3R ((RttestCompressChunks10s (RRRmRn(((RRhs tBZ2DecompressorTestcBs5tZdZdZdZdZdZRS(NcCs|ittddS(Ni*(RR,R-tBZ2Decompressor(R((Rttest_Constructor+scCsEt}|it|i|i|i}|i||i dS(N( Rptbz2dRR,R-RRR2R/R(RR2Rr((RttestDecompress.s cCsyt}d}d}xJ|i|d|dd!}|pPn||i|7}|d7}qW|i||i dS(NR1iii ( RpRrR2RIRRR3RR/R(RR2RIRrR3((RttestDecompressChunks105s cCsOt}d}|i|i|}|i||i|i|i|dS(Nsthis is unused data( RpRrt unused_dataRRRR2R/R(RR2RrRu((RttestDecompressUnusedDataBs  cCs5t}|i|i}|it|iddS(Ntanything(RpRrRRRR2R,tEOFError(RR2Rr((Rt testEOFErrorJs (RRRqRsRtRvRy(((RRo*s    tFuncTestcBs2tZdZdZdZdZdZRS(sTest module functionscCs2ti|i}|i|i||idS(N(RRkRRR R/R(RR ((RRmTscCs)ti|i}|i||idS(N(RRRRR2R/R(RR2((RRsYscCs#tid}|i|ddS(NR1(RRR2RR/(RR2((RttestDecompressEmpty^scCs!|itti|id dS(Ni(RR,RMRRR(R((RttestDecompressIncompletecs(RRRRmRsR{R|(((RRzQs    cCstittttdS(N(t test_supportt run_unittestRRhRoRz(((Rt test_maings t__main__(swin32sos2emxsriscos(ttestR}ttest.test_supportRtunittestt cStringIOR7R RtsysRR*RiRptplatformRtTestCaseRRRhRoRzRR(R}RpRR7RRRRRRhRzRRRoRiR*R R((Rt?s"        '