Issue #26685: Raise OSError if closing a socket fails

This commit is contained in:
Martin Panter 2016-04-11 00:38:12 +00:00
parent f01e408c16
commit 50ab1a3694
6 changed files with 26 additions and 2 deletions

View file

@ -1161,6 +1161,17 @@ class GeneralModuleTests(unittest.TestCase):
sock.close()
self.assertRaises(OSError, sock.send, b"spam")
def testCloseException(self):
sock = socket.socket()
socket.socket(fileno=sock.fileno()).close()
try:
sock.close()
except OSError as err:
# Winsock apparently raises ENOTSOCK
self.assertIn(err.errno, (errno.EBADF, errno.ENOTSOCK))
else:
self.fail("close() should raise EBADF/ENOTSOCK")
def testNewAttributes(self):
# testing .family, .type and .protocol