Skip to content

CI: run everything pytest-able and various cleanups - #701

Open
notroj wants to merge 50 commits into
apache:trunkfrom
notroj:ci-more-pytesting
Open

CI: run everything pytest-able and various cleanups#701
notroj wants to merge 50 commits into
apache:trunkfrom
notroj:ci-more-pytesting

Conversation

@notroj

Copy link
Copy Markdown
Collaborator

No description provided.

notroj added 7 commits July 17, 2026 11:23
* modules/metadata/mod_remoteip.c (remoteip_process_v2_header): Set
conn_conf->client_addr and client_ip for the LOCAL case, matching
the v1 UNKNOWN path.
Assisted-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* modules/ssl/ssl_engine_ocsp.c (determine_responder_uri): Check
u->scheme is non-NULL before calling ap_cstr_casecmp(), since
apr_uri_parse() can succeed with a NULL scheme for scheme-less URIs.
Assisted-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* modules/metadata/mod_cern_meta.c (scan_meta_file): Return a 500
error if a framing header is found in a .meta file rather than
merging it into the response headers.
Assisted-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* modules/ldap/util_ldap.c: Hold the LDAP cache lock continuously
from URL node fetch through child cache access, closing the window
where a concurrent request could free the node between unlock and
re-lock. Re-fetch the URL node under the lock for write-back paths.
Assisted-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* modules/ssl/ssl_engine_kernel.c (set_challenge_creds): Return rv
rather than APR_SUCCESS unconditionally, so credential setup
failures are propagated to the ALPN selection callback.
Assisted-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* modules/filters/mod_substitute.c (set_max_line_length): Check that
the parsed value does not exceed APR_INT64_MAX / multiplier before
applying the K/M/G suffix, to avoid signed integer overflow UB.
Assisted-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* modules/filters/mod_substitute.c (set_pattern): Guard the
pre-incrementing delimiter scan loops with a NUL check, preventing
a read past the end of the allocation when the from or to field has
no closing delimiter.
Assisted-by: Claude Sonnet 4.6 <noreply@anthropic.com>
asf-gitbox-commits pushed a commit that referenced this pull request Aug 4, 2026
asf-gitbox-commits pushed a commit that referenced this pull request Aug 4, 2026
 suites via test/run-all-tests.sh against the check/ build tree.
(PHONY_TARGETS): Add check-pytest and check-all-pytest.
* test/run-all-tests.sh: Document PYHTTPD_CONFIG.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936870 13f79535-47bb-0310-9956-ffa450edef68
asf-gitbox-commits pushed a commit that referenced this pull request Aug 4, 2026
register_argc_argv so PHP tests see $_SERVER['argc']/['argv'] under
FPM, which mod_php's config for this never actually reached.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936871 13f79535-47bb-0310-9956-ffa450edef68
asf-gitbox-commits pushed a commit that referenced this pull request Aug 4, 2026
 resolve() the httpd path before deriving ab's; it follows the
check/bin/httpd symlink out of the check/ tree, so ab was never
found there.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936872 13f79535-47bb-0310-9956-ffa450edef68
asf-gitbox-commits pushed a commit that referenced this pull request Aug 4, 2026
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936873 13f79535-47bb-0310-9956-ffa450edef68
asf-gitbox-commits pushed a commit that referenced this pull request Aug 4, 2026
 jobs together. No functional change. [skip ci]
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936874 13f79535-47bb-0310-9956-ffa450edef68
asf-gitbox-commits pushed a commit that referenced this pull request Aug 4, 2026
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936875 13f79535-47bb-0310-9956-ffa450edef68
@notroj
notrojforce-pushed the ci-more-pytesting branch 2 times, most recently from a478c46 to 3e0a8aeCompareAugust 7, 2026 13:24
asf-gitbox-commits pushed a commit that referenced this pull request Aug 7, 2026
 variable.
