Cimmerian

Cimmerian is a custom C++20 testing framework used across the Umbra ecosystem. It keeps test authoring expressive while providing the diagnostics and tooling needed to understand failures quickly.
- Technology
- C++20 / Developer tools
- Status
- In use
A failed test should shorten the debugging session.
Tests only build confidence when they are easy to write and their failures are easy to act on. General-purpose frameworks can add more machinery than small engine libraries need, while bespoke test macros often stop at pass or fail.
Design the output around the failure.
The framework combines BDD-style test structure with typed assertions and purpose-built output. It supports readable diffs, snapshots, timing and lifecycle hooks, then extends the same model into visual regression and machine-readable coverage data.
What it does.
- 01
BDD-style test and specification syntax
- 02
Typed assertions with focused failure output
- 03
Snapshots and readable value diffs
- 04
Lifecycle hooks and per-test timing
- 05
Visual regression tooling and JSON coverage reporting
How decisions
get made.
Failures explain themselves
Output should identify the mismatch without requiring a debugging session.
Fit the ecosystem
The framework grows from concrete testing needs in engine and tooling projects.
Useful in isolation
Cimmerian remains a standalone library rather than an Umbra-only subsystem.
