Skip to content

Testenix v0.2.1 — Clearer native terminal output

Choose a tag to compare

@polishdataengineer polishdataengineer released this 21 Jul 07:54
0917d8e

Testenix 0.2.1 makes native test runs substantially easier to scan, especially for large suites.

Highlights

  • testenix run now 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 0 to show all durations.
  • Added --color auto|always|never and --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 by testenix pytest.

The transparent pytest bridge is unchanged. For concise output from an existing pytest suite, use:

testenix pytest -q --tb=short tests

For the new native Testenix interface, use:

testenix run tests

Compatibility 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.

Documentation