with one click
lcov
LCOV tooling - finding gaps, parsing coverage files, marker syntax
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
LCOV tooling - finding gaps, parsing coverage files, marker syntax
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Automated quality check loops with escalation and fix sub-agents
JSON-based end-to-end test format, runner, and mock provider
Jujutsu (jj) skill for the ikigai project
How to write effective Ralph goals for Ikigai-driven workflows
Create and manage Ralph goals from Ikigai using the real ralph-pipeline scripts
Create repositories using the real ralph-pipeline repo-create script
| name | lcov |
| description | LCOV tooling - finding gaps, parsing coverage files, marker syntax |
# Run coverage first
make check-coverage
# Uncovered lines
grep "^DA:" reports/coverage/coverage.info | grep ",0$"
# Uncovered branches
grep "^BRDA:" reports/coverage/coverage.info | grep ",0$"
# Uncovered functions
grep "^FNDA:0," reports/coverage/coverage.info
SF:/path/to/file.c # Source file
FN:42,function_name # Function at line 42
FNDA:5,function_name # Function called 5 times
DA:45,3 # Line 45 executed 3 times
DA:46,0 # Line 46 never executed (GAP!)
BRDA:50,0,0,2 # Line 50, block 0, branch 0, taken 2 times
BRDA:50,0,1,0 # Line 50, block 0, branch 1, never taken (GAP!)
end_of_record
Key patterns:
DA:line,0 = uncovered lineBRDA:line,block,branch,0 = uncovered branchFNDA:0,name = uncovered function| Command | Output |
|---|---|
make check-coverage | reports/coverage/coverage.info, reports/coverage/summary.txt |
make check-coverage TEST=unit/foo | reports/coverage/unit/foo.coverage.info, .coverage.txt |
| Marker | Effect |
|---|---|
LCOV_EXCL_LINE | Exclude entire line |
LCOV_EXCL_BR_LINE | Exclude branch only |
LCOV_EXCL_START / LCOV_EXCL_STOP | Block exclusion (wrapper.c only) |
Usage:
assert(ptr != NULL); // LCOV_EXCL_BR_LINE
if (!ptr) PANIC("Invariant violated"); // LCOV_EXCL_BR_LINE
Note: Markers are NOT reliably honored inside static functions. Inline code instead.
See coverage skill for exclusion policy (what's allowed vs forbidden).
# 1. Run coverage
make check-coverage
# 2. Check summary
cat reports/coverage/summary.txt
# 3. Find gaps in specific file
grep -A 1000 "SF:.*myfile.c" reports/coverage/coverage.info | \
grep -m 1 -B 1000 "end_of_record" | grep ",0$"
coverage - Policy (90% requirement, exclusion rules)testability - Refactoring patterns for gaps