]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-31870: Fix test_get_server_certificate_timeout on Windows (GH-25570)
authorChristian Heimes <christian@python.org>
Sat, 24 Apr 2021 05:54:08 +0000 (07:54 +0200)
committerGitHub <noreply@github.com>
Sat, 24 Apr 2021 05:54:08 +0000 (07:54 +0200)
Some OS do not support millisecond granularity in select(). Use 100ms
timeout and a server callback with sleep to emulate a slow server.

Lib/test/test_ssl.py

index 327a550645b4f01ebbd1ec27de4e6cfbf887364d..31e1e7311daa560c7de895d55a61ecd6ed08a6bb 100644 (file)
@@ -2137,9 +2137,13 @@ class SimpleBackgroundTests(unittest.TestCase):
         _test_get_server_certificate_fail(self, *self.server_addr)
 
     def test_get_server_certificate_timeout(self):
+        def servername_cb(ssl_sock, server_name, initial_context):
+            time.sleep(0.2)
+        self.server_context.set_servername_callback(servername_cb)
+
         with self.assertRaises(socket.timeout):
             ssl.get_server_certificate(self.server_addr, ca_certs=SIGNING_CA,
-                                       timeout=0.0001)
+                                       timeout=0.1)
 
     def test_ciphers(self):
         with test_wrap_socket(socket.socket(socket.AF_INET),