Skip to main content

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 (junit artifact report type)
  • Jenkins (JUnit Plugin)
  • Any CI system that understands JUnit XML
Example GitHub Actions step:

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:
Run only tests tagged engine:
Combine filters (must match at least one tag AND at least one suite type):

Examples

Run against virtual backend (no hardware)

Run with HTML and JUnit output

Verbose mode (see per-backend debug logs)

See also