From: Stefan Eissing Date: Wed, 19 Oct 2022 09:16:30 +0000 (+0000) Subject: tests modules/http1: use "Header add" to produce response headers with whitespace. X-Git-Tag: 2.5.0-alpha2-ci-test-only~207 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3ab5c5dd6d1f4debbb38c282521300c2b64fe45;p=thirdparty%2Fapache%2Fhttpd.git tests modules/http1: use "Header add" to produce response headers with whitespace. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904693 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/test/modules/http1/test_007_strict.py b/test/modules/http1/test_007_strict.py index 4649b01123f..78182419dc2 100644 --- a/test/modules/http1/test_007_strict.py +++ b/test/modules/http1/test_007_strict.py @@ -67,3 +67,31 @@ class TestRequestStrict: assert int(m.group(1)) == status, f"{rlines}" else: assert int(m.group(1)) >= 400, f"{rlines}" + + @pytest.mark.parametrize(["hvalue", "expvalue"], [ + ['123', '123'], + ['123 ', '123 '], # trailing space stays + ['123\t', '123\t'], # trailing tab stays + [' 123', '123'], # leading space is stripped + [' 123', '123'], # leading spaces are stripped + ['\t123', '123'], # leading tab is stripped + ]) + def test_h1_007_02(self, env, hvalue, expvalue): + hname = 'ap-test-007' + conf = H1Conf(env, extras={ + f'test1.{env.http_tld}': [ + '', + f'Header add {hname} "{hvalue}"', + '', + ] + }) + conf.add_vhost_test1( + proxy_self=True + ) + conf.install() + assert env.apache_restart() == 0 + url = env.mkurl("https", "test1", "/") + r = env.curl_get(url, options=['--http1.1']) + assert r.response["status"] == 200 + assert r.response["header"][hname] == expvalue + diff --git a/test/pyhttpd/env.py b/test/pyhttpd/env.py index af856effe43..67d32b7b38a 100644 --- a/test/pyhttpd/env.py +++ b/test/pyhttpd/env.py @@ -739,7 +739,8 @@ class HttpdTestEnv: self.curl_parse_headerfile(headerfile, r=r) if r.json: r.response["json"] = r.json - os.remove(headerfile) + if os.path.isfile(headerfile): + os.remove(headerfile) return r def curl_get(self, url, insecure=False, options=None):