diff options
author | Christian Heimes <christian@python.org> | 2021-04-24 05:54:08 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-24 05:54:08 (GMT) |
commit | f05c2aed7e25087122613b51f152919c79641f66 (patch) | |
tree | abc91b8e3fac31c57c39844c56274e2371fafeb9 | |
parent | b2fac1afaa7c0d41a263781fcf94d8a92dc31b48 (diff) | |
download | cpython-f05c2aed7e25087122613b51f152919c79641f66.zip cpython-f05c2aed7e25087122613b51f152919c79641f66.tar.gz cpython-f05c2aed7e25087122613b51f152919c79641f66.tar.bz2 |
bpo-31870: Fix test_get_server_certificate_timeout on Windows (GH-25570)
Some OS do not support millisecond granularity in select(). Use 100ms
timeout and a server callback with sleep to emulate a slow server.
-rw-r--r-- | Lib/test/test_ssl.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py index 327a550..31e1e73 100644 --- a/Lib/test/test_ssl.py +++ b/Lib/test/test_ssl.py @@ -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), |