code coverage with gcov

Code Coverage with gcov

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "code coverage with gcov" with this command: npx skills add gadievron/raptor/gadievron-raptor-code-coverage-with-gcov

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 CFLAGS and LDFLAGS

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 --coverage to CFLAGS and LDFLAGS

  • Clean previous build: make clean or rm -f *.gcda *.gcno

  • Build with coverage: make ENABLE_COVERAGE=1 or cmake -DENABLE_COVERAGE=ON

  • Run tests: make test or ./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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github-wayback-recovery

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-evidence-kit

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-commit-recovery

No summary provided by upstream source.

Repository SourceNeeds Review