Skip to content

Repository files navigation

CANoopEn — unit tests

Unit test suite for CANoopEn, a CANopen protocol stack written in clean, object-oriented C++17.

The suite covers the protocol implementations (NMT, heartbeat, SDO server and client including block transfer, PDO and MPDO, SYNC, TIME, EMCY, LSS), the object dictionary, the CiA 303-3 indicators and the CiA 417 lift profile helpers — currently 288 tests. It runs on every commit via GitHub Actions (MSVC, Debug and Release).

Contents

Folder Content
CANoopEn/ The stack itself, as a git submodule
CANoopEn.UnitTest/ The tests, the test helpers and their object dictionaries
CANoopEn.Common/ Visual Studio project building the stack as a static library
CANoopEn.GoogleTest/ Google Test, vendored
Build/ Command line build and test scripts

Running the tests

git clone --recurse-submodules https://github.com/xyntos-ch/CANoopEnTest.git
  • Visual Studio: open CANoopEn.UnitTest/VSProject/CANoopEn.UnitTest.sln, build and run.
  • CMake / VS Code: configure CANoopEn.UnitTest/VSCode and run ctest.

Documentation

The user documentation lives at CANoopEn.net. Ready-to-build sample projects are in canoopendemo, the object dictionary generator in canoopentools.

Releases

This repository is tagged together with the stack and the samples; a release is published only if this suite passes in Debug and Release. See the changelog.

License

Apache License, Version 2.0 — see LICENSE.

Developed and maintained by Xyntos GmbH.