Unit Testing of QP/C (qpc) based active objects using CppUTest

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.


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:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: