Skip to content

Host tests and validation

Install the host dependencies, then run from the repository root:

cmake -S . -B build-host -G Ninja -DSNIFFER_HOST=ON -DCMAKE_BUILD_TYPE=Debug
cmake --build build-host
ctest --test-dir build-host --output-on-failure
./build-host/fuzz_mutate 60
./build-host/ui_preview preview.ppm

The current suite has 19 host targets covering parsers, signatures, confidence, UI behavior, saved state, migration, storage recovery and local tooling. Native/WebAssembly comparison checks simulator state and rendered frames. See additional signatures for detection coverage, hardware guide for physical checks, and release notes for packaged changes. Host success does not establish RF accuracy.

The GitHub firmware workflow builds release, debug, test and demo profiles. The documentation workflow checks the browser lab, installer, public artifacts and generated links. Release downloads include checksums and build metadata.

In a ptrace-based sandbox, LeakSanitizer may require ASAN_OPTIONS=detect_leaks=0 ctest --test-dir build-host --output-on-failure; retain leak detection on an ordinary host. Development packaging includes checksums, a source SPDX inventory, linked-archive evidence and retained dependency notices. Final license compatibility review remains a release gate.

The host CI build also enables GCC's -fanalyzer. GCC 13 reports false file/memory-leak diagnostics in the existing export and incremental recovery code. For those two source files only, these two diagnostics remain visible warnings rather than fatal errors on GCC 13. Other warnings remain errors; the storage tests track open handles through completion, cancellation and injected I/O failures, and sanitizers remain enabled. Other compiler versions keep the normal warning policy.

For target-board checks, use the test plan and device worksheet. Record measurements separately from pass/fail conclusions.