Decompressed data buffering should be limited
(self)
| 741 | self.assertEqual(f.name, self.filename) |
| 742 | |
| 743 | def testDecompressLimited(self): |
| 744 | """Decompressed data buffering should be limited""" |
| 745 | bomb = bz2.compress(b'\0' * int(2e6), compresslevel=9) |
| 746 | self.assertLess(len(bomb), _streams.BUFFER_SIZE) |
| 747 | |
| 748 | decomp = BZ2File(BytesIO(bomb)) |
| 749 | self.assertEqual(decomp.read(1), b'\0') |
| 750 | max_decomp = 1 + DEFAULT_BUFFER_SIZE |
| 751 | self.assertLessEqual(decomp._buffer.raw.tell(), max_decomp, |
| 752 | "Excessive amount of data was decompressed") |
| 753 | |
| 754 | |
| 755 | # Tests for a BZ2File wrapping another file object: |
nothing calls this directly
no test coverage detected