Skip to content

Run existing pytest suites through Testenix - #7

Merged
polishdataengineer merged 2 commits into
mainfrom
agent/pytest-compatibility
Jul 20, 2026
Merged

Run existing pytest suites through Testenix#7
polishdataengineer merged 2 commits into
mainfrom
agent/pytest-compatibility

Conversation

@polishdataengineer

Copy link
Copy Markdown
Owner

Summary

  • add testenix pytest [PYTEST_ARGS ...] for unchanged pytest suites
  • preserve pytest fixtures, conftest.py, parametrization, markers, classes, plugins, configuration, output, signals, and exit statuses
  • use a POSIX process overlay and pytest's in-process console entry point on Windows
  • add the optional testenix[pytest] extra for supported pytest releases (>=8.3,<10)
  • document the exact native-versus-compatibility boundary in README, the website, CLI reference, benchmarks, and LLM-ready docs
  • verify the built wheel and its pytest extra in CI and the release workflow

Why

The native testenix run collector intentionally does not emulate pytest internals. Simple pytest-style functions may overlap, but fixtures, hooks, plugins, skip/xfail, classes, and parametrization require real pytest semantics. This explicit bridge avoids silent partial compatibility while giving existing projects a zero-rewrite adoption path.

Native Testenix performance claims remain scoped to testenix run; testenix pytest delegates execution and does not receive native scheduler or reporting speedups.

Verification

  • pytest: 86 passed
  • testenix pytest -q: 86 passed
  • testenix pytest -q -n 2: 86 passed
  • exact pytest exit statuses verified for usage error (4) and no tests (5)
  • Ruff, formatting, mypy, and pyright pass
  • strict Sphinx build and generated LLM docs check pass
  • wheel/sdist pass Twine and wheel-content checks
  • isolated wheel succeeds with pytest 8.3.0 and 9.1.1
  • isolated base wheel without pytest returns code 2 with the testenix[pytest] install hint
  • zizmor --pedantic: no findings

@polishdataengineer
polishdataengineer marked this pull request as ready for review July 20, 2026 13:33
@polishdataengineer
polishdataengineer merged commit 3cc507b into main Jul 20, 2026
15 checks passed
@polishdataengineer
polishdataengineer deleted the agent/pytest-compatibility branch July 20, 2026 13:34
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