Testenix v0.2.1 — Clearer native terminal output
Testenix 0.2.1 makes native test runs substantially easier to scan, especially for large suites.
Highlights
testenix runnow uses a compact, deterministic per-file report by default while preserving
complete collection and failure diagnostics.- Added
-q/--quiet,-v/--verbose(including-vv),--show-skips, and--durations N;
use--durations 0to show all durations. - Added
--color auto|always|neverand--no-color, with TTY,NO_COLOR,FORCE_COLOR, CI, and
dumb-terminal handling. - Long paths are bounded to terminal width, durations use adaptive units, and the final summary
remains plain and machine-readable. - Compact rendering stays bounded even for very large suites; 100,000 passing results from one
file are aggregated instead of producing a wall of output. - Documentation now clearly separates native Testenix rendering from the unchanged pytest renderer
used bytestenix pytest.
The transparent pytest bridge is unchanged. For concise output from an existing pytest suite, use:
testenix pytest -q --tb=short testsFor the new native Testenix interface, use:
testenix run testsCompatibility note
The default human-readable testenix run text changed from one row per test to one row per source
file. Scripts should consume JSON or JUnit reports rather than terminal text; -v remains available
for detailed per-test output. Result semantics, exit codes, JSON, JUnit, and the pytest bridge are
unchanged.
Upgrade
python -m pip install --upgrade "testenix==0.2.1"Validation
- 333 project tests passing directly and through the pytest bridge.
- CI passing on Python 3.11-3.14 across Linux, macOS, and Windows.
- Wheel, sdist, Twine, isolated installation, pytest-extra, and native smoke checks passing.