# Tenzir Test

> An integration testing framework that discovers tests, runs them with managed fixtures, and validates output against baselines.

An integration testing framework that discovers tests, runs them with managed fixtures, and validates output against baselines.

[ GitHub ](https://github.com/tenzir/test/releases)

[Download releases and artifacts](https://github.com/tenzir/test/releases)

[ RSS Feed ](https://preview.docs.tenzir.com/375/375/changelog/tenzir-test.xml)

[Subscribe to release updates](https://preview.docs.tenzir.com/375/375/changelog/tenzir-test.xml)

## Releases

* [v1.10.2 May 27, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-10-2.md)

  [This release lets pre-provisioned environments reuse installed inline Python dependencies and disable runtime installation entirely. It avoids unnecessary uv pip install calls for bare requirements that are already available.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-10-2.md)
* [v1.10.1 May 13, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-10-1.md)

  [Project fixtures can now declare their Python package dependencies inline with PEP 723 metadata. tenzir-test installs those dependencies before loading fixtures, so regular test runs and fixture mode work for projects with self-contained fixture modules.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-10-1.md)
* [v1.10.0 May 12, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-10-0.md)

  [tenzir-test now lets users select scenarios by requested fixture name, making it easier to run only tests that depend on resources such as nodes or Docker Compose. This release also requires Python 3.13 or newer.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-10-0.md)
* [v1.9.0 May 11, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-9-0.md)

  [This release lets users select tests by fixture tag with the new --fixture-tag option. It makes it easier to run focused subsets such as container-backed or Docker Compose tests without naming every test path.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-9-0.md)
* [v1.8.4 May 9, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-4.md)

  [The test harness now detects the installed Tenzir version across current and upcoming Tenzir releases. This keeps startup and version checks working during the transition to the next Tenzir release series.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-4.md)
* [v1.8.3 May 5, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-3.md)

  [This release makes hook debug diagnostics consistent with the rest of the harness debug trace, so users get uniform output when diagnosing hook behavior.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-3.md)
* [v1.8.2 Apr 29, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-2.md)

  [This release fixes suite-level requirement checks so they apply consistently across every test runner. Mixed TQL, shell, Python, and custom test suites now evaluate required Tenzir operators independently of runner order.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-2.md)
* [v1.8.1 Apr 29, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-1.md)

  [This release improves suite fixture failure handling so setup and teardown errors are reported as regular test failures. The harness now continues running independent queued tests instead of aborting with a Python traceback.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-1.md)
* [v1.8.0 Apr 28, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-0.md)

  [This release adds project lifecycle hooks that let projects prepare their environment before tests run. Use hooks to select local Tenzir binaries, configure project-scoped environment variables, and collect diagnostics without custom wrapper scripts.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-8-0.md)
* [v1.7.7 Apr 22, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-7.md)

  [Tests can now skip only the cases that require an unavailable optional fixture instead of skipping an entire suite. This keeps unrelated tests running and makes parameterized fixture setups more reliable.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-7.md)
* [v1.7.6 Apr 16, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-6.md)

  [This release fixes misleading aggregate test summary percentages in the CLI. Runs with a small number of failures now report non-perfect pass and fail rates, so mixed outcomes no longer appear as `100%` passed and `0%` failed.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-6.md)
* [v1.7.5 Mar 13, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-5.md)

  [This release establishes the correct v1.7.5 version tag. A double-bump bug in the release automation caused the v1.7.4 git tag to point to a commit where pyproject.toml already read 1.7.5, so 1.7.4 was never published to PyPI and the git tag was misaligned with the actual package version. The aut...](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-5.md)
* [v1.7.4 Mar 11, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-4.md)

  [This release fixes how skipped tests interact with baseline files. Existing baselines now stay untouched when you skip tests, which prevents unrelated baseline churn and avoids false failures when you toggle skip conditions.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-4.md)
* [v1.7.3 Feb 27, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-3.md)

  [This release improves parallel suite scheduling reliability and adds correctness guards via suite.min\_jobs in test.yaml.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-3.md)
* [v1.7.2 Feb 25, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-2.md)

  [This release fixes enum serialization errors when Python fixture tests use configuration values like mode: sequential in test.yaml.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-2.md)
* [v1.7.1 Feb 25, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-1.md)

  [This release adds parallel suite execution and fixes several bugs, including clean Ctrl+C handling, consistent default fixture options, and reliable shell runner defaults for .sh test files.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-1.md)
* [v1.7.0 Feb 22, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-0.md)

  [This release adds suite-level capability requirements, letting test suites declare required operators and skip gracefully when those capabilities are unavailable in the target build.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-7-0.md)
* [v1.6.0 Feb 19, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-6-0.md)

  [This release adds fixture assertion hooks that enable post-test validation of side effects while fixtures remain active. Assertion results are tracked separately in the run summary.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-6-0.md)
* [v1.5.1 Feb 16, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-5-1.md)

  [This release improves error handling by showing clean messages for unavailable fixtures and avoids unnecessary fixture initialization for fully skipped test suites.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-5-1.md)
* [v1.5.0 Feb 16, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-5-0.md)

  [This release adds fine-grained controls for running skipped tests, including a new --run-skipped-reason flag with substring and glob matching semantics.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-5-0.md)
* [v1.4.0 Feb 15, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-4-0.md)

  [This release introduces a standalone fixture mode for starting fixtures without running tests, adds a built-in docker-compose fixture with structured options, and provides shared container runtime helpers for writing custom fixtures.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-4-0.md)
* [v1.3.2 Feb 13, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-3-2.md)

  [This release improves the readability of configuration override log messages by using relative paths and human-friendly formatting.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-3-2.md)
* [v1.3.1 Feb 11, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-3-1.md)

  [This release adds support for nested dataclass hierarchies in fixture options, enabling multi-level structured configurations in test frontmatter.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-3-1.md)
* [v1.3.0 Feb 10, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-3-0.md)

  [This release adds structured configuration options for fixtures, letting tests pass typed parameters through YAML frontmatter using frozen dataclasses.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-3-0.md)
* [v1.2.2 Feb 9, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-2-2.md)

  [This release fixes a serialization bug where Python fixture tests with `skip` configurations in `test.yaml` failed with a JSON serialization error.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-2-2.md)
* [v1.2.1 Feb 6, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-2-1.md)

  [This patch release improves the `-m`/`--match` flag with automatic substring matching and centralizes skip handling in the engine for more consistent test reporting.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-2-1.md)
* [v1.2.0 Feb 6, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-2-0.md)

  [This release adds support for selecting tests by name using glob patterns via the new `-m`/`--match` CLI option.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-2-0.md)
* [v1.1.1 Feb 6, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-1-1.md)

  [This release improves the CLI help text with usage examples and a link to the documentation.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-1-1.md)
* [v1.1.0 Jan 31, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-1-0.md)

  [This release adds stdin file support for piping data directly to tests, and improves satellite project display in project listings.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-1-0.md)
* [v1.0.2 Jan 27, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-0-2.md)

  [This release improves the debugging experience by making the `--debug` flag automatically enable verbose output, so you see all test results when diagnosing failures.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-0-2.md)
* [v1.0.1 Jan 23, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-0-1.md)

  [This release fixes an issue with diff tests failing when using multi-word Tenzir commands.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-0-1.md)
* [v1.0.0 Jan 23, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-0-0.md)

  [This release introduces automatic binary detection with a clear precedence order: environment variables take priority, followed by PATH lookup, with `uvx` as fallback. Environment variables now support multi-part commands for full control over binary invocation. The `--tenzir-binary` and \`--tenzi...](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v1-0-0.md)
* [v0.15.0 Jan 23, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-15-0.md)

  [This release adds the `--verbose` flag for controlling test output verbosity. By default, only failures are shown, reducing noise in large test suites while still providing all details when needed.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-15-0.md)
* [v0.14.0 Jan 15, 2026](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-14-0.md)

  [This release introduces inline test inputs for better test organization in deeply nested hierarchies. Tests can now place input data directly alongside test files, and you can create local `inputs/` directories at any level with automatic shadowing semantics.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-14-0.md)
* [v0.13.1 Dec 8, 2025](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-13-1.md)

  [This release fixes path handling in the diff runner to strip root path prefixes from output, making paths relative and consistent with other test runners.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-13-1.md)
* [v0.13.0 Dec 3, 2025](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-13-0.md)

  [This release adds `--package-dirs` support and improves startup diagnostics.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-13-0.md)
* [v0.12.0 Nov 5, 2025](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-12-0.md)

  [Minor release with improved NO\_COLOR handling.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-12-0.md)
* [v0.11.0 Nov 4, 2025](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-11-0.md)

  [Expose tenzir-test as a reusable Python library.](https://preview.docs.tenzir.com/375/changelog/tenzir-test/v0-11-0.md)