Add a reasonable timeout to network SSL tests, so as to avoid buildbot timeouts
when the remote server doesn't answer.
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 091234c..175091c 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -295,10 +295,12 @@
 
 
 class NetworkedTests(unittest.TestCase):
+    timeout = 30
 
     def test_connect(self):
         s = ssl.wrap_socket(socket.socket(socket.AF_INET),
                             cert_reqs=ssl.CERT_NONE)
+        s.settimeout(self.timeout)
         try:
             s.connect(("svn.python.org", 443))
             self.assertEqual({}, s.getpeercert())
@@ -308,6 +310,7 @@
         # this should fail because we have no verification certs
         s = ssl.wrap_socket(socket.socket(socket.AF_INET),
                             cert_reqs=ssl.CERT_REQUIRED)
+        s.settimeout(self.timeout)
         self.assertRaisesRegexp(ssl.SSLError, "certificate verify failed",
                                 s.connect, ("svn.python.org", 443))
         s.close()
@@ -316,6 +319,7 @@
         s = ssl.wrap_socket(socket.socket(socket.AF_INET),
                             cert_reqs=ssl.CERT_REQUIRED,
                             ca_certs=SVN_PYTHON_ORG_ROOT_CERT)
+        s.settimeout(self.timeout)
         try:
             s.connect(("svn.python.org", 443))
             self.assertTrue(s.getpeercert())
@@ -326,6 +330,7 @@
         # Same as test_connect, but with a separately created context
         ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
         s = ctx.wrap_socket(socket.socket(socket.AF_INET))
+        s.settimeout(self.timeout)
         s.connect(("svn.python.org", 443))
         try:
             self.assertEqual({}, s.getpeercert())
@@ -334,12 +339,14 @@
         # This should fail because we have no verification certs
         ctx.verify_mode = ssl.CERT_REQUIRED
         s = ctx.wrap_socket(socket.socket(socket.AF_INET))
+        s.settimeout(self.timeout)
         self.assertRaisesRegexp(ssl.SSLError, "certificate verify failed",
                                 s.connect, ("svn.python.org", 443))
         s.close()
         # This should succeed because we specify the root cert
         ctx.load_verify_locations(SVN_PYTHON_ORG_ROOT_CERT)
         s = ctx.wrap_socket(socket.socket(socket.AF_INET))
+        s.settimeout(self.timeout)
         s.connect(("svn.python.org", 443))
         try:
             cert = s.getpeercert()
@@ -357,6 +364,7 @@
         ctx.verify_mode = ssl.CERT_REQUIRED
         ctx.load_verify_locations(capath=CAPATH)
         s = ctx.wrap_socket(socket.socket(socket.AF_INET))
+        s.settimeout(self.timeout)
         s.connect(("svn.python.org", 443))
         try:
             cert = s.getpeercert()
@@ -368,6 +376,7 @@
         ctx.verify_mode = ssl.CERT_REQUIRED
         ctx.load_verify_locations(capath=BYTES_CAPATH)
         s = ctx.wrap_socket(socket.socket(socket.AF_INET))
+        s.settimeout(self.timeout)
         s.connect(("svn.python.org", 443))
         try:
             cert = s.getpeercert()
@@ -381,6 +390,7 @@
         # delay closing the underlying "real socket" (here tested with its
         # file descriptor, hence skipping the test under Windows).
         ss = ssl.wrap_socket(socket.socket(socket.AF_INET))
+        ss.settimeout(self.timeout)
         ss.connect(("svn.python.org", 443))
         fd = ss.fileno()
         f = ss.makefile()
@@ -396,6 +406,7 @@
 
     def test_non_blocking_handshake(self):
         s = socket.socket(socket.AF_INET)
+        s.settimeout(self.timeout)
         s.connect(("svn.python.org", 443))
         s.setblocking(False)
         s = ssl.wrap_socket(s,
@@ -452,6 +463,7 @@
         s = ssl.wrap_socket(socket.socket(socket.AF_INET),
                             cert_reqs=ssl.CERT_REQUIRED,
                             ca_certs=sha256_cert,)
+        s.settimeout(self.timeout)
         with support.transient_internet():
             try:
                 s.connect(remote)