Author and run the Ceedling build system for C unit testing - the canonical build orchestration on top of Unity (assertions) + CMock (mocks) + CException (exceptions). Covers ceedling new scaffolding, the project.yml schema (:project / :paths / :files / :defines / :flags / :tools / :test_runner / :cmock / :unity / :cexception / :gcov / :plugins), the task surface (test:all, test:{name}, test:pattern, test:path, release, clean / clobber, gcov:all, module:create, environment, dumpconfig), JUnit XML via the report_tests_* plugins, gcov integration, host vs cross-build flow, and CI wiring. CMock semantics - the generated Expect / Ignore / IgnoreArg / ReturnThruPtr / AddCallback / Stub / ExpectAndThrow family, cmock.yml :plugins, mock naming, tearDown verification, strict-vs-ignore matching - are in references/cmock.md. Use when a C project wants the ThrowTheSwitch trio bundled by one build command, or when authoring / reading CMock mocks. For the Unity assertion API see unity-test-framework-c.
74
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Per the CeedlingPacket task reference. The SKILL spine keeps ceedling test:all, ceedling gcov:all, and the compound CI invocation; the full surface follows.
ceedling test:all # Run every test_*.c
ceedling test:ringbuffer # Run only test_ringbuffer.c
ceedling test:pattern[ringbuffer] # Regex match on test file basename
ceedling test:path[test/components] # Tests under a path
ceedling test:ringbuffer --test-case=push # Run only test cases matching 'push'--test-case=<pattern> is the equivalent of GoogleTest's --gtest_filter.
ceedling release # Build production binary
ceedling release:compile:foo.c # Compile a single filerelease is opt-in (:project: :release_build: TRUE in project.yml). Use it for the actual firmware build, not for tests.
ceedling clean # Remove .o files
ceedling clobber # Remove all generated files (build/, generated runners, mocks)
ceedling environment # Print environment (CC, PATH, etc.)
ceedling dumpconfig # Print the merged project.yml
ceedling help # Task list
ceedling version # Ceedling versiondumpconfig is the reliable way to debug mysterious flag behaviour - Ceedling merges several layers (defaults, project, plugin) and the final flags can surprise.
Tasks chain on the command line:
ceedling clobber test:all release gcov:all
# Clean -> run tests -> build release -> produce coverage reportThis is the canonical CI invocation.