Issue #8672: Add a zlib test ensuring that an incomplete stream can be

handled by a decompressor object without errors (it returns incomplete
uncompressed data).
This commit is contained in:
Antoine Pitrou 2010-05-11 23:32:31 +00:00
parent b9bf97132d
commit 37ffc3e3ba
2 changed files with 17 additions and 0 deletions

View file

@ -361,6 +361,19 @@ def test_empty_flush(self):
dco = zlib.decompressobj()
self.assertEqual(dco.flush(), "") # Returns nothing
def test_decompress_incomplete_stream(self):
# This is 'foo', deflated
x = 'x\x9cK\xcb\xcf\x07\x00\x02\x82\x01E'
# For the record
self.assertEqual(zlib.decompress(x), 'foo')
self.assertRaises(zlib.error, zlib.decompress, x[:-5])
# Omitting the stream end works with decompressor objects
# (see issue #8672).
dco = zlib.decompressobj()
y = dco.decompress(x[:-5])
y += dco.flush()
self.assertEqual(y, 'foo')
if hasattr(zlib.compressobj(), "copy"):
def test_compresscopy(self):
# Test copying a compression object

View file

@ -216,6 +216,10 @@ Extension Modules
Tests
-----
- Issue #8672: Add a zlib test ensuring that an incomplete stream can be
handled by a decompressor object without errors (it returns incomplete
uncompressed data).
- Issue #8490: asyncore now has a more solid test suite which actually tests
its API.