summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_fileio.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_fileio.py')
-rw-r--r--Lib/test/test_fileio.py15
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):