[Python-checkins] gh-92886: Replace assertion statements in `handlers.BaseHandler` to support running with optimizations (`-O`) (GH-93231)
iritkatriel
webhook-mailer at python.org
Wed Oct 19 06:39:05 EDT 2022
https://github.com/python/cpython/commit/b6e59d76c0e1214ca2c927be35f165ecd1f763df
commit: b6e59d76c0e1214ca2c927be35f165ecd1f763df
branch: main
author: Jack Hindmarch <1750152+jackh-ncl at users.noreply.github.com>
committer: iritkatriel <1055913+iritkatriel at users.noreply.github.com>
date: 2022-10-19T11:38:59+01:00
summary:
gh-92886: Replace assertion statements in `handlers.BaseHandler` to support running with optimizations (`-O`) (GH-93231)
files:
A Misc/NEWS.d/next/Library/2022-05-25-22-09-38.gh-issue-92886.ylwDSc.rst
M Lib/wsgiref/handlers.py
diff --git a/Lib/wsgiref/handlers.py b/Lib/wsgiref/handlers.py
index 6623b700537c..cd0916dc5553 100644
--- a/Lib/wsgiref/handlers.py
+++ b/Lib/wsgiref/handlers.py
@@ -237,9 +237,7 @@ def start_response(self, status, headers,exc_info=None):
self.status = status
self.headers = self.headers_class(headers)
status = self._convert_string_type(status, "Status")
- assert len(status)>=4,"Status must be at least 4 characters"
- assert status[:3].isdigit(), "Status message must begin w/3-digit code"
- assert status[3]==" ", "Status message must have a space after code"
+ self._validate_status(status)
if __debug__:
for name, val in headers:
@@ -250,6 +248,14 @@ def start_response(self, status, headers,exc_info=None):
return self.write
+ def _validate_status(self, status):
+ if len(status) < 4:
+ raise AssertionError("Status must be at least 4 characters")
+ if not status[:3].isdigit():
+ raise AssertionError("Status message must begin w/3-digit code")
+ if status[3] != " ":
+ raise AssertionError("Status message must have a space after code")
+
def _convert_string_type(self, value, title):
"""Convert/check value type."""
if type(value) is str:
diff --git a/Misc/NEWS.d/next/Library/2022-05-25-22-09-38.gh-issue-92886.ylwDSc.rst b/Misc/NEWS.d/next/Library/2022-05-25-22-09-38.gh-issue-92886.ylwDSc.rst
new file mode 100644
index 000000000000..7854381de30f
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-05-25-22-09-38.gh-issue-92886.ylwDSc.rst
@@ -0,0 +1 @@
+Replace ``assert`` statements with ``raise AssertionError()`` in :class:`~wsgiref.BaseHandler` so that the tested behaviour is maintained running with optimizations ``(-O)``.
More information about the Python-checkins
mailing list