diff options
Diffstat (limited to 'Lib/test/test_fileio.py')
-rw-r--r-- | Lib/test/test_fileio.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py index 498d3fc..9f94053 100644 --- a/Lib/test/test_fileio.py +++ b/Lib/test/test_fileio.py @@ -2,6 +2,7 @@ import sys import os +import errno import unittest from array import array from weakref import proxy @@ -113,6 +114,20 @@ class AutoFileTests(unittest.TestCase): else: self.fail("Should have raised IOError") + def testErrnoOnClose(self): + # Test that the IOError's `errno` attribute is correctly set when + # close() fails. Here we first close the file descriptor ourselves so + # that close() fails with EBADF ('Bad file descriptor'). + f = self.f + os.close(f.fileno()) + self.f = None + try: + f.close() + except IOError as e: + self.assertEqual(e.errno, errno.EBADF) + else: + self.fail("Should have raised IOError") + class OtherFileTests(unittest.TestCase): |