summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_bz2.py
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-08-01 20:13:11 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-08-01 20:13:11 (GMT)
commit3970301e93ec3ab2e9a7a4c992d7056bea3ff9f6 (patch)
tree77a611a93c4da6dcc7b98308f339c6611ddb28b2 /Lib/test/test_bz2.py
parent30bfe764d739b916e9eb1807d07e3ee94e26fcbb (diff)
downloadcpython-3970301e93ec3ab2e9a7a4c992d7056bea3ff9f6.zip
cpython-3970301e93ec3ab2e9a7a4c992d7056bea3ff9f6.tar.gz
cpython-3970301e93ec3ab2e9a7a4c992d7056bea3ff9f6.tar.bz2
Merged revisions 83440 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r83440 | antoine.pitrou | 2010-08-01 22:08:46 +0200 (dim., 01 août 2010) | 4 lines Issue #8397: Raise an error when attempting to mix iteration and regular reads on a BZ2File object, rather than returning incorrect results. ........
Diffstat (limited to 'Lib/test/test_bz2.py')
-rw-r--r--Lib/test/test_bz2.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_bz2.py b/Lib/test/test_bz2.py
index 555cdeb..c7ef320 100644
--- a/Lib/test/test_bz2.py
+++ b/Lib/test/test_bz2.py
@@ -329,6 +329,24 @@ class BZ2FileTest(BaseTest):
finally:
f.close()
+ def testMixedIterationReads(self):
+ # Issue #8397: mixed iteration and reads should be forbidden.
+ f = bz2.BZ2File(self.filename, 'wb')
+ try:
+ # The internal buffer size is hard-wired to 8192 bytes, we must
+ # write out more than that for the test to stop half through
+ # the buffer.
+ f.write(self.TEXT * 100)
+ finally:
+ f.close()
+ f = bz2.BZ2File(self.filename, 'rb')
+ try:
+ next(f)
+ self.assertRaises(ValueError, f.read)
+ self.assertRaises(ValueError, f.readline)
+ self.assertRaises(ValueError, f.readlines)
+ finally:
+ f.close()
class BZ2CompressorTest(BaseTest):
def testCompress(self):