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).
| 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 |
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/VSCodeand runctest.
The user documentation lives at CANoopEn.net. Ready-to-build sample projects are in canoopendemo, the object dictionary generator in canoopentools.
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.
Apache License, Version 2.0 — see LICENSE.
Developed and maintained by Xyntos GmbH.