CheckOps
Ceedling
Ceedling is an MIT build and test system for C projects from ThrowTheSwitch, combining Unity, CMock and CException for embedded unit testing.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
Ceedling can build release artefacts but is especially adept at building unit test suites for C projects, including tricky embedded systems. It ties together Unity for assertions, CMock for generated mocks and CException for exception handling.
It is command-line driven: ceedling test:all runs every test, and project.yml configures paths, toolchains and plugins. Plugins add coverage via gcov, reports and more. Generated and framework code is visible.
In the quality loop Ceedling runs host-based unit tests for firmware.
The source code is at ThrowTheSwitch/Ceedling on GitHub under the MIT licence, with about 864 stars; the most recent commit was on 11 November 2026.
Features
- Unity integration: Assertions.
- CMock: Generated mocks from headers.
- CException: Exception handling for C.
- project.yml: Central configuration.
- Plugins: Coverage and reports.
- Toolchain flexibility: gcc or cross-compilers.
Pros
- Complete toolkit: Build, mock and test together.
- Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 11 November 2026.
Cons
- Ruby dependency: Ceedling runs on Ruby.
- Conventions: Project layout expectations.
- Host vs target: On-target runs need setup.
Usage and Links (Example)
gem install ceedling
ceedling new my_project
ceedling test:all
Resources:
Pricing
Ceedling is free and open source under the MIT licence.
Recommended for?
- Embedded C teams adopting TDD.
Conclusion
Ceedling is the easiest way to get Unity and CMock working together.
Run on the host first, then on target if needed.
On CheckOps, Ceedling is filed under the Unit testing stage. Related tools listed here include Renode, cmocka, Unity Test (C), labgrid, pytest-embedded and Wokwi. Before standardising on one, compare recent maintenance activity, the pricing model as your usage grows, and the integrations you rely on today. Information on this page was verified against the official website, documentation and repository on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Ceedling side by side.
RRenodeRenode is Antmicro's MIT-licensed open-source simulation framework that runs unmodified embedded firmware on virtual boards and multi-node networks, with Robot Framework-based testing for CI.Compare with Ceedling
Ccmockacmocka is an Apache-2.0 unit testing framework for C with mock objects that needs only the standard C library, working across platforms including embedded.Compare with Ceedling
UUnity Test (C)Unity is an MIT-licensed unit testing framework for C focused on embedded toolchains, consisting of a single C file and two headers, from ThrowTheSwitch.org alongside CMock and Ceedling.Compare with Ceedling
Llabgridlabgrid is an LGPL-2.1-or-later Python library from Pengutronix for controlling embedded boards in automated tests, with remote access, power and boot control, and a pytest plugin.Compare with Ceedling
Ppytest-embeddedpytest-embedded is Espressif's MIT pytest plugin for embedded testing, with services for serial, ESP-IDF, Arduino, QEMU, Wokwi and JTAG.Compare with Ceedling
WWokwiWokwi is an online and VS Code simulator for ESP32, Arduino, STM32 and other microcontrollers, with Wokwi CI for automated firmware tests in GitHub Actions and GitLab CI.Compare with Ceedling