mirror of https://github.com/python/cpython
gh-101322: Ensure test_zlib.ZlibDecompressorTest runs, fix errors in ZlibDecompressor (#101323)
* Ensure test_zlib.ZlibDecompressorTest actually runs, fix errors in ZlibDecompressor.
This commit is contained in:
parent
144aaa74bb
commit
a89e6713c4
|
@ -944,13 +944,18 @@ LAERTES
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
class ZlibDecompressorTest():
|
class ZlibDecompressorTest(unittest.TestCase):
|
||||||
# Test adopted from test_bz2.py
|
# Test adopted from test_bz2.py
|
||||||
TEXT = HAMLET_SCENE
|
TEXT = HAMLET_SCENE
|
||||||
DATA = zlib.compress(HAMLET_SCENE)
|
DATA = zlib.compress(HAMLET_SCENE)
|
||||||
BAD_DATA = b"Not a valid deflate block"
|
BAD_DATA = b"Not a valid deflate block"
|
||||||
|
BIG_TEXT = DATA * ((128 * 1024 // len(DATA)) + 1)
|
||||||
|
BIG_DATA = zlib.compress(BIG_TEXT)
|
||||||
|
|
||||||
def test_Constructor(self):
|
def test_Constructor(self):
|
||||||
self.assertRaises(TypeError, zlib._ZlibDecompressor, 42)
|
self.assertRaises(TypeError, zlib._ZlibDecompressor, "ASDA")
|
||||||
|
self.assertRaises(TypeError, zlib._ZlibDecompressor, -15, "notbytes")
|
||||||
|
self.assertRaises(TypeError, zlib._ZlibDecompressor, -15, b"bytes", 5)
|
||||||
|
|
||||||
def testDecompress(self):
|
def testDecompress(self):
|
||||||
zlibd = zlib._ZlibDecompressor()
|
zlibd = zlib._ZlibDecompressor()
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Fix a bug where errors where not thrown by zlib._ZlibDecompressor if
|
||||||
|
encountered during decompressing.
|
|
@ -1519,6 +1519,7 @@ decompress_buf(ZlibDecompressor *self, Py_ssize_t max_length)
|
||||||
}
|
}
|
||||||
} else if (err != Z_OK && err != Z_BUF_ERROR) {
|
} else if (err != Z_OK && err != Z_BUF_ERROR) {
|
||||||
zlib_error(state, self->zst, err, "while decompressing data");
|
zlib_error(state, self->zst, err, "while decompressing data");
|
||||||
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
self->avail_in_real += self->zst.avail_in;
|
self->avail_in_real += self->zst.avail_in;
|
||||||
|
|
Loading…
Reference in New Issue