Skip to main content

BRunhilda the test system

Brunhilda is the test runner with advanced reporting features.

Documentation

Contributing

Here is a short guide to the environment setup to ease you up contributing to the project. Start by installing and creating a virtual environment

pip install virtualenv
virtualenv venv

Now you should see venv folder in the project structure. Activate virtual environment

source venv/bin/activate    # Linux
venv\Scripts\activate.bat   # Windows

After that you should see (venv) as a prefix to your command line cursor. You have to repeat activation every time you close the terminal. To install the package in development mode call:

pip install -e .

If you want to use Brunhilda for user stories defined by doorstop artifacts then install BRunhilda by calling a command below. Please note that BRunhilda with doorstop feature requires Python >= 3.9.

pip install -e .[doorstop-user-stories]

Now you can use BRunhilda package directly from the command line and all changes to the source code are instantly applied.

Testing

The project includes both unit tests and integration tests.

Integration Tests

Integration tests verify report generation and prevent regressions. They support two execution modes depending on whether backward compatibility needs to be verified:

  • Backward-Compatibility Testing (Two Datasets): Used for bug fixes where reports must be validated against datasets produced by older runner versions.

    1. Original Dataset (<runner_version>): Anonymized execution data captured from the specific runner version where the bug was reported.
    2. Current Dataset (head): Fresh execution data generated dynamically by running sample tests on the current version.
  • Single-Dataset Testing: Used when testing general report features, layout, or formatting without needing legacy version comparisons. Only the current dataset is required, and the test fixture automatically skips the legacy execution pass if no legacy dataset folder is present.

Directory Structure

Integration tests are organized by bug tickets (test/integration/<bug_ticket_number>/):

test/integration/14492/
├── test_14492_report_generation.py
└── data/
    ├── 2.8.1/    # Original data from the bug ticket
    └── head/     # Data generated from current execution

Visual Studio Code tasks

To speed up the execution of useful operations for development, vscode tasks are implemented.

  • static-type-check Static type checking using mypy
  • test-with-coverage Running unit tests including measuring code coverage.
  • integration-tests Running integration tests.

Tasks can be run within vscode Terminal -> Run Tasks...

Metadata

Release files for brunhilda 2.9.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for brunhilda 2.9.2
File Size Uploaded
brunhilda-2.9.2.tar.gz 581.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for brunhilda 2.9.2
File Interpreter ABI Platform
brunhilda-2.9.2-py3-none-any.whl Python 3 none any Details

Total release size: 656.2 kB

Release files / brunhilda-2.9.2.tar.gz

Download URL brunhilda-2.9.2.tar.gz
Size 581.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2f7e9771c35f88f2d74f4d742ae1f8d796513747aa56813ac4621b26bd6d40d4
BLAKE2b-256 checksum
How to use checksums
144fa77a2fab36de94e3a25a22da95dfa7b7cbcf249b8a054a34043c855e7a0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / brunhilda-2.9.2-py3-none-any.whl

Download URL brunhilda-2.9.2-py3-none-any.whl
Size 74.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b86814f7a45aebe83f01111a5448b0170025b56923d9c93485fb0ae9f180d055
BLAKE2b-256 checksum
How to use checksums
580aee5c8b6057fa29a5798505eb1fa23594cc0fe494e801bd03f4f854e6bd38
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release history Release notifications | RSS feed

2.9.3

2 release files

This release

2.9.2 This release

2 release files

2.4.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page