[3.9] gh-108342: Make ssl TestPreHandshakeClose more reliable (GH-108370) (#108407)
authorŁukasz Langa <lukasz@langa.pl>
Thu, 24 Aug 2023 10:09:11 +0000 (12:09 +0200)
committerArnaud Rebillout <arnaudr@debian.org>
Thu, 14 May 2026 03:00:00 +0000 (10:00 +0700)
commit569d653ea081619b25f4b57e265e48e1bfcd0346
treeb9ce8b047675a7d52558d26e987fc736ffa085d4
parenta4f4abff6b0d168ab60a9cb23bf2141d5e32c3b8
[3.9] gh-108342: Make ssl TestPreHandshakeClose more reliable (GH-108370) (#108407)

* 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>
Gbp-Pq: Name 0018-3.9-gh-108342-Make-ssl-TestPreHandshakeClose-more-re.patch
Lib/test/test_ssl.py