CI: run everything pytest-able and various cleanups - #701
Open
notroj wants to merge 50 commits into
Open
Conversation
* 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
…rignals. [skip ci] GitHub: PR #701 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936869 13f79535-47bb-0310-9956-ffa450edef68
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
force-pushed
the
ci-more-pytesting
branch
2 times, most recently
from
August 7, 2026 13:24
a478c46 to
3e0a8ae
Compare
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
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936255 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936257 13f79535-47bb-0310-9956-ffa450edef68
* 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: closes apache#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: closes apache#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: closes apache#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@1936290 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936291 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936294 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: closes apache#683 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936357 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936420 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936570 13f79535-47bb-0310-9956-ffa450edef68
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: closes apache#700 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936760 13f79535-47bb-0310-9956-ffa450edef68
stores. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936849 13f79535-47bb-0310-9956-ffa450edef68
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936863 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
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936868 13f79535-47bb-0310-9956-ffa450edef68
…rignals. [skip ci] GitHub: PR apache#701 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1936869 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>
notroj
force-pushed
the
ci-more-pytesting
branch
from
August 7, 2026 15:51
aa66436 to
9a0a827
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.