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
Passed
No findings from the security scan
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.