# lcov configuration for .github/workflows/coverage.yml.
#
# A copy of colcon-lcov-result 0.5.0's default (colcon_lcov_result/verb/configuration/lcovrc),
# with branch coverage turned off below. The whole file is needed: --lcov-config-file
# replaces the default rather than adding to it.
#
# Why no branch coverage: gcc emits a hidden "it threw" branch on nearly every line that
# calls a function, and no test takes it. Each such line -- a declaration like
# 'rtabmap::Transform t;' included -- then counts as a partial, and Codecov reports a
# partial line as not covered. lcov's geninfo_no_exception_branch would drop those
# branches, but not with the lcov 1.15 of Ubuntu 22.04 and gcc 11: its JSON reader
# ignores the flag, and its text reader cannot read gcc 11's .gcno files. So only line
# coverage is reported: a line is covered when a test ran it.

geninfo_auto_base=1

# Specify size of tabs
genhtml_num_spaces = 2

# Include color legend in HTML output if non-zero
genhtml_legend = 1

# Include function coverage data display
genhtml_function_coverage = 1

# Include branch coverage data display
genhtml_branch_coverage = 0

# Specify whether to capture coverage data for external source
# files
geninfo_external = 0

# Less verbose output
lcov_quiet = 1

# Specify if function coverage data should be collected and
# processed.
lcov_function_coverage = 1

# Specify if branch coverage data should be collected and
# processed.
lcov_branch_coverage = 0

## Follow symlinks
lcov_follow = 1
