mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #9759: GzipFile now raises ValueError when an operation is attempted
after the file is closed. Patch by Jeffrey Finkelstein.
This commit is contained in:
parent
cd889af917
commit
7980eaa98d
3 changed files with 35 additions and 0 deletions
|
@ -62,6 +62,28 @@ class TestGzip(unittest.TestCase):
|
|||
f = gzip.GzipFile(self.filename, 'r') ; d = f.read() ; f.close()
|
||||
self.assertEqual(d, data1*50)
|
||||
|
||||
def test_io_on_closed_object(self):
|
||||
# Test that I/O operations on closed GzipFile objects raise a
|
||||
# ValueError, just like the corresponding functions on file objects.
|
||||
|
||||
# Write to a file, open it for reading, then close it.
|
||||
self.test_write()
|
||||
f = gzip.GzipFile(self.filename, 'r')
|
||||
f.close()
|
||||
with self.assertRaises(ValueError):
|
||||
f.read(1)
|
||||
with self.assertRaises(ValueError):
|
||||
f.seek(0)
|
||||
with self.assertRaises(ValueError):
|
||||
f.tell()
|
||||
# Open the file for writing, then close it.
|
||||
f = gzip.GzipFile(self.filename, 'w')
|
||||
f.close()
|
||||
with self.assertRaises(ValueError):
|
||||
f.write(b'')
|
||||
with self.assertRaises(ValueError):
|
||||
f.flush()
|
||||
|
||||
def test_append(self):
|
||||
self.test_write()
|
||||
# Append to the previous file
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue