[3.12] gh-109096: Silence test_httpservers fork + threads DeprecationWarning on CGI support (#109471)

[3.12] gh-109096: Silence test_httpservers fork + threads DeprecationWarning on CGI support.

We're not fixing CGIHTTPRequestHandler as it is deprecated in 3.13 to go
away in 3.15.  This just removes noise from our test suite when warnings
are rightfully enabled.

If the long pre-existing fork+threading mix here ever causes anyone
deadlocks as is possible, disabling the test entirely on that platform
makes sense rather than attempting to fix
http.server.CGIHTTPRequestHandler or refactor to not use a threaded
server in the test.
This commit is contained in:
Gregory P. Smith 2023-09-17 13:49:42 -07:00 committed by GitHub
parent e9a90523c9
commit 52bbb224ba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -26,6 +26,7 @@
import datetime
import threading
from unittest import mock
import warnings
from io import BytesIO, StringIO
import unittest
@ -699,7 +700,11 @@ def test_html_escape_filename(self):
"This test can't be run reliably as root (issue #13308).")
class CGIHTTPServerTestCase(BaseTestCase):
class request_handler(NoLogRequestHandler, CGIHTTPRequestHandler):
pass
def run_cgi(self):
# Silence the threading + fork DeprecationWarning this causes.
# gh-109096: This is deprecated in 3.13 to go away in 3.15.
with warnings.catch_warnings(action='ignore', category=DeprecationWarning):
return super().run_cgi()
linesep = os.linesep.encode('ascii')