Commit 37ffc3e3 authored by Antoine Pitrou's avatar Antoine Pitrou

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).
parent b9bf9713
......@@ -361,6 +361,19 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase):
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
......
......@@ -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.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment