Lines Matching +full:zlib +full:- +full:level
13 zlib = import_helper.import_module('zlib') variable
16 hasattr(zlib.compressobj(), "copy"),
19 hasattr(zlib.decompressobj(), "copy"),
22 # bpo-46623: On s390x, when a hardware accelerator is used, using different
23 # ways to compress data with zlib can produce different compressed data.
27 # return zlib.compress(data)
30 # co = zlib.compressobj()
35 # On s390x if zlib uses a hardware accelerator, func1() creates a single
44 # zlib.decompress(func1(data)) == zlib.decompress(func2(data)) == data
60 self.assertEqual(zlib.ZLIB_RUNTIME_VERSION[0], zlib.ZLIB_VERSION[0])
66 self.assertEqual(zlib.crc32(b""), zlib.crc32(b"", 0))
67 self.assertTrue(zlib.crc32(b"abc", 0xffffffff))
70 self.assertEqual(zlib.crc32(b"", 0), 0)
71 self.assertEqual(zlib.crc32(b"", 1), 1)
72 self.assertEqual(zlib.crc32(b"", 432), 432)
75 self.assertEqual(zlib.adler32(b""), zlib.adler32(b"", 1))
76 self.assertTrue(zlib.adler32(b"abc", 0xffffffff))
79 self.assertEqual(zlib.adler32(b"", 0), 0)
80 self.assertEqual(zlib.adler32(b"", 1), 1)
81 self.assertEqual(zlib.adler32(b"", 432), 432)
84 self.assertEqual(zlib.crc32(b"penguin", 0), 0x0e5c1a120)
85 self.assertEqual(zlib.crc32(b"penguin", 1), 0x43b6aa94)
86 self.assertEqual(zlib.adler32(b"penguin", 0), 0x0bcf02f6)
87 self.assertEqual(zlib.adler32(b"penguin", 1), 0x0bd602f7)
89 self.assertEqual(zlib.crc32(b"penguin"), zlib.crc32(b"penguin", 0))
90 self.assertEqual(zlib.adler32(b"penguin"),zlib.adler32(b"penguin",1))
95 self.assertEqual(zlib.crc32(foo), 2486878355)
96 self.assertEqual(zlib.crc32(b'spam'), 1138425661)
97 self.assertEqual(zlib.adler32(foo+foo), 3573550353)
98 self.assertEqual(zlib.adler32(b'spam'), 72286642)
104 self.assertEqual(zlib.crc32(foo), crc)
105 self.assertEqual(binascii.crc32(b'spam'), zlib.crc32(b'spam'))
108 # Issue #10276 - check that inputs >=4 GiB are handled correctly.
114 self.assertEqual(zlib.crc32(data), 1044521549)
115 self.assertEqual(zlib.adler32(data), 2256789997)
121 # specifying compression level out of range causes an error
122 # (but -1 is Z_DEFAULT_COMPRESSION and apparently the zlib
124 self.assertRaises(zlib.error, zlib.compress, b'ERROR', 10)
127 self.assertRaises(TypeError, zlib.adler32)
128 self.assertRaises(TypeError, zlib.crc32)
129 self.assertRaises(TypeError, zlib.compress)
130 self.assertRaises(TypeError, zlib.decompress)
132 self.assertRaises(TypeError, zlib.adler32, arg)
133 self.assertRaises(TypeError, zlib.crc32, arg)
134 self.assertRaises(TypeError, zlib.compress, arg)
135 self.assertRaises(TypeError, zlib.decompress, arg)
139 self.assertRaises(ValueError, zlib.compressobj, 1, zlib.DEFLATED, 0)
142 zlib.compressobj, 1, zlib.DEFLATED, zlib.MAX_WBITS + 1)
146 self.assertRaises(ValueError, zlib.decompressobj, -1)
150 self.assertRaises(ValueError, zlib.decompressobj().flush, 0)
151 self.assertRaises(ValueError, zlib.decompressobj().flush, -1)
156 zlib.decompress(b'', 15, sys.maxsize + 1)
158 zlib.decompressobj().decompress(b'', sys.maxsize + 1)
160 zlib.decompressobj().flush(sys.maxsize + 1)
164 # Ensure that the type disallows instantiation (bpo-43916)
165 support.check_disallow_instantiation(self, type(zlib.compressobj()))
166 support.check_disallow_instantiation(self, type(zlib.decompressobj()))
173 # The assumption is that zlib's memory is not big enough to exploit
186 compressed = zlib.compress(data, 1)
202 x = zlib.compress(HAMLET_SCENE)
203 self.assertEqual(zlib.decompress(x), HAMLET_SCENE)
206 x = zlib.compress(HAMLET_SCENE, level=3)
207 self.assertEqual(zlib.decompress(x), HAMLET_SCENE)
209 zlib.compress(data=HAMLET_SCENE, level=3)
210 self.assertEqual(zlib.decompress(x,
211 wbits=zlib.MAX_WBITS,
212 bufsize=zlib.DEF_BUF_SIZE),
219 x = zlib.compress(data)
220 self.assertEqual(zlib.compress(bytearray(data)), x)
222 self.assertEqual(zlib.decompress(ob), data)
226 x = zlib.compress(HAMLET_SCENE)
227 self.assertRaisesRegex(zlib.error,
228 "Error -5 while decompressing data: incomplete or truncated stream",
229 zlib.decompress, x[:-1])
235 compress = lambda s: zlib.compress(s, 1)
240 self.check_big_decompress_buffer(size, zlib.decompress)
246 compressed = zlib.compress(data, 1)
247 self.assertEqual(zlib.decompress(compressed, 15, size), data)
251 compressed = zlib.compress(data, 1)
252 self.assertEqual(zlib.decompress(compressed, 15, CustomInt()), data)
259 comp = zlib.compress(data, 0)
260 self.assertEqual(zlib.decompress(comp), data)
271 datazip = zlib.compress(datasrc)
274 co = zlib.compressobj()
277 self.assertRaises(zlib.error, co.flush) # second flush should not work
280 dco = zlib.decompressobj()
288 level = 2
289 method = zlib.DEFLATED
290 wbits = -12
292 strategy = zlib.Z_FILTERED
293 co = zlib.compressobj(level=level,
299 do = zlib.decompressobj(wbits=wbits, zdict=b"")
303 do.decompress(data=zlib.compress(HAMLET_SCENE))
310 level = 2
311 method = zlib.DEFLATED
312 wbits = -12
314 strategy = zlib.Z_FILTERED
315 co = zlib.compressobj(level, method, wbits, memLevel, strategy)
318 dco = zlib.decompressobj(wbits)
324 # compress object in steps, decompress object as one-shot
326 co = zlib.compressobj()
333 dco = zlib.decompressobj()
342 co = zlib.compressobj()
349 decombuf = zlib.decompress(combuf)
355 dco = zlib.decompressobj()
383 # compress in steps, decompress in length-restricted steps
387 co = zlib.compressobj()
393 self.assertEqual(data, zlib.decompress(combuf),
396 dco = zlib.decompressobj()
412 co = zlib.compressobj()
418 self.assertEqual(data, zlib.decompress(combuf),
421 dco = zlib.decompressobj()
446 dco = zlib.decompressobj()
447 self.assertRaises(ValueError, dco.decompress, b"", -1)
451 # Sizes up to sys.maxsize should be accepted, although zlib is
454 self.assertGreater(len(data), zlib.DEF_BUF_SIZE)
455 compressed = zlib.compress(data, 1)
456 dco = zlib.decompressobj()
461 compressed = zlib.compress(data, 1)
462 dco = zlib.decompressobj()
469 dco = zlib.decompressobj()
480 ver = tuple(int(v) for v in zlib.ZLIB_RUNTIME_VERSION.split('.'))
485 sync_opt = [getattr(zlib, opt) for opt in sync_opt
486 if hasattr(zlib, opt)]
490 for level in range(10):
492 obj = zlib.compressobj( level )
498 print("Error for flush mode={}, level={}"
499 .format(sync, level))
501 self.assertEqual(zlib.decompress(b''.join([a,b,c,d])),
503 "mode=%i, level=%i") % (sync, level))
506 @unittest.skipUnless(hasattr(zlib, 'Z_SYNC_FLUSH'),
507 'requires zlib.Z_SYNC_FLUSH')
514 co = zlib.compressobj(zlib.Z_BEST_COMPRESSION)
515 dco = zlib.decompressobj()
532 # compress, sync-flush, and decompress
534 second = co.flush(zlib.Z_SYNC_FLUSH)
542 # (Bug #1083110 -- calling .flush() on decompress objects
545 co = zlib.compressobj(zlib.Z_BEST_COMPRESSION)
546 self.assertTrue(co.flush()) # Returns a zlib header
547 dco = zlib.decompressobj()
557 co = zlib.compressobj(zdict=zdict)
560 dco = zlib.decompressobj(zdict=zdict)
563 dco = zlib.decompressobj()
564 self.assertRaises(zlib.error, dco.decompress, cd)
569 co = zlib.compressobj(zdict=HAMLET_SCENE)
570 do = zlib.decompressobj(zdict=HAMLET_SCENE)
572 d0 = co.compress(piece) + co.flush(zlib.Z_SYNC_FLUSH)
573 d1 = co.compress(piece[100:]) + co.flush(zlib.Z_SYNC_FLUSH)
574 d2 = co.compress(piece[:-100]) + co.flush(zlib.Z_SYNC_FLUSH)
577 self.assertEqual(do.decompress(d2), piece[:-100])
583 self.assertEqual(zlib.decompress(x), b'foo')
584 self.assertRaises(zlib.error, zlib.decompress, x[:-5])
587 dco = zlib.decompressobj()
588 y = dco.decompress(x[:-5])
594 dco = zlib.decompressobj()
596 dco.decompress(x[:-5])
598 dco.decompress(x[-5:])
605 dco = zlib.decompressobj()
607 dco.decompress(x[:-5])
617 y = zlib.compress(source)
621 dco = zlib.decompressobj()
641 co = zlib.compressobj(wbits=-zlib.MAX_WBITS, zdict=zdict)
643 dco = zlib.decompressobj(wbits=-zlib.MAX_WBITS, zdict=zdict)
652 data = zlib.compress(input1)
653 dco = zlib.decompressobj()
656 data = zlib.compress(input2)
663 data = zlib.compress(input, 1)
664 dco = zlib.decompressobj()
670 data = zlib.compress(input, 1)
671 dco = zlib.decompressobj()
681 c0 = zlib.compressobj(zlib.Z_BEST_COMPRESSION)
696 self.assertEqual(zlib.decompress(s0),data0+data0)
697 self.assertEqual(zlib.decompress(s1),data0+data1)
702 c = zlib.compressobj()
713 comp = zlib.compress(data)
718 d0 = zlib.decompressobj()
737 data = zlib.compress(HAMLET_SCENE)
738 d = zlib.decompressobj()
748 pickle.dumps(zlib.compressobj(zlib.Z_BEST_COMPRESSION), proto)
753 pickle.dumps(zlib.decompressobj(), proto)
759 c = zlib.compressobj(1)
765 d = zlib.decompressobj()
773 co = zlib.compressobj(0)
774 do = zlib.decompressobj()
787 comp = zlib.compress(data) + unused
788 do = zlib.decompressobj()
800 do = zlib.decompressobj()
802 comp = zlib.compress(data, 0)
810 # wbits=0 only supported since zlib v1.2.3.5
812 # or "1.2.0-linux","1.2.0.f","1.2.0.f-linux"
813 v = zlib.ZLIB_RUNTIME_VERSION.split('-', 1)[0].split('.')
816 elif not v[-1].isnumeric():
817 v[-1] = '0'
822 co = zlib.compressobj(level=1, wbits=15)
824 self.assertEqual(zlib.decompress(zlib15, 15), HAMLET_SCENE)
826 self.assertEqual(zlib.decompress(zlib15, 0), HAMLET_SCENE)
827 self.assertEqual(zlib.decompress(zlib15, 32 + 15), HAMLET_SCENE)
828 with self.assertRaisesRegex(zlib.error, 'invalid window size'):
829 zlib.decompress(zlib15, 14)
830 dco = zlib.decompressobj(wbits=32 + 15)
832 dco = zlib.decompressobj(wbits=14)
833 with self.assertRaisesRegex(zlib.error, 'invalid window size'):
836 co = zlib.compressobj(level=1, wbits=9)
838 self.assertEqual(zlib.decompress(zlib9, 9), HAMLET_SCENE)
839 self.assertEqual(zlib.decompress(zlib9, 15), HAMLET_SCENE)
841 self.assertEqual(zlib.decompress(zlib9, 0), HAMLET_SCENE)
842 self.assertEqual(zlib.decompress(zlib9, 32 + 9), HAMLET_SCENE)
843 dco = zlib.decompressobj(wbits=32 + 9)
846 co = zlib.compressobj(level=1, wbits=-15)
848 self.assertEqual(zlib.decompress(deflate15, -15), HAMLET_SCENE)
849 dco = zlib.decompressobj(wbits=-15)
852 co = zlib.compressobj(level=1, wbits=-9)
854 self.assertEqual(zlib.decompress(deflate9, -9), HAMLET_SCENE)
855 self.assertEqual(zlib.decompress(deflate9, -15), HAMLET_SCENE)
856 dco = zlib.decompressobj(wbits=-9)
859 co = zlib.compressobj(level=1, wbits=16 + 15)
861 self.assertEqual(zlib.decompress(gzip, 16 + 15), HAMLET_SCENE)
862 self.assertEqual(zlib.decompress(gzip, 32 + 15), HAMLET_SCENE)
863 dco = zlib.decompressobj(32 + 15)
866 for wbits in (-15, 15, 31):
869 actual = zlib.decompress(
870 zlib.compress(HAMLET_SCENE, wbits=wbits), wbits=wbits
905 Of each new-hatch'd, unfledged comrade. Beware