Fossil Test (Pizza Test)

A Smart Unit Testing Framework by Fossil Logic

Pizza Test is an advanced, high-traceability unit testing framework designed by Fossil Logic for C and C++ projects. Built for environments where determinism, transparency, and system introspection are essential, Pizza Test provides deep behavioral insights and fully traceable execution metadata. It is ideal for testing modules involving critical logic, memory correctness, system reasoning, and long-term auditability.


Key Features #

FeatureDescription
Command-Line Interface (CLI)A robust CLI for executing tests, managing suites, and generating reports—ideal for automation and CI/CD workflows.
Traceable Test MetadataEach test carries timestamped, hashed metadata enabling full reproducibility and auditability of results.
Multiple Testing MethodologiesSupports BDD, DDD, and TDD styles for maximum flexibility.
Mocking CapabilitiesAdvanced mocking tools for simulating dependencies and isolating logic with deterministic behavior.
Bench-marking ToolsIntegrated bench-marking and performance metrics for detecting regressions or long-running paths.
Sanity Kit for Command TestingA dedicated module for validating CLI and shell-based tools consistently across platforms.
Customizable Output ThemesSelect from output themes such as fossil, catch, doctest, and more.
Tag-Based Test FilteringRun only the tests you want using tags, names, suites, or combined criteria.
Detailed Performance InsightsExecution time, memory profile, and stability statistics help improve reliability.
Objective-C and Objective-C++ SupportFull macOS compatibility for Apple-specific code-bases.

Command-Line Interface #

Pizza Test provides a powerful CLI for test execution and suite management.
Below is the full command and option reference.

Commands and Options #

CommandDescriptionNotes
--versionDisplay version information.Useful for CI validation.
--dry-runShow what would run, without running tests.Ideal for verifying selection filters.
--hostDisplay system information.Helps identify execution environment.
--helpShow general help.Quick reference for commands.
runExecute tests with optional parameters.Supports --fail-fast, --repeat, and more.
filterFilter tests by criteria.Filter by name, suite, or tag.
sortSort tests by user-defined fields.Supports ascending or descending order.
shuffleShuffle test order.Optional seed for reproducible shuffles.
showList test cases and suites.Useful for browsing available tests.
color=<mode>Set color mode (enable, disable, auto).Enhances visibility in terminals.
config=<file>Load settings from pizza_test.ini.Supports environment-specific configs.
theme=<name>Select output theme.Customize formatting and layout.
timeout=<seconds>Set command timeout (default: 60).Helps identify long-running tests.

Note:
Use run --help or <command> --help to view detailed, command-specific documentation.


Prerequisites #

Before installing Pizza Test, ensure the following:

Required Tools #

  • Meson Build System 1.8.0+
    If Meson is not installed, follow instructions on the official Meson website.

Adding Pizza Test as a Dependency #

Pizza Test can be added conveniently through Meson’s git wrap mechanism.

1. Add a Git Wrap #

Place a .wrap file inside subprojects/:

subprojects/fossil-test.wrap

[wrap-git]
url = https://github.com/fossillogic/fossil-test.git
revision = v1.3.1

[provide]
dependency_names = fossil-test

2. Integrate Into Your meson.build #

fossil_test = dependency('fossil-test')

Meson will automatically fetch, build, and link the framework.

Tip:
For best results, always use the latest version of Pizza Test.
Check the Pizza Test Releases page for updates.

What are your feelings

Updated on December 12, 2025