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