Fixes: 01a5969 (SVN r1936849)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936968 13f79535-47bb-0310-9956-ffa450edef68
asf-gitbox-commits pushed a commit that referenced this pull request Aug 7, 2026
 t/conf/cacheroot/, t/htdocs/modules/autoindex2/,
t/htdocs/modules/substitute/test.txt, and t/state/.
* test/pytest_suite/t/htdocs/apache/cfg_getline/.htaccess,
authz_core/a/.htaccess, authz_core/a/b/.htaccess,
authz_core/a/b/c/.htaccess: Remove stale generated content that
had been committed by mistake.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936969 13f79535-47bb-0310-9956-ffa450edef68
asf-gitbox-commits pushed a commit that referenced this pull request Aug 7, 2026
 instead of just checking the config string is non-empty.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936973 13f79535-47bb-0310-9956-ffa450edef68
asf-gitbox-commits pushed a commit that referenced this pull request Aug 7, 2026
* test/pytest_suite/conftest.py (framework): Record error_log's size
before httpd starts, as session_log_start.
* test/pytest_suite/tests/t/modules/test_proxy_beacon.py
(test_proxy_beacon): Scope the "added backend" log check to
session_log_start instead of the per-test window or byte 0.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR #701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936976 13f79535-47bb-0310-9956-ffa450edef68
covenerand others added 10 commits August 7, 2026 15:47
* modules/proxy/mod_proxy_balancer.c (find_session_route): Replace
isspace() with apr_isspace() to avoid locale-dependent behavior
and undefined behavior with negative char values.
Submitted by: arshsmith1 <arshi bugqore.com>
GitHub: closesapache#675
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936266 13f79535-47bb-0310-9956-ffa450edef68
* modules/slotmem/mod_slotmem_plain.c,
modules/slotmem/mod_slotmem_shm.c
(slotmem_size_mul, slotmem_size_add): New helper functions for
checked arithmetic on apr_size_t values.
(slotmem_create): Use checked arithmetic for allocation size
calculations to prevent integer overflow.
(slotmem_grab): Add overflow check on size * id multiplication
before pointer arithmetic.
(slotmem_get): Validate dest_len against slot size before access,
move inuse pointer dereference after bounds checks.
(slotmem_put): Validate src_len against slot size before access,
move inuse pointer dereference after bounds checks.
* modules/slotmem/mod_slotmem_shm.c (slotmem_fgrab): Add overflow
check on size * id multiplication before pointer arithmetic.
(slotmem_attach): Validate shared memory segment size against
expected size computed with checked arithmetic. Use basesize
variable for inuse pointer calculation.
Submitted by: metsw24-max <metsw24 gmail.com>
GitHub: closesapache#626
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936268 13f79535-47bb-0310-9956-ffa450edef68
Submitted by: Alb3e3 <74142887+Alb3e3 users.noreply.github.com>
GitHub: closesapache#670
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936269 13f79535-47bb-0310-9956-ffa450edef68
 o Call location independence
o Fully support pip or uv
o Better reporting of test results when both suites are run
o Support postitional args for test cases in a reliable manner
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936270 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936291 13f79535-47bb-0310-9956-ffa450edef68
* modules/metadata/mod_remoteip.c
(remoteip_get_v2_len): Move definition before first use.
(remoteip_parse_v2_header): Add length validation for TCPv4
and TCPv6 address families before parsing, returning HDR_ERROR
if the header length is too short.
Submitted by: arshiya tabasum <arshi bugqore.com>
GitHub: closesapache#683
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936357 13f79535-47bb-0310-9956-ffa450edef68
ichristodand others added 29 commits August 7, 2026 15:47
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936571 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936759 13f79535-47bb-0310-9956-ffa450edef68
 if the read fails.
PR: 70021
Github: closesapache#700
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936760 13f79535-47bb-0310-9956-ffa450edef68
and crl_path. Make ordering consistent to match all
other files and paths.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936867 13f79535-47bb-0310-9956-ffa450edef68
 suites via test/run-all-tests.sh against the check/ build tree.
