Skip to main content

Reusable test execution framework extracted from the Tenzir repository.

Project description

🧪 tenzir-test

tenzir-test is the reusable test harness that powers the Tenzir project. It discovers test scenarios and Python fixtures, prepares the execution environment, and produces artifacts you can diff against established baselines.

✨ Highlights

  • 🔍 Auto-discovers tests, inputs, and configuration across both project and package layouts, including linked satellite projects.
  • 🧩 Supports configurable runners and reusable fixtures so you can tailor how scenarios execute and share setup logic.
  • 🛠️ Provides a tenzir-test CLI for orchestrating suites, updating baselines, and inspecting artifacts.

📦 Installation

Install the latest release from PyPI with uvxtenzir-test requires Python 3.12 or newer:

uvx tenzir-test --help

uvx downloads the newest compatible release, runs it in an isolated environment, and caches subsequent invocations for fast reuse.

🚀 Quick Start

Create a project skeleton that mirrors the layout the harness expects:

project-root/
├── fixtures/
│   └── http.py
├── inputs/
│   └── sample.ndjson
├── runners/
│   └── __init__.py
└── tests/
    ├── alerts/
    │   ├── sample.py
    │   └── sample.txt
    └── regression/
        ├── dummy.tql
        └── dummy.txt
  1. Author fixtures in fixtures/ and register them at import time.
  2. Store reusable datasets in inputs/—the harness exposes the path via TENZIR_INPUTS and provides a per-test scratch directory through TENZIR_TMP_DIR when tests execute. Use --keep (or -k) to preserve those temporary directories for debugging.
  3. Create tests in tests/ and pair them with reference artifacts (for example .txt) that the harness compares against.
  4. Run uvx tenzir-test from the project root to execute the full suite.

📚 Documentation

Consult our user guide for an end-to-end walkthrough of writing tests.

We also provide a dense reference that explains concepts, configuration, multi-project execution, and CLI details.

🧑‍💻 Development

Contributor workflows, quality gates, and release procedures live in DEVELOPMENT.md. Follow that guide when you work on the project locally.

🗞️ Releases

New versions are published to PyPI through trusted publishing when a GitHub release is created. Review the latest release notes on GitHub for details about what's new.

📜 License

tenzir-test is available under the Apache License, Version 2.0. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tenzir_test-0.8.0.tar.gz (59.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tenzir_test-0.8.0-py3-none-any.whl (50.8 kB view details)

Uploaded Python 3

File details

Details for the file tenzir_test-0.8.0.tar.gz.

File metadata

  • Download URL: tenzir_test-0.8.0.tar.gz
  • Upload date:
  • Size: 59.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tenzir_test-0.8.0.tar.gz
Algorithm Hash digest
SHA256 6c91673a0ab33421e9643220072f981f2086bb2df348af18704cdd3f642cbaa8
MD5 3de8d1c21749ffbb6df05d640d98a4d7
BLAKE2b-256 a886a43a2f4ad8d9de41310ea7be1e09b455cd26a3b04691beb9d0bf0494de76

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenzir_test-0.8.0.tar.gz:

Publisher: publish.yaml on tenzir/test

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tenzir_test-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: tenzir_test-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 50.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tenzir_test-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4842e54ee35af14d5f3ae3ed1cbff99e7b60e580b2a0f8e38a8ac97269775494
MD5 e6989236d597489ec11a7c661ffeced9
BLAKE2b-256 c6c48473b8878e3b05c49ed9d650d88c2224e0146673b6fee19bae10708e4c3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenzir_test-0.8.0-py3-none-any.whl:

Publisher: publish.yaml on tenzir/test

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page