J?Cj SrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK J r J r SSK J r SSK Jr SSK Jr SSK JrJrJr SSKJrJr \R,"S 5r\R,"S 5rS rS r\R6R9\R:5S -r"SS\R>5r "SS\RB5r""SS\"5r#"SS\"5r$Sr%"SS\RB5r&\'S:Xa\RP"5 gg)z!Test script for the gzip module. N)PIPEPopen)catch_unraisable_exception) import_helper) os_helper)_4G bigmemtestrequires_subprocess)assert_python_okassert_python_failuregzipzlibsy int length=DEFAULTALLOC, err = Z_OK; PyObject *RetVal; int flushmode = Z_FINISH; unsigned long start_total_out; s/* zlibmodule.c -- gzip-compatible data compression */ /* See http://www.gzip.org/zlib/ /* See http://www.winimage.com/zLibDll for Windows */ z-gzdirc&\rSrSrSrSrSrSrg) UnseekableIO&cg)NFselfs 5/opt/alt/python313/lib64/python3.13/test/test_gzip.pyseekableUnseekableIO.seekable'sc"[ReNioUnsupportedOperationrs rtellUnseekableIO.tell*%%%rc"[Rerr)rargss rseekUnseekableIO.seek-r!rrN)__name__ __module__ __qualname____firstlineno__rrr$__static_attributes__rrrrr&s&&rrc8\rSrSr\R rSrSrSr g)BaseTest1cD[R"UR5 grrunlinkfilenamers rsetUpBaseTest.setUp4'rcD[R"UR5 grr/rs rtearDownBaseTest.tearDown7r4rrN) r&r'r(r)rTESTFNr1r2r6r*rrrr,r,1sH((rr,c|\rSrSrS>SjrSrSrSrSrSr Sr S r S r \ "\S S 9S 5rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1S0r2S1r3S2r4S3r5S4r6S5r7S6r8S7r9S8r:S9r;S:rg=)?TestGzip;c[U5n[RURSU-5nUR U5nSSS5 UR W[ U55 [RURSU-5nUR UR5U5 SSS5 g!,(df  Nv=f!,(df  g=f)Nwr)bytesr GzipFiler1write assertEquallenread)rdatamodeb_datafls rwrite_and_read_backTestGzip.write_and_read_back<st ]]4==#d( 3q A4 CK( ]]4==#d( 3q   QVVXv .4 34 34 3sB1!C1 B? Cc[RURS5nUR[S-5 UR 5 UR 5 [[S5(a$[R"UR 55 UR5 SSS5 WR5 g!,(df  N=f)Nwb2fsync) r r@r1rAdata1flushfilenohasattrosrOcloserrHs r test_writeTestGzip.test_writeDs{ ]]4==$ /1 GGEBJ  GGI HHJr7##$ GGI0  0 /s BB<< C c([R"UR5n[R US5nUR [ S-5 SSS5 URWR[5 URURUR5 [R US5nUR [ 5 SSS5 [R U5nUR5nSSS5 URW[ S-5 URUR[5 URURUR5 g!,(df  GN=f!,(df  N=f!,(df  N=f)Nr=rNa3) rFakePathr1r r@rArPassertIsInstancenamestrrBrD)rr1rHds r"test_write_read_with_pathlike_file+TestGzip.test_write_read_with_pathlike_fileRs%%dmm4 ]]8S )Q GGEBJ * affc* / ]]8S )Q GGEN* ]]8 $A% EBJ' affc* /* )* ) $ $s#E 4E2'F E/2 F FcUR[[S-55 [[[ S555nUR S/SQS9nURU5 g)NrNB)rf)shape)rJ memoryviewrPr?rangecast)rmrEs rtest_write_memoryviewTestGzip.test_write_memoryviewcsL   EBJ!78 uU3Z( )vvcv)   &rcFUR[[S-55 g)NrN)rJ bytearrayrPrs rtest_write_bytearrayTestGzip.test_write_bytearrayis   52:!67rc^UR[R"S[S-55 g)NI()rJarrayrPrs rtest_write_arrayTestGzip.test_write_arrayls   S%"*!=>rc^[RURS5nUR[5 UR S5 SSS5 UR[5 UR /5 SSS5 UR [ 5 SSS5 [RURS5nURUR5[ 5 SSS5 g!,(df  N=f!,(df  N=f!,(df  N~=f!,(df  g=f)NrMrb) r r@r1 assertRaises TypeErrorrArPrBrDrVs rtest_write_incompatible_type%TestGzip.test_write_incompatible_typeos]]4==$ /1""9- .""9- . GGEN 0 ]]4==$ /1   QVVXu -0 / .---0 / 0 /sFD C+ D &C<8D =%D+ C9 5D < D D  D D,cUR5 [RURS5nUR 5nSSS5 UR W[ S-5 g!,(df  N(=f)Nr>rN)rWr r@r1rDrBrPrrHr`s r test_readTestGzip.test_read|sM  ]]4==# .!A/ E"H%/ .s A$$ A2cUR5 /nSn[RURS5nUR 5nU(dOAUR U5 U[ U5- nURUR5U5 MYSSS5 URSRU5[S-5 g!,(df  N7=f)Nrr>rrN) rWr r@r1read1appendrCrBrjoinrP)rblocksnreadrHr`s r test_read1TestGzip.test_read1s  ]]4==# .!GGI a Q  51/ &)52:6/ .s AC C)sizememusec[R[SS9n[R[R "U5SS9nUR URU5[5 g)Nr compresslevelr{fileobjrF)r compressrPr@rBytesIOrBrD)rr compressedrHs rtest_read_largeTestGzip.test_read_largesI]]5]: MM"**Z"8tM D u-rcnUR5 [RURS5nURnUR UR 5 UR5 URUR 5 UR[5 URS5 SSS5 UR[5 URS5 SSS5 UR[5 UR5 SSS5 [RURS5nURnUR UR 5 UR5 URUR 5 UR[5 URS5 SSS5 UR[5 UR5 SSS5 g!,(df  GN<=f!,(df  GN=f!,(df  GN=f!,(df  Ns=f!,(df  g=f)Nr>rrr=r)rWr r@r1r assertFalseclosedrU assertTruer| ValueErrorrDr$rrArQ)rrHrs rtest_io_on_closed_object!TestGzip.test_io_on_closed_objects\  MM$-- -)) (   '   z * FF1I+   z * FF1I+   z * FFH+ MM$-- -)) (   '   z * GGCL+   z * GGI+ *+ * * * * *+ * * *s<GG16HHH& G.1 H H H#& H4cUR5 [RURS5nUR [ S-5 SSS5 [RURS5nUR 5nSSS5 URW[S-[ S--5 g!,(df  Nk=f!,(df  NC=f)Nabr{rN) rWr r@r1rAdata2rDrBrPrs r test_appendTestGzip.test_appends  ]]4==$ /1 GGEBJ 0]]4==$ /1A0 U2X%(34 0 /0 /sB/2C/ B= Cc8[RURSS5nURS5 SSS5 [ SS5H>n[RURSS5nURS5 SSS5 M@ [RURS5nSnUR S 5nXE- nU(dOMSSS5 UR WS 5 g!,(df  N=f!,(df  M=f!,(df  ND=f) NrM arrr{ri saaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)r r@r1rArjrDrB)rrHizgfilecontentsztxts rtest_many_appendTestGzip.test_many_appends]]4==$ 2a GGDM3q#At}}dA6! 76 ]]4==$ /6H{{4( U0 8,3 2760 /s#C(,C9*#D ( C69 D Dc[RURS5nUR[S-5 SSS5 [RURS5nUR UR 5[S-5 SSS5 UR[5 [RURS5 SSS5 g!,(df  N=f!,(df  N^=f!,(df  g=f)NxbrNr{) r r@r1rArPrBrDr|FileExistsErrorrVs rtest_exclusive_writeTestGzip.test_exclusive_writes ]]4==$ /1 GGEBJ 0 ]]4==$ /1   QVVXurz 20    / MM$-- .0 / 0 / / / / /s#C"(C"'!C3 C" C03 DcpUR5 [RURS5n[R "U5nUVs/sHo3PM nnSSS5 SSS5 UR WS[RSS9-5 gs snf!,(df  NB=f!,(df  NK=f)Nr{rNTkeepends) rWr r@r1rBufferedReaderrBrP splitlines)rrHr>lineliness rtest_buffered_readerTestGzip.test_buffered_readers  ]]4==$ /1""1%*+,!$!,&0 U%5%5t%5%D DE-&%0 /s5B'B BBB'B B$ B'' B5c*UR5 [RURS5nSnUR U5nU(dUS:waO'UR [ U5U:*5 US-S-nMFSSS5 g!,(df  g=f)Nr{rrrN)rWr r@r1readlinerrC)rrH line_lengthLs r test_readlineTestGzip.test_readlinesx ]]4==$ /1KJJ{+[A-uA+ 56*Q"4 0 / /s A B BcbUR5 [RURS5nUR 5nSSS5 [RURS5nUR S5nU/:XaOMSSS5 g!,(df  NS=f!,(df  g=f)Nr{)rWr r@r1 readlines)rrHrs rtest_readlinesTestGzip.test_readliness ]]4==$ /1 A0]]4==$ /1KK$7E0 /0 /0 /sB*B  B B.cUR5 [RUR5nUR 5nUR 5nU(dOwUR 5nUR U5 [U5S:aSnO [U5nURU5nURUSUU5 UR U5 MSSS5 g!,(df  g=f)N ) rWr r@r1rrr$rCrDrB)rrHoldposline1newposamountline2s rtest_seek_readTestGzip.test_seek_reads ]]4== )Q evu:b=F ZFv  w7v* ) )s B!C C(c,UR5 [RUR5nUR S5 UR SSS9 UR S5nSSS5 UR W[SS5 g!,(df  N(=f)Nrr)whence)rWr r@r1rDr$rBrP)rrHys rtest_seek_whenceTestGzip.test_seek_whencesn ]]4== )Q FF2J FF2aF r A* E"RL) * )s 3B Bc[RURS5n[SSS5H%nUR U5 UR S5 M' SSS5 g!,(df  g=f)Nr=rrdsGZ )r r@r1rjr$rA)rrHposs rtest_seek_writeTestGzip.test_seek_writesL ]]4==# .!QR(s  )/ . .s 7A!! A/cUR5 [RURS5nUR UR R S5 SSS5 [R"UR5 [RURS5nUR UR R S5 SSS5 g!,(df  N~=f!,(df  g=f)Nr>r{xr) rWr r@r1rB myfileobjrFrr0rVs r test_modeTestGzip.test_mode"s  ]]4==# .!   Q[[--t 4/' ]]4==# .!   Q[[--t 4/ ./ ./ .s'C 'C! C! C/cSHmn[RURU5nUR[ US55 UR UR UR5 SSS5 Mo g!,(df  M=f)N)rMr{r^)r r@r1rrSrBr^)rrFrHs r test_1647484TestGzip.test_1647484*sZ Dt}}d3q6 23  743!33s AA55 B cBUR5 [RURS5nUR [ UR S55 URUR RUR5 SSS5 g!,(df  g=f)Nr{r^) rWr r@r1rrSrrBr^rVs rtest_paddedfile_getattr TestGzip.test_paddedfile_getattr0s_  ]]4==$ /1 OOGAIIv6 7   QYY^^T]] ;0 / /s AB BcSn[RURSUS9nUR[5 SSS5 [RUR5nUR [ US55 URUR5 UR5nURU[5 URURU5 SSS5 g!,(df  N=f!,(df  g=f)N[r=mtimer) r r@r1rArPrrS assertIsNonerrDrB)rrfWritefReaddataReads r test_mtimeTestGzip.test_mtime6s ]]4==#u] = LL > ]]4== )U OOGE73 4   ekk *zz|H   Xu -   U[[% 0 * )> = ) )sC!A9C2! C/2 Dc Sn[RURSUS9nUR[5 SSS5 [ URS5nUR S5nURUS5 UR S5nURUS5 URRS 5S -nSnUR S5nURX5 UR S 5n URU [R"S U55 UR S5n URU S5 UR S5n URU S5 UR [U55n URX5 UR[R"UR5R S- 5 UR S 5n URU S5 UR S 5nURU[R"S [[555 SSS5 g!,(df  GN=f![a S nS nGNf=f!,(df  g=f)Nrr=rr{rzLatin-1rrgz$-- &%jjmG   Wk 2ZZ]F   VW - (#}}33I>H '  1 I   Y 6AJ   ZT5)A BjjmG   Wg .ZZ]F   VW -  3|#45I   Y 5 JJrwwt}}-559 :AJ   Z)9 :AJ   ZT3u:)F GW' &> =& (" '  (' &s=H6AI I>E/I6 IIIII I+cN[RUlUR5 gr)r TESTFN_ASCIIr1r rs rtest_metadata_ascii_name!TestGzip.test_metadata_ascii_namets!..  rc/SQnSnUHup4nURU5 [RURSUS9nU UR [ 5 SSS5 [ URS5nURU5 URS5nURX5 SSS5 SSS5 M g!,(df  Nm=f!,(df  N,=f!,(df  M=f)N))fastr)bestrr)tradeoffrrfr=rr{r) subTestr r@r1rArPrr$rDrB) rcases xflOffsetr^levelexpectedXflByterrrs rtest_compresslevel_metadata$TestGzip.test_compresslevel_metadataxs   .3 *T/d#t}}cOLL'$--.%JJy)#jjmG$$W>/ $#/4V.. $#s;"C!B?C!64C*C!? C C! C C!! C0 c:[RURS5nURS5 SSS5 [RURS5nUR 5 U SSS5 UR S5 [RURS5nSS- SSS5 UR S5 g!,(df  N=f!,(df  Nq=f![ a Nof=f!,(df  NR=f![a gf=f)NrMsxxxr{z4__enter__ on a closed file didn't raise an exceptionrrz1/0 didn't raise an exception)r r@r1rArUfailrZeroDivisionErrorrVs rtest_with_openTestGzip.test_with_opens ]]4==$ /1 GGFO0 MM$-- .   N IIL M 7t}}d3q!4 II5 6#0 /     43    s_C ,C,.C0C, D *C<0D C C)%C,, C98C9< D D DDc[RURS5nUR[S-5 SSS5 [ URS5nURS5 SSS5 [RURS5nUR 5nURU[S-S5 SSS5 g!,(df  N=f!,(df  Ns=f!,(df  g=f)NrMrNrs2r{zIncorrect data in file)r r@r1rArPrrDrBrs rtest_zero_padded_fileTestGzip.test_zero_padded_files ]]4==$ /1 GGEBJ 0$-- &! GGL !']]4==$ /1A   Q ,D E0 /0 /' &0 /s#CC+C( C C%( C6c^UR[[R[55 gr)r issubclassr BadGzipFileOSErrorrs rtest_gzip_BadGzipFile_exception(TestGzip.test_gzip_BadGzipFile_exceptions  4#3#3W=>rc\[URS5nUR[S-5 SSS5 [R URS5nUR [RUR5 SSS5 g!,(df  Nb=f!,(df  g=f)NrMrNr>) rr1rArPr r@r|r)r)rfiles rtest_bad_gzip_fileTestGzip.test_bad_gzip_filesm $-- &$ JJurz "' ]]4==# .$   d.. ?/ .' & . .sB +B B B+cz[S-n[5n[RUSS9nUR U5 SSS5 UR 5n[U5n[RUSS9nUR UR5U5 SSS5 g!,(df  Ng=f!,(df  g=f)NrNrMrr{)rPrr r@rAgetvaluerBrD)r uncompressedbufrHrs rtest_non_seekable_fileTestGzip.test_non_seekable_filesrz n ]]3T] 2a GGL !3\\^ :& ]]3T] 2a   QVVX| 43 2 3 23 2sB1!B, B), B:c n[S-n[RURS5nUR U5 SSS5 Sn[RURS5nSUlSnU"5HTnUR U5nUS:Xa O.sizess%q"b)AG*sr{!rrd) rPr r@r1rAmax_read_chunkpeekrBrDrC)rr3rHr;rr:ss r test_peekTestGzip.test_peekss{ ]]4==$ /1 GGL !0  ]]4==$ /1!A EWFF1I8  A3Q    QVVC[# .   UC $5 60 /0 /0 /sD'B%D& D#& D4c[S-RS5RSS9nUR5 [R UR S5n[R"USS9nURUR5U5 SSS5 SSS5 g!,(df  N=f!,(df  g=f)NrNasciiTrr>encoding) rPdecoderrWr r@r1r TextIOWrapperrBr)rrrHts rtest_textio_readlinesTestGzip.test_textio_readliness##G,777F  ]]4==# .!!!!g6!  67/ .66/ .s$B/,!B B/ B, (B// B=c[URS5n[RUSS9nUR S5 UR UR UR 5 UR UR5UR55 UR UR[R5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URWRS5 UR UR UR 5 UR[ UR5 UR UR[R5 URUR5S5 URUR5S5 URUR5S5 SSS5 [URS5n[RUSS9nUR S 5 UR UR UR 5 UR UR5UR55 UR UR[R5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URWRS5 UR UR UR 5 UR[ UR5 UR UR[R5 URUR5S5 URUR5S5 URUR5S5 SSS5 [URS 5n[RUS S9nUR S 5 UR UR UR 5 UR UR5UR55 UR UR[R5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URWRS5 UR UR UR 5 UR[ UR5 UR UR[R5 URUR5S5 URUR5S5 URUR5S5 SSS5 [URS 5n[RUSS9nUR UR#5S5 UR UR UR 5 UR UR5UR55 UR UR[R$5 URUR5S5 URUR5S5 URUR5S5 URURS5 SSS5 URWRS5 UR UR UR 5 UR[ UR5 UR UR[R$5 URUR5S5 URUR5S5 URUR5S5 SSS5 g!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GNp=f!,(df  g=f)NrrroneFTrMr=tworrZthreer{r>twothree)rr1r r@rArBr^rRrFWRITEassertIsreadablewritablerrr|AttributeErrorrDREAD)rrawrHs rtest_fileobj_with_nameTestGzip.test_fileobj_with_names $-- &#s5  2  SZZ\:  4 ajjlE2 ajjlD1 ajjlD1 ahh.6 MM!((D )   QVVSXX .   nahh 7   QVVTZZ 0 MM!**, . MM!**, - MM!**, -!'$$-- &#s5  2  SZZ\:  4 ajjlE2 ajjlD1 ajjlD1 ahh.6 MM!((D )   QVVSXX .   nahh 7   QVVTZZ 0 MM!**, . MM!**, - MM!**, -!'$$-- &#s5!  2  SZZ\:  4 ajjlE2 ajjlD1 ajjlD1 ahh.6 MM!((D )   QVVSXX .   nahh 7   QVVTZZ 0 MM!**, . MM!**, - MM!**, -!'$$-- &#s5  ;7  2  SZZ\:  3 ajjlD1 ajjlE2 ajjlD1 ahh.6 MM!((D )   QVVSXX .   nahh 7   QVVTYY / MM!**, - MM!**, . MM!**, -!' &k65' &&65' &&65' &&65' &sc/D c8C4c/ dD d+C4d=d7D d%C4d70eDe  C4e c, 'c// c> d d d"% d4 /d77 e e e e)cZ [R"UR[R[R-[R -5n[R "US5n[RUSS9nURS5 URURS5 URUR5UR55 SSS5 URWRS5 URURS5 UR[ UR5 SSS5 [R"UR[R[R-[R"-5n[R "US5n[RUSS9nURS 5 URURS5 URUR5UR55 SSS5 URWRS5 UR[ UR5 SSS5 [R"UR[R[R-[R$-5n[R "US 5n[RUS S9nURS 5 URURS5 URUR5UR55 SSS5 URWRS5 UR[ UR5 SSS5 [R"UR[R&5n[R "US 5n[RUSS9nURUR)5S5 URURS5 URUR5UR55 SSS5 URWRS5 UR[ UR5 SSS5 g!,(df  GN=f!,(df  GN~=f!,(df  GN=f!,(df  GN}=f!,(df  GN=f!,(df  GN|=f!,(df  N=f!,(df  g=f)NrrrrNrzTrMr=rOrrZrPr{r>rQ)rTrr1O_WRONLYO_CREATO_EXCLfdopenr r@rArBr^rRrSrr|rVO_TRUNCO_APPENDO_RDONLYrD)rfdrXrHs rtest_fileobj_from_fdopen!TestGzip.test_fileobj_from_fdopen'sMWWT]]BKK"**$ARA R1*S?ASASS9$AS'AS9T'A+T AT R. )R11 S S S S$' S6 1S99 T T T T*cUR[RS5 UR[RS5 [R UR S5R 5 [UR S5n[R USS9nURUR[R5 SSS5 [R USS9nURUR[R5 SSS5 [R USS9nURUR[R5 SSS5 [R USS9nURUR[R5 SSS5 UR[5 [R US S9 SSS5 SSS5 S Hhn[UR U5n[R US 9nURUR[R5 SSS5 SSS5 Mj S HnSU;a [R"UR 5 [UR U5nUR[5 [R US 9nSSS5 W URUR[R5 SSS5 SSS5 M g!,(df  GNA=f!,(df  GN =f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN<=f!,(df  GM=f!,(df  N=f!,(df  N=f!,(df  GMv=f) Nr{rMr+br>rr=rZrz)r{rgr)rMrr)rBr rWrRr@r1rUrrFr|rrr0 assertWarns FutureWarning)rrHgrFs rtest_fileobj_modeTestGzip.test_fileobj_modeOsb D) T* dmmT*002 $-- '1qs3q  34qs3q  44qs3q  44qs3q  44"":. ac 2/( DdmmT*a]]1]-$$QVVTYY7.+* %Dd{  /dmmT*a%%m4 a 0A5$$QVVTZZ8+*%43333333..( '.-+*54Q+*sM+K?M!+L M(+L#M/+L5M7M M7M= +M+6M= N2!N5 N2?+N!*N2? L M L M# L2 -M5 M ?M M M M(+ M: 5M== N  N N2! N/ +N22 O cURn[R"U5n[R US5nUR [ S-5 SSS5 URWRU5 [R US5nURUR5[ S-5 SSS5 URURU5 [R US5nURUR5[ S-5 SSS5 URURU5 g!,(df  N=f!,(df  N=f!,(df  NM=f)NrMrNr{) r1rTfsencoder r@rArPrBr^rD)r str_filenamebytes_filenamerHs rtest_bytes_filenameTestGzip.test_bytes_filenameks}} \2 ]]>4 0A GGEBJ 1 0 ]]>4 0A   QVVXurz 21 0 ]]< .!   QVVXurz 2/ .1 01 0/ .s#D; (E .(E; E  E E+c[R"5n[RUSS9nUR [ S-5 UR URS5 UR[RUR5 UR UR[R5 URUR5S5 URUR5S5 URUR!5S5 URUR"S5 SSS5 URWR"S5 UR URS5 UR[$UR5 UR UR[R5 URUR5S5 URUR5S5 URUR!5S5 UR'S5 [RUSS9nUR UR)5[ S-5 UR URS5 UR[RUR5 UR UR[R*5 URUR5S5 URUR5S5 URUR!5S5 URUR"S5 SSS5 URUR"S5 UR URS5 UR[$UR5 UR UR[R*5 URUR5S5 URUR5S5 URUR!5S5 g!,(df  GN=f!,(df  GN=f) NrMrrNrzFTrr{)rrr r@rArPrBr^r|rrRrFrRrSrTrUrrrVr$rDrW)rbiorHs rtest_fileobj_without_name"TestGzip.test_fileobj_without_nameysjjl ]]3T] 2a GGEBJ    QVVR (   b55qxx @   QVVTZZ 0 MM!**, . MM!**, - MM!**, - MM!((E *3 ahh% $ .!((3 , ajjlE* ajjlD) ajjlD)  ]]3T] 2a   QVVXurz 2   QVVR (   b55qxx @   QVVTYY / MM!**, - MM!**, . MM!**, - MM!((E *3 ahh% $ .!((3 + ajjlD) ajjlE* ajjlD)C3 2$3 2sDP=>DQ= Q  QcURS-n[URS5n[RX!SS9nUR [ S-5 UR URU5 SSS5 SSS5 [URS5n[RX!SS9nUR UR5[ S-5 UR URU5 SSS5 SSS5 [RURS5nUR UR5[ S-5 UR URUR5 SSS5 g!,(df  GN =f!,(df  GN=f!,(df  N=f!,(df  N=f!,(df  g=f)NnewrM)rr1rFrNr{) r1rr r@rArPrBr^rD)r filename2rrHs rtest_fileobj_and_filename"TestGzip.test_fileobj_and_filenames=MME) 4==$'7mmGdmKq GGEBJ    QVVY /L(4==$'7mmGdmKq   QVVXurz 2   QVVY /L( ]]4==$ /1   QVVXurz 2   QVVT]] 30 /LK(' LK(' 0 /sTF5E60FF++AF/F+AF<6 F F F F( $F++ F9< G c[RS[S5-SS9nUR[ U5[ R 5 [ R"U5n[RUS9nURURS5S5 S[ R -nURURRR5US5 g) z-Decompressed data buffering should be limitedrg>Arrrirz)Excessive amount of data was decompressedN)r rint assertLessrCrDEFAULT_BUFFER_SIZErr@rBrDassertLessEqual_bufferrXr)rbombdecomp max_decomps rtest_decompress_limited TestGzip.test_decompress_limiteds}}USX-Q}? D 2#9#9:zz$t, Q////  V^^//446 7 9rcn[[4HnSHn[R"U/UQ76nUR [ U5[ 5 [R[R"U5SS9nUR UR5U5 SSS5 M M g!,(df  M=f)Nr)r)r)rr{r) rPrr rrBtyper?r@rrrD)rrEr#datacrHs r test_compressTestGzip.test_compresssEND. d2T2  ee4]]2::e+<4]HA$$QVVXt4IH/#IHs 3!B%% B4 c Sn[[4HnSHnURX#S9 [R"U/UQ7SU06nUR [ U5[5 [R[R"U5SS9nURS5 UR URU5 SSS5 SSS5 M M g!,(df  N=f!,(df  M=f)Nrr)rEr#rr{rr) rPrrr rrBrr?r@rrrDr)rrrEr#rrHs rtest_compress_mtimeTestGzip.test_compress_mtimesEND.\\t\7 MM$CCUCE$$T%[%8rzz%/@tLPQq ((%8M87/# ML87s$A"C .C 6C  C C  C/ c&SHynURUS9 [R[SUS9n[R[SUS9nUR [U5 UR [U5 SSS5 M{ g!,(df  M=f)Nr*rrrrr)rr rrPassertIn assertNotIn)rr nocompress yescompresss rtest_compress_correct_level$TestGzip.test_compress_correct_levelsoEE*!]]5]O "mmE%mP  eZ0   4 +***s AB B c SHanURUS9 [R[SUS9nUR [ R "SUSS5US4S 5 SSS5 Mc g!,(df  Mu=f) Nrrrrz.FakeCompressori0c/Ulgrmodesrs r__init__:TestGzip.test_flush_modes..FakeCompressor.__init__1s  rcgNrr)rrEs rr:TestGzip.test_flush_modes..FakeCompressor.compress3src:URRU5 gr)rr)rrFs rrQ7TestGzip.test_flush_modes..FakeCompressor.flush5s !!$'rrN))r&r'r(r)rrrQr*rrrFakeCompressorr0s   rrr=rrNr>) zlib_moder) rrr r@rrQr Z_SYNC_FLUSHrBr)rrrfcrHexpected_modess rtest_flush_modesTestGzip.test_flush_modes-s   JJL   ]]13] /1J GGI GGBK GGcG " 0         >20 /s 7B++ B9cv[R"5nSn[RUSS9nUR U5 UR [ U55 UR U5 SSS5 UR5nUR[RU5US-5 g!,(df  NG=f)Nrr=rr) rrr r@rAr$rCr2rBr)rrrrHrEs rtest_write_seek_writeTestGzip.test_write_seek_writeHs JJL, ]]13] /1 GGG  FF3w< GGG 0zz| .! < 0 /s =B** B8c[5n[R[R"5SS9 [ R "5 URUR5 SSS5 g!,(df  g=f)Nr=r) rr r@rrgccollectr unraisable)rcms rtest_refloop_unraisable TestGzip.test_refloop_unraisableUsI ( )R MM"**,SM 9 JJL   bmm ,* ) )s AA,, A:)r1N)r)?r&r'r(r)rJrWrarmrqrwr~rrr rrrrrrrrrrrrrrrrr rrr"r%r+r/r5rBrKrYrdrmrsrwr|rrrrrrrrrrrrrrrrr*rrrr:r:;s;/  0"' 8? .& 7S#.$.85-&/ F 5 "&*!58 < 11Hf?(7* F?@ 57,7G.R&8P98 /#*J 4 95 95 ;KK 70(/0*36 =-rr:cJ\rSrSrSrSrSrSrSrSr Sr S r S r S r g ) TestOpeni`c[S-n[RURS5nUR U5 SSS5 [URS5n[R UR 55nURX15 SSS5 [RURS5nURUR 5U5 SSS5 [RURS5nUR U5 SSS5 [URS5n[R UR 55nURX1S-5 SSS5 UR[5 [RURS5 SSS5 [R"UR5 [RURS5nUR U5 SSS5 [URS5n[R UR 55nURX15 SSS5 g!,(df  GN'=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GNC=f!,(df  GN=f!,(df  N=f!,(df  g=f)NrNrMr{rrr rPr rr1rArrDrBr|rrr0rr3rH file_datas rtest_binary_modesTestOpen.test_binary_modesasrz YYt}}d +q GGL !, $-- &!1I   Y 5'YYt}}d +q   QVVX| 4,YYt}}d +q GGL !, $-- &!1I   Yq(8 9'   / IIdmmT *0' YYt}}d +q GGL !, $-- &!1I   Y 5' &), + & &, +, + & &0 /, + & &_I5I.7!JJ08J$!J6.K5K I+. I= J J!$ J36 K K K'c[R"UR5n[R US5nUR [ S-5 SSS5 URWRUR5 [R US5nUR [ 5 SSS5 URURUR5 [R U5nURUR5[ S-5 SSS5 URURUR5 g!,(df  N=f!,(df  N=f!,(df  NW=f)NrMrNrr[) rr\r1r rrArPrBr^rD)rr1rHs rtest_pathlike_fileTestOpen.test_pathlike_file|s%%dmm4 YYx &! GGEBJ ' / YYx &! GGEN' / YYx A   QVVXurz 2! /' &' &! s#EE-(E& E E#& E4c[S-n[RURS5nUR U5 SSS5 [URS5n[R UR 55nURX15 SSS5 [RURS5nURUR 5U5 SSS5 [RURS5nUR U5 SSS5 [URS5n[R UR 55nURX1S-5 SSS5 UR[5 [RURS5 SSS5 [R"UR5 [RURS5nUR U5 SSS5 [URS5n[R UR 55nURX15 SSS5 g!,(df  GN'=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GNC=f!,(df  GN=f!,(df  N=f!,(df  g=f)NrNr=r{r>rZrrrrs rtest_implicit_binary_modes#TestOpen.test_implicit_binary_modessrz YYt}}c *a GGL !+ $-- &!1I   Y 5'YYt}}c *a   QVVX| 4+YYt}}c *a GGL !+ $-- &!1I   Yq(8 9'   / IIdmmS )0' YYt}}c *a GGL !+ $-- &!1I   Y 5' &)+ * & &+ *+ * & &0 /+ * & &rc$[RS5S-nURS[R5n[ R URSSS9nURU5 SSS5 [ URS5n[ RUR55RS5nURXB5 SSS5 [ R URSSS9nURUR5U5 SSS5 [ R URSSS9nURU5 SSS5 [ URS5n[ RUR55RS5nURXBS -5 SSS5 g!,(df  GNX=f!,(df  GN=f!,(df  N=f!,(df  N=f!,(df  g=f) NrErN wtrFr{rtatr rPrHreplacerTlinesepr rr1rArrDrBrr3uncompressed_rawrHrs rtest_text_modesTestOpen.test_text_modessf||G,r1 '//bjjA YYt}}dWY = GGL !> $-- &!188AI   Y 9'YYt}}dWY =   QVVX| 4> YYt}}dWY = GGL !> $-- &!188AI   Y1(< =' &> = & &> = = = & &s>F;AG 3!G;G0+AH; G  G G-0 G> Hc[S-nURS5n[RU5n[R [ R "U5S5nURUR5U5 SSS5 [R [ R "U5S5nURUR5U5 SSS5 [R [ R "U5SSS9nURUR5U5 SSS5 g!,(df  N=f!,(df  Nr=f!,(df  g=f)NrNrEr>r{rrF) rPrHr rrrrrBrD)runcompressed_bytesuncompressed_strrrHs r test_fileobjTestOpen.test_fileobjs"RZ-44W=]]#56 YYrzz*-s 3q   QVVX'9 :4 YYrzz*-t 4   QVVX'9 :5 YYrzz*-tgY F!   QVVX'7 8G F 4 3 4 4 F Fs$!D)-!D:?!E ) D7: E EcUR[5 [RS5 SSS5 UR[5 [RUR S5 SSS5 UR[5 [RUR S5 SSS5 UR[5 [RUR SSS9 SSS5 UR[5 [RUR SSS9 SSS5 UR[5 [RUR SS S 9 SSS5 g!,(df  GNC=f!,(df  GN=f!,(df  N=f!,(df  N=f!,(df  N=f!,(df  g=f) Ngw/^@wbtxbtr{zutf-8rFignore)errorsr)newline)r|r}r rrr1rs rtest_bad_paramsTestOpen.test_bad_paramss   y ) IIg *   z * IIdmmU ++   z * IIdmmU ++   z * IIdmmTGI <+   z * IIdmmT(I ;+   z * IIdmmT4I 8+ ** ) * * * * * * * * * *sGE( !E:!F  F F.? F?( E7: F  F F+. F<? G c[RS5S-nURS[R5n[ R URSSS9nURU5 SSS5 [ URS5n[ RUR55RS5nURXB5 SSS5 [ R URSSS9nURUR5U5 SSS5 g!,(df  N=f!,(df  Nh=f!,(df  g=f) NrErNrrzutf-16rFr{rrr s r test_encodingTestOpen.test_encodings||G,r1 '//bjjA YYt}}dXY >! GGL !? $-- &!188BI   Y 9'YYt}}dXY >!   QVVX| 4? > ? > & &? >s%DAD.3!D? D+. D<? E cN[RURS5nURS5 SSS5 [RURSSSS9nUR UR 5S5 SSS5 g!,(df  NX=f!,(df  g=f)NrMsfoobarrrEr)rGrfoobar)r rr1rArBrDrVs rtest_encoding_error_handler$TestOpen.test_encoding_error_handlersq YYt}}d +q GGM ", YYt}}dWXY N   QVVXx 0O N, + N NsB!B B B$c[RS5S-n[RURSSSS9nUR U5 SSS5 [RURSSSS9nUR UR5U/5 SSS5 g!,(df  NY=f!,(df  g=f)NrErNrr)rGrr )rPrHr rr1rArBr)rr3rHs r test_newlineTestOpen.test_newlines||G,r1 YYt}}dWdY Kq GGL !L YYt}}dWdY Kq   Q[[]\N ;L KL K K KsB3"B/ B,/ B=rN)r&r'r(r)rrrr rrrr r$r*rrrrr`s/66 068> 9 9 51^[R"T5UU4Sj5nU$)Nc>[R"T5 T"U0UD6[R"T5 $![R"T5 f=fr)rTmakedirsrrmtree)r#kwargs directoryfunctions rwrapper?create_and_remove_directory..decorator..wrappers> KK " ,00  +   +s 7A) functoolswraps)r-r.r,s` r decorator.create_and_remove_directory..decorators%  " , # , rr)r,r2s` rcreate_and_remove_directoryr4s rc\rSrSrSr\"5S5r\"\5S5r Sr \"5\"\5S55r \"\5S5r \"\5S5r S rS rS rg ) TestCommandLineisThis is a simple test with gzipc[R"5n[RUSS9nUR UR 5 SSS5 [ RSSS4n[U[[[S9nURUR55upVSSS5 SSS5 URWS5 URWUR 5 g!,(df  N=f!,(df  NV=f!,(df  N_=f)NrMr-mr -dstdinstdoutstderrr) rrr r@rArEsys executablerr communicater2rB)rbytes_io gzip_filer#procouterrs rtest_decompress_stdin_stdout,TestCommandLine.test_decompress_stdin_stdouts ZZ\Xxd;y *<>>45Dt4TBd++H,=,=,?@C  c" dii(<;CB \s:C>C4C>;"C-C> C* &C>- C; 7C>> D c[RR[S5nUR [RR U55 [ RUSS9nURUR5 SSS5 [SSSU5up4n[[RR[S5S5nURUR5UR5 SSS5 URR U55 URUS 5 URUS 5 URUS 5 g!,(df  N=f!,(df  N=f) Nz testgzip.gzrM)rFr8r r9testgzipr{rr)rTpathrTEMPDIRrexistsr rrArEr rBrDr)rgzipnamefprcrDrEgunzipeds rtest_decompress_infile_outfile.TestCommandLine.test_decompress_infile_outfiles77<<7 12 YYxdY +r HHTYY ,'fdHE  "'',,w 3T :h   X]]_dii 8; x01 Q c" c", +; :s'E" +E3" E03 Fc[SSSS5upnURSUR55 URUS5 URUS5 g)Nr8r r9zthisisatest.outs.filename doesn't end in .gz: 'thisisatest.out'rr)r rBstriprrOrDrEs r$test_decompress_infile_outfile_error4TestCommandLine.test_decompress_infile_outfile_errorsN,T64ARS  JCIIKX Q c"rc[RSS4n[U[[[S9nUR UR 5up4SSS5 UR WS5 UR WSSS5 g!,(df  N6=f)Nr8r r:rrr)r>r?rrr@rErB)rr#rCrDrEs rtest_compress_stdin_outfile+TestCommandLine.test_compress_stdin_outfilesp~~tV+ 4tD >$'' 2HC? c" Ra+. ? >s A:: Bc[RR[S5nUS-nUR [RR U55 [ US5nURUR5 SSS5 [SSU5upEnUR[RR U55 URUS5 URUS5 g!,(df  Nq=f)NrI.gzrMr8r r) rTrJrrKrrLrrArEr rrB)rlocal_testgziprMrNrOrDrEs r$test_compress_infile_outfile_default4TestCommandLine.test_compress_infile_outfile_default)sgz:!E) 12 .$ '2 HHTYY ((fnE  x01 c" c"( 's $C++ C9cSGHInURUS9 [RR[S5nUS-nUR [RR U55 [US5nURUR5 SSS5 [SSX5upVnUR[RR U55 URUS5 URUS5 [R"U5 UR [RR U55 SSS5 GML g!,(df  N=f!,(df  GMp=f) N)--fast--best)compress_levelrIr\rMr8r r)rrTrJrrKrrLrrArEr rrBremove)rrcr]rMrNrOrDrEs rtest_compress_infile_outfile,TestCommandLine.test_compress_infile_outfile8s2N^unittest subprocessrr test.supportrrrrr r test.support.script_helperr r import_moduler rrPrrJabspathr8rKrrTestCaser,r:rr4r6r&mainrrrrxs  "3&"==N""6*""6*   ''//)** +h 6&2::&(x  (b -xb -JH