(PHONY_TARGETS): Add check-pytest and check-all-pytest.
* test/run-all-tests.sh: Document PYHTTPD_CONFIG.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR apache#701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936870 13f79535-47bb-0310-9956-ffa450edef68
register_argc_argv so PHP tests see $_SERVER['argc']/['argv'] under
FPM, which mod_php's config for this never actually reached.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR apache#701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936871 13f79535-47bb-0310-9956-ffa450edef68
 resolve() the httpd path before deriving ab's; it follows the
check/bin/httpd symlink out of the check/ tree, so ab was never
found there.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR apache#701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936872 13f79535-47bb-0310-9956-ffa450edef68
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR apache#701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936873 13f79535-47bb-0310-9956-ffa450edef68
 jobs together. No functional change. [skip ci]
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR apache#701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936874 13f79535-47bb-0310-9956-ffa450edef68
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
GitHub: PR apache#701
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936875 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936881 13f79535-47bb-0310-9956-ffa450edef68
fallback to 127.0.0.1 if lp->bind_addr is INADDR_ANY and that connect() fails with EINVAL
bz #69857
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936893 13f79535-47bb-0310-9956-ffa450edef68
and SSLTrustURI. Move CRL functionality from a dedicated directive
into SSLTrustURI.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936908 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936909 13f79535-47bb-0310-9956-ffa450edef68
before httpd starts, as session_log_start.
* test/pytest_suite/tests/t/modules/test_proxy_beacon.py
(test_proxy_beacon): Scope the "added backend" log check to
session_log_start instead of the per-test window or byte 0.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
instead of just checking the config string is non-empty.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
Covers RFC 2617 challenge/response, nonce lifecycle (tamper/stale/
expiry/one-time), AuthDigestNcCheck, AuthDigestDomain, provider
fallback, and config-time validation.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
* test/travis_run_linux.sh: Replace TEST_CORE/TEST_PROXY/TEST_H2 with
one TEST_PYTEST block, running `make check-all-pytest` over every
test/modules/*/ suite except modules/md (needs an ACME/pebble server
not available here). Keep the old TEST_MD/pebble logic for reference,
under a conditional that is never set.
* .github/workflows/linux.yml: Replace the "HTTP/2 test suite" job and
the disabled "ACME test suite" job with one "Python pytest test
suites" job setting TEST_PYTEST=1. Drop TEST_INSTALL: check-all-pytest
tests the check/ build tree directly. Drop the python3-pytest/
python3-cryptography/etc. packages, since both suites now manage their
own dependencies via uv; install uv from the Ubuntu package instead.
Capture the new suites' error logs as failure artifacts.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
an Ubuntu package, so the shared "Install prerequisites" apt-get
command was failing outright.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
 and ASan pool-debug jobs. Move pipx and curl into the always-installed
base packages; add nghttp2-client to the ASan jobs.
* test/travis_run_linux.sh: Exclude modules/http2 from the pytest run
when mod_http2.so wasn't built.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
 t/conf/cacheroot/, t/htdocs/modules/autoindex2/,
t/htdocs/modules/substitute/test.txt, and t/state/.
* test/pytest_suite/t/htdocs/apache/cfg_getline/.htaccess,
authz_core/a/.htaccess, authz_core/a/b/.htaccess,
authz_core/a/b/c/.htaccess: Remove stale generated content that
had been committed by mistake.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
 @STATEDIR@ config template variable.
* test/pytest_suite/t/conf/cache.conf.in, tests/t/modules/test_cache.py:
Use @STATEDIR@/cacheroot/ for CacheRoot, instead of t/conf/cacheroot.
* test/pytest_suite/.gitignore: Drop the now-obsolete
t/conf/cacheroot/ entry.
Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
 variable.
Fixes: 01a5969 (SVN r1936849)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@notroj@covener@jimjag@ichristod@minfrin@bigio