]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.10] gh-108342: Make ssl TestPreHandshakeClose more reliable (GH-108370) (#108406)
authorŁukasz Langa <lukasz@langa.pl>
Thu, 24 Aug 2023 10:09:00 +0000 (12:09 +0200)
committerGitHub <noreply@github.com>
Thu, 24 Aug 2023 10:09:00 +0000 (12:09 +0200)
commite96bddf8221d030d0ef609d62da2d364a4d0341e
treed1c3c99080042e1b5cf6136625c14b2b65fbef8c
parent893c3b7f5c52b5c0800b72a78fb799632efcd628
[3.10] gh-108342: Make ssl TestPreHandshakeClose more reliable (GH-108370) (#108406)

* 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