bpo-35565: Add detail to assertion failure message in wsgiref (GH-11293)

This commit is contained in:
Cheryl Sabella 2018-12-25 18:19:11 -05:00 committed by Raymond Hettinger
parent 32d96a2b5b
commit 5ef4fc241a
2 changed files with 15 additions and 1 deletions

View file

@ -193,6 +193,19 @@ def bad_app(environ, start_response):
))
self.assertEqual(err.splitlines()[-2], exc_message)
@unittest.skipIf(support.python_is_optimized(),
"Python was compiled with optimizations")
def test_hop_by_hop_validation_error(self):
def bad_app(environ, start_response):
start_response("200 OK", [('Content-Type', 'text/plain'),
('Connection', 'close')])
return ["Hello, world!"]
out, err = run_amock(bad_app)
self.assertTrue(out.endswith(
b"A server error occurred. Please contact the administrator."
))
self.assertRaises(AssertionError)
def test_wsgi_input(self):
def bad_app(e,s):
e["wsgi.input"].read()

View file

@ -233,7 +233,8 @@ def start_response(self, status, headers,exc_info=None):
for name, val in headers:
name = self._convert_string_type(name, "Header name")
val = self._convert_string_type(val, "Header value")
assert not is_hop_by_hop(name),"Hop-by-hop headers not allowed"
assert not is_hop_by_hop(name),\
f"Hop-by-hop header, '{name}: {val}', not allowed"
return self.write