summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_ssl.py
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-04-24 22:07:51 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-04-24 22:07:51 (GMT)
commitc2203f92ff05840873d68ae6369a302c7db4948e (patch)
tree14c9b197c7a6ea3c88e8c153440f2aa802dc3029 /Lib/test/test_ssl.py
parentec146185c4382206ecbbcaa505c81b8c04992f3a (diff)
downloadcpython-c2203f92ff05840873d68ae6369a302c7db4948e.zip
cpython-c2203f92ff05840873d68ae6369a302c7db4948e.tar.gz
cpython-c2203f92ff05840873d68ae6369a302c7db4948e.tar.bz2
Merged revisions 80456 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r80456 | antoine.pitrou | 2010-04-25 00:04:40 +0200 (dim., 25 avril 2010) | 5 lines Issue #8524: When creating an SSL socket, the timeout value of the original socket wasn't retained (instead, a socket with a positive timeout would be turned into a non-blocking SSL socket). ........
Diffstat (limited to 'Lib/test/test_ssl.py')
-rw-r--r--Lib/test/test_ssl.py29
1 files changed, 18 insertions, 11 deletions
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 403f6bf..7eea4b8 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -110,6 +110,15 @@ class BasicTests(unittest.TestCase):
del ss
self.assertEqual(wr(), None)
+ def test_timeout(self):
+ # Issue #8524: when creating an SSL socket, the timeout of the
+ # original socket should be retained.
+ for timeout in (None, 0.0, 5.0):
+ s = socket.socket(socket.AF_INET)
+ s.settimeout(timeout)
+ ss = ssl.wrap_socket(s)
+ self.assertEqual(timeout, ss.gettimeout())
+
class NetworkedTests(unittest.TestCase):
@@ -1262,17 +1271,15 @@ else:
started.wait()
try:
- if 0:
- # Disabled until #8524 finds a solution
- try:
- c = socket.socket(socket.AF_INET)
- c.settimeout(1.0)
- c.connect((host, port))
- # Will attempt handshake and time out
- self.assertRaisesRegexp(ssl.SSLError, "timed out",
- ssl.wrap_socket, c)
- finally:
- c.close()
+ try:
+ c = socket.socket(socket.AF_INET)
+ c.settimeout(0.2)
+ c.connect((host, port))
+ # Will attempt handshake and time out
+ self.assertRaisesRegexp(ssl.SSLError, "timed out",
+ ssl.wrap_socket, c)
+ finally:
+ c.close()
try:
c = socket.socket(socket.AF_INET)
c = ssl.wrap_socket(c)