Merged revisions 81096 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r81096 | antoine.pitrou | 2010-05-12 01:36:40 +0200 (mer., 12 mai 2010) | 11 lines
Merged revisions 81094 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r81094 | antoine.pitrou | 2010-05-12 01:32:31 +0200 (mer., 12 mai 2010) | 6 lines
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).
........
................
diff --git a/Lib/test/test_zlib.py b/Lib/test/test_zlib.py
index 3a5bd30..0c259cc 100644
--- a/Lib/test/test_zlib.py
+++ b/Lib/test/test_zlib.py
@@ -379,6 +379,19 @@
dco = zlib.decompressobj()
self.assertEqual(dco.flush(), b"") # Returns nothing
+ def test_decompress_incomplete_stream(self):
+ # This is 'foo', deflated
+ x = b'x\x9cK\xcb\xcf\x07\x00\x02\x82\x01E'
+ # For the record
+ self.assertEqual(zlib.decompress(x), b'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, b'foo')
+
if hasattr(zlib.compressobj(), "copy"):
def test_compresscopy(self):
# Test copying a compression object
diff --git a/Misc/NEWS b/Misc/NEWS
index 491e0ac..66071eb 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -176,6 +176,10 @@
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 #8629: Disable some test_ssl tests, since they give different
results with OpenSSL 1.0.0 and higher.