Fix issue #9711: raise ValueError is SSLConnection constructor is invoked with keyfile and not certfile.
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index a3d1df1..8e38ae0 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -174,19 +174,24 @@
def test_errors(self):
sock = socket.socket()
- with self.assertRaisesRegexp(ValueError, "certfile must be specified"):
- ssl.wrap_socket(sock, server_side=True)
- ssl.wrap_socket(sock, server_side=True, certfile="")
+ self.assertRaisesRegexp(ValueError,
+ "certfile must be specified",
+ ssl.wrap_socket, sock, keyfile=CERTFILE)
+ self.assertRaisesRegexp(ValueError,
+ "certfile must be specified for server-side operations",
+ ssl.wrap_socket, sock, server_side=True)
+ self.assertRaisesRegexp(ValueError,
+ "certfile must be specified for server-side operations",
+ ssl.wrap_socket, sock, server_side=True, certfile="")
s = ssl.wrap_socket(sock, server_side=True, certfile=CERTFILE)
self.assertRaisesRegexp(ValueError, "can't connect in server-side mode",
s.connect, (HOST, 8080))
with self.assertRaises(IOError) as cm:
ssl.wrap_socket(socket.socket(), certfile=WRONGCERT)
self.assertEqual(cm.exception.errno, errno.ENOENT)
- # XXX - temporarily disabled as per issue #9711
- #with self.assertRaises(IOError) as cm:
- # ssl.wrap_socket(socket.socket(), keyfile=WRONGCERT)
- #self.assertEqual(cm.exception.errno, errno.ENOENT)
+ with self.assertRaises(IOError) as cm:
+ ssl.wrap_socket(socket.socket(), certfile=CERTFILE, keyfile=WRONGCERT)
+ self.assertEqual(cm.exception.errno, errno.ENOENT)
with self.assertRaises(IOError) as cm:
ssl.wrap_socket(socket.socket(), certfile=WRONGCERT, keyfile=WRONGCERT)
self.assertEqual(cm.exception.errno, errno.ENOENT)