summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_socket.py
diff options
context:
space:
mode:
authorMartin Panter <vadmium+py@gmail.com>2016-04-11 00:38:12 (GMT)
committerMartin Panter <vadmium+py@gmail.com>2016-04-11 00:38:12 (GMT)
commit50ab1a3694c43b9ab6798b98d9e5983c78cb17e2 (patch)
tree5ad077a9ff466bd0cab3074373f687b0e77367c1 /Lib/test/test_socket.py
parentf01e408c1688a207eba18444da8c151c872fba59 (diff)
downloadcpython-50ab1a3694c43b9ab6798b98d9e5983c78cb17e2.zip
cpython-50ab1a3694c43b9ab6798b98d9e5983c78cb17e2.tar.gz
cpython-50ab1a3694c43b9ab6798b98d9e5983c78cb17e2.tar.bz2
Issue #26685: Raise OSError if closing a socket fails
Diffstat (limited to 'Lib/test/test_socket.py')
-rw-r--r--Lib/test/test_socket.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 02bc0c0..982a976 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -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