Following my previous announcement involving QP/C++, I am happy to announce the release of a specialized port of Quantum Leaps’ QP/C (qpc) framework, enabling host based unit testing with CppUTest. Included with this port are utility classes to make unit testing in this environment as easy as possible. With this release, I have combined multiple areas of expertise that I enjoy: C++, QP (active objects), and unit testing. However, in this particular effort, C++ usage is isolated to the test support code. The example active object under test is entirely in C, following the QP/C active object approach.
If this project helps inspire your team to select the QP/C framework for commercial use, please note “Matthew Eshleman” or “Cove Mountain Software” in the referral field when acquiring a commercial license from Quantum Leaps. Referrals encourage and support this effort.
Matthew “Thank you very much” Eshleman
The cpputest-for-qpc
project enables CppUTest for the QP/C Real-Time Embedded Framework. This project provides for the following capabilities:
- A CppUTest compatible port of the QP/C (qpc) framework, enabling host based unit and integration testing of QP active objects (QActive).
- Supporting utilities to simplify unit testing of qpc based active objects.
- An example active object under test, demonstrating testing techniques for several common active object patterns.
License
All project code in the cms
namespace follows a dual-license approach. The default license is GPLv3, but I’m excited to offer a free commercial license to anyone that registers. See the project’s License.txt for details. Of course, please note that all licenses for external source code and libraries relied upon by this project remain fully owned by their respective owners. In particular, please see the licensing details for qpc at: https://www.state-machine.com/licensing.
I could go on and on, but I think the project and its readme are the right place to start. Please point your browser to: https://github.com/covemountainsoftware/cpputest-for-qpc for further details.
And for additional background inspiration, please see the following posts: