Agent Skills
› gadievron/raptor
› Code Coverage with gcov
Code Coverage with gcov
GitHub为C/C++项目添加gcov代码覆盖率检测,支持Make和CMake构建系统集成,通过编译链接标志、执行测试及生成文本或HTML报告来衡量行、分支和功能覆盖率。
Trigger Scenarios
需要分析C/C++代码测试覆盖率
配置构建系统以启用gcov覆盖统计
Install
npx skills add gadievron/raptor --skill Code Coverage with gcov -g -y
SKILL.md
Frontmatter
{
"name": "Code Coverage with gcov",
"tags": [
"coverage",
"gcov",
"testing"
],
"author": "Claude",
"version": 1,
"description": "Add gcov code coverage instrumentation to C\/C++ projects",
"user-invocable": false
}
Code Coverage with gcov
Purpose
Instrument C/C++ programs with gcov to measure test coverage.
How It Works
Build with Coverage
gcc --coverage -o program source.c
Run Program
./program
# Creates .gcda files with execution data
Generate Reports
Text report:
gcov source.c
# Creates source.c.gcov with line-by-line coverage
HTML report:
gcovr --html-details -o coverage.html
Coverage Flags
--coverage(shorthand for-fprofile-arcs -ftest-coverage -lgcov)- Add to both
CFLAGSandLDFLAGS
Build System Integration
Makefile
ENABLE_COVERAGE ?= 0
ifeq ($(ENABLE_COVERAGE),1)
CFLAGS += --coverage
LDFLAGS += --coverage
endif
CMake
option(ENABLE_COVERAGE "Enable coverage" OFF)
if(ENABLE_COVERAGE)
add_compile_options(--coverage)
add_link_options(--coverage)
endif()
When User Requests Coverage
Steps
- Detect build system (Makefile/CMake/other)
- Add
--coverageto CFLAGS and LDFLAGS - Clean previous build:
make cleanorrm -f *.gcda *.gcno - Build with coverage:
make ENABLE_COVERAGE=1orcmake -DENABLE_COVERAGE=ON - Run tests:
make testor./test_suite - Generate report:
gcovr --html-details coverage.html --print-summary - Present summary and path to HTML report
Output
Text (.gcov files):
-: 0:Source:main.c
5: 42: int x = 10;
#####: 43: unused_code();
5:= executed 5 times#####:= not executed-:= non-executable
HTML: Interactive report with color-coded coverage
Metrics
- Line coverage: Executed lines / total lines
- Branch coverage: Taken branches / total branches
- Function coverage: Called functions / total functions
Target: 80%+ line coverage, 70%+ branch coverage
Version History
- 91a9686 Current 2026-07-24 22:16


