CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/ceedling-build-runner

Use when a C project wants Unity, CMock and CException run by one build command, or CMock mocks need writing or reading: Ceedling project scaffolding, project.yml, test tasks, JUnit XML, gcov coverage, host vs cross builds and CI. The Unity assertion API is unity-test-framework-c.

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

task-reference.mdreferences/

Ceedling task reference

Per the CeedlingPacket task reference. The SKILL spine keeps ceedling test:all, ceedling gcov:all, and the compound CI invocation; the full surface follows.

Test tasks

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.

Release build

ceedling release                # Build production binary
ceedling release:compile:foo.c  # Compile a single file

release is opt-in (:project: :release_build: TRUE in project.yml). Use it for the actual firmware build, not for tests.

Maintenance

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 version

dumpconfig is the reliable way to debug mysterious flag behaviour - Ceedling merges several layers (defaults, project, plugin) and the final flags can surprise.

Compound tasks

Tasks chain on the command line:

ceedling clobber test:all release gcov:all
# Clean -> run tests -> build release -> produce coverage report

This is the canonical CI invocation.

SKILL.md

tile.json