]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.11] gh-108342: Make ssl TestPreHandshakeClose more reliable (GH-108370) (#108405)
authorŁukasz Langa <lukasz@langa.pl>
Thu, 24 Aug 2023 10:08:52 +0000 (12:08 +0200)
committerGitHub <noreply@github.com>
Thu, 24 Aug 2023 10:08:52 +0000 (12:08 +0200)
commitd90f2f3a6292614ce8ae22a15694dcb676bc8c36
tree8e18b9b04cb882be2eff4a3151173b7a1d42d611
parent869dc14a2ebabaa6dcf7c727e6346616f7798906
[3.11] gh-108342: Make ssl TestPreHandshakeClose more reliable (GH-108370) (#108405)

* In preauth tests of test_ssl, explicitly break reference cycles
  invoving SingleConnectionTestServerThread to make sure that the
  thread is deleted. Otherwise, the test marks the environment as
  altered because the threading module sees a "dangling thread"
  (SingleConnectionTestServerThread). This test leak was introduced
  by the test added for the fix of issue gh-108310.
* Use support.SHORT_TIMEOUT instead of hardcoded 1.0 or 2.0 seconds
  timeout.
* SingleConnectionTestServerThread.run() catchs TimeoutError
* Fix a race condition (missing synchronization) in
  test_preauth_data_to_tls_client(): the server now waits until the
  client connect() completed in call_after_accept().
* test_https_client_non_tls_response_ignored() calls server.join()
  explicitly.
* Replace "localhost" with server.listener.getsockname()[0].
(cherry picked from commit 592bacb6fc0833336c0453e818e9b95016e9fd47)

Co-authored-by: Victor Stinner <vstinner@python.org>
Lib/test/test_ssl.py