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 project scaffolding, the project.yml schema (:project / :paths / :files / :defines / :flags / :tools / :test_runner / :cmock / :unity / :cexception / :gcov / :plugins), the task surface (ceedling test:all, ceedling test:{name}, ceedling test:pattern, ceedling test:path, ceedling release, ceedling clean / clobber, ceedling gcov:all, ceedling module:create, ceedling environment, ceedling dumpconfig), JUnit XML output via the report_tests_pretty_stdout / report_tests_junit_xml plugins, gcov plugin integration, host vs cross-build flow, and CI wiring. Use when a C project wants the standard ThrowTheSwitch trio bundled by one build command. For the Unity assertion API see unity-test-framework-c; for CMock semantics see cmock-reference.
79
99%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
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.