Repository navigation
Conversation
| 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"]) |
There was a problem hiding this comment.
mod_headers is reasonable to leave in (notwithstanding that the CI failure might be showing that adding it back in didn't work?)
There was a problem hiding this comment.
This is strange as the error_log offset isn't being reset and has a large number, more than the actual error_log size, so for the scan_recent() is waits and times out after 10 seconds even though the expression is present. The code seems to sidestep the conftest for some reason, so it's worthy of further investigation to ascertain what's actually happening.
There was a problem hiding this comment.
From the analysis it appears that the fix put in place, calls the class CoreTestEnv which in turn calls the apache restart and recreates the logs dir etc, unfortunately the log.py still has the "old" offset, which is larger than the current file, causing the scan_recent() to wait and then timeout causing the error.
Now, the question is, is the suexec actually needed? as from what I can tell it's not used any of these group of tests.
A small fix so that tests in the core that don't need the suexec module can run without error whilst the single test class adds the module before running the test. That test will also be skipped if the mod_suexec is not present in the module/ directory.
(see
SECURITY.mdandhttps://www.apache.org/security/#reporting-a-vulnerability).
APLOGNO()tag;numbers are assigned by a committer at merge time (see
docs/log-message-tags/README).changes-entries/*.txtfile is included,following the template in
README.CHANGES(not needed otherwise).test/modules/xxxdirectory matching themodules/xxxmodule source,or
test/modules/corefor core server changes. On Unix, verify thesepass locally with e.g.
make check-pytest PYTEST_DIRS=test/modules/xxx.