Synopsis
Description
crucihil run loads a YAML suite manifest and a rig TOML, connects all configured backends, and executes the test functions. Results are printed to stdout. Optionally writes JUnit XML or an HTML report.
The rig TOML determines which backends are used — switching from virtual to real hardware is a one-line change in the TOML. The test code and suite YAML are identical in both cases.
Options
path
required
Path to the YAML suite manifest (
.yaml). The suite file must exist. Short form: -s.path
required
Path to the rig TOML config (
.toml). The file must exist. Short form: -r.path
Write JUnit XML results to this path. Creates or overwrites the file. Short form:
-o.path
Write a self-contained HTML test report to this path. The HTML file has no external dependencies and can be opened in any browser.
string
Comma-separated list of tags. Only tests that match at least one tag are executed. Example:
--tags smoke,engine.string
Comma-separated suite types. Only tests that match at least one type are executed. Common values:
smoke, regression. Example: --suite-type smoke.boolean
default:"false"
Show per-test status lines during the run. Also enables debug logging from backends. Short form:
-v.Exit codes
blocked tests (where a rig precondition was not met) do not count as failures and do not affect the exit code. Only fail and error statuses trigger exit code 1.Output format
Status icons
JUnit XML output
When--output is provided, CruciHiL writes a JUnit-compatible XML file. This integrates with:
- GitHub Actions (
actions/upload-artifact+ test summary) - GitLab CI (
junitartifact report type) - Jenkins (JUnit Plugin)
- Any CI system that understands JUnit XML
HTML report
The HTML report is a single self-contained file. It includes:- Pass/fail summary with counts and duration
- Per-test expandable rows with error messages
- Signal trace data (if recorded)
- Rig config metadata
Filtering tests
Run only smoke tests:engine:
Examples
Run against virtual backend (no hardware)
Run with HTML and JUnit output
Verbose mode (see per-backend debug logs)
See also
- YAML Manifest Reference — suite and test schema
- Python API Reference — rig.can, rig.sim, rig.fault
- Rig Configuration — backends and TOML structure