> Code Coverage with gcov
Add gcov code coverage instrumentation to C/C++ projects
curl "https://skillshub.wtf/gadievron/raptor/gcov-coverage?format=md"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
> related_skills --same-repo
> orchestration
orchestration skill from gadievron/raptor
> github-wayback-recovery
Recover deleted GitHub content using the Wayback Machine and Archive.org APIs. Use when repositories, files, issues, PRs, or wiki pages have been deleted from GitHub but may persist in web archives. Covers CDX API queries, URL patterns, and systematic recovery workflows.
> github-evidence-kit
Generate, export, load, and verify forensic evidence from GitHub sources. Use when creating verifiable evidence objects from GitHub API, GH Archive, Wayback Machine, local git repositories, or security vendor reports. Handles evidence storage, querying, and re-verification against original sources.
> github-commit-recovery
Recover deleted commits from GitHub using REST API, web interface, and git fetch. Use when you have commit SHAs and need to retrieve actual commit content, diffs, or patches. Includes techniques for accessing "deleted" commits that remain on GitHub servers.