Skip to content

Testing and CI

How the driver is checked: on the host, on every pull request, without hardware.

Host checks

Check Command Covers
Generic example cmake -B build -S examples/generic && cmake --build build && ./build/vortex_driver_generic_check NMT start and an SDO write through a loopback transport
Protocol constants cmake -B build-tests -S . -DHF_VORTEX_BUILD_TESTS=ON && cmake --build build-tests && ctest --test-dir build-tests Every index and NMT command byte in VortexProtocol.hpp against CiA 301 / CiA 402 (static_assert, so a wrong value fails the build), and the SDO frame for error behaviour 0x1029:01
Documentation frames cmake -B build-docs -S . -DHF_VORTEX_BUILD_DOC_SNIPPETS=ON && cmake --build build-docs && ctest --test-dir build-docs Every snippet on this site compiles with -Wall -Wextra -Werror, and check_frames compares each frame it sends with the bytes the pages show

tests/docs/check_frames.cpp checks the NMT and SDO frames of the Quickstart, the broadcast NMT, the 1-, 2- and 4-byte SDO writes, the refusal of size 3 and the CiA 402 enable sequence.

CI workflows

Workflow What it checks
Host generic test (ci-generic.yml) Builds and runs the generic example, then builds the documentation code (with the BaseCan adapter against hf-internal-interface-wrap main) and the protocol test, and runs both
Docs (ci-docs-publish.yml) Strict site build, figure and generated-table drift, Doxygen, offline link check, Lighthouse budget; publishes the site from main

The docs workflow calls the shared, versioned workflow of hf-general-ci-tools.

On hardware

There is no hardware test in this repository. Check a port as described in Porting, with a bus analyser.