diff --git a/test/modules/core/env.py b/test/modules/core/env.py index 21906be7361..64c03e34083 100644 --- a/test/modules/core/env.py +++ b/test/modules/core/env.py @@ -12,7 +12,7 @@ class CoreTestSetup(HttpdTestSetup): def __init__(self, env: 'HttpdTestEnv'): super().__init__(env=env) self.add_source_dir(os.path.dirname(inspect.getfile(CoreTestSetup))) - self.add_modules(["cgid","include","userdir","suexec","headers"]) + self.add_modules(["cgid","include"]) class CoreTestEnv(HttpdTestEnv): @@ -22,4 +22,6 @@ def __init__(self, pytestconfig=None): self.add_httpd_log_modules(["http", "core"]) def setup_httpd(self, setup: HttpdTestSetup = None): - super().setup_httpd(setup=CoreTestSetup(env=self)) + if setup is None: + setup = CoreTestSetup(env=self) + super().setup_httpd(setup=setup) diff --git a/test/modules/core/test_005_userdir_headers.py b/test/modules/core/test_005_userdir_headers.py index c28bb96e3e0..c57e04a587b 100644 --- a/test/modules/core/test_005_userdir_headers.py +++ b/test/modules/core/test_005_userdir_headers.py @@ -3,18 +3,21 @@ import pytest from pyhttpd.conf import HttpdConf +from .env import HttpdTestEnv, CoreTestSetup class TestUserdirHeaders: @pytest.fixture(autouse=True, scope='class') def _class_scope(self, env): + setup = CoreTestSetup(env=env) + setup.add_modules(["userdir","suexec","headers"]) + env.setup_httpd(setup=setup) userdir_base = os.path.join(env.server_dir, "htdocs", "userdir") conf = HttpdConf(env, extras={ 'base': f""" UserDir "{userdir_base}/*/public_html" - AllowOverride FileInfo Options +ExecCGI @@ -26,6 +29,7 @@ def _class_scope(self, env): conf.install() assert env.apache_restart() == 0 + @pytest.mark.skipif(condition=(not HttpdTestEnv.has_shared_module("suexec")), reason="Skipping as the suexec module hasn't been built and installed.") def test_core_005_01_requestheader_note_rejected(self, env): url = env.mkurl("http", "test1", "/~testuser/cgi-bin/test.cgi") r = env.curl_get(url)