Skip to content

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

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

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

Conversation

@notroj

@notroj notroj commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

notroj added 15 commits August 1, 2026 19:51
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>
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>
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>
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>
  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>
  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>
  jobs together.

[skip ci]

Assisted-by: Claude Sonnet 5 <noreply@anthropic.com>
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>
Sign up for free to 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.

1 participant