Testing
FreeRTOS Advanced Unit Testing: Tasks, Queues, and Semaphores
FreeRTOS applications are notoriously hard to unit test because they depend on a real-time scheduler, hardware interrupts, and timing.
Testing
FreeRTOS applications are notoriously hard to unit test because they depend on a real-time scheduler, hardware interrupts, and timing.
Testing
Memory bugs in C/C++ are notoriously hard to reproduce — use-after-free, buffer overflows, and memory leaks often cause failures far from their origin. Valgrind and AddressSanitizer (ASan) catch these at the point of occurrence with precise diagnostics. This guide shows you how to use both tools and integrate
Testing
Google Mock (GMock) is the mocking library bundled with Google Test. It lets you define mock objects from interfaces, set expectations on method calls, control return values, and verify interactions — all within your existing gtest suite. This guide covers everything from basic MOCK_METHOD to advanced argument matching. Why Mocking?
Testing
Unity is a lightweight C testing framework built for embedded systems. CMock auto-generates mock implementations from C headers, enabling you to test firmware logic without real hardware. Together they form the standard testing stack for embedded C — run on host before flashing to device. The Embedded Testing Problem Testing
Testing
CTest is CMake's built-in test runner. It discovers and executes tests defined in your CMakeLists.txt, reports results uniformly regardless of the underlying test framework (gtest, Catch2, Boost.Test, or a plain executable), and integrates with CI via standard exit codes and XML reports. What CTest Is
Testing
Catch2 is the modern C++ testing framework that prioritizes natural expression over boilerplate. Its SECTION model eliminates test fixture overhead, expression decomposition shows you actual values on failure without custom assertion messages, and BDD-style macros make test intent self-documenting. Catch2 vs Google Test: When to Choose Which Both
Testing
Google Test (gtest) is the de facto standard for C++ unit testing. It ships with a comprehensive assertion library, test fixtures, parameterized tests, and death tests. This tutorial gets you from zero to a working test suite integrated with CMake and CI in under an hour. Why Google Test C+