DOKK / manpages / debian 12 / lcov / lcovrc.5.en
lcovrc(5) User Manuals lcovrc(5)

lcovrc - lcov configuration file

The lcovrc file contains configuration information for the lcov code coverage tool (see lcov(1)).

The system-wide configuration file is located at /etc/lcovrc. To change settings for a single user, place a customized copy of this file at location ~/.lcovrc. Where available, command-line options override configuration file settings.

Lines in a configuration file can either be:

*
empty lines or lines consisting only of white space characters. These lines are ignored.
*
comment lines which start with a hash sign ('#'). These are treated like empty lines and will be ignored.
*
statements in the form 'key = value'. A list of valid statements and their description can be found in section 'OPTIONS' below.

Example configuration:

#
# Example LCOV configuration file
#

# External style sheet file
#genhtml_css_file = gcov.css

# Use 'dark' mode display (light foreground/dark background)
# rather than default
#genhtml_dark_mode = 1

# Alternate header text to use at top of each page
#genhtml_header = Coverage report for my project

# Alternate footer text to use at the bottom of each page
#genhtml_footer = My footer text

# Coverage rate limits
genhtml_hi_limit = 90
genhtml_med_limit = 75

# Width of line coverage field in source code view
genhtml_line_field_width = 12

# Width of branch coverage field in source code view
genhtml_branch_field_width = 16

# Width of overview image
genhtml_overview_width = 80

# Resolution of overview navigation
genhtml_nav_resolution = 4

# Offset for source code navigation
genhtml_nav_offset = 10

# Do not remove unused test descriptions if non-zero
genhtml_keep_descriptions = 0

# Do not remove prefix from directory names if non-zero
genhtml_no_prefix = 0

# Do not create source code view if non-zero
genhtml_no_source = 0

# Specify size of tabs
genhtml_num_spaces = 8

# Highlight lines with converted-only data if non-zero
genhtml_highlight = 0

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

# Include HTML file at start of HTML output
#genhtml_html_prolog = prolog.html

# Include HTML file at end of HTML output
#genhtml_html_epilog = epilog.html

# Use custom HTML file extension
#genhtml_html_extension = html

# Compress all generated html files with gzip.
#genhtml_html_gzip = 1

# Include sorted overview pages
genhtml_sort = 1

# Include function coverage data display
#genhtml_function_coverage = 1

# Include branch coverage data display
#genhtml_branch_coverage = 1

# Specify the character set of all generated HTML pages
genhtml_charset=UTF-8

# Allow HTML markup in test case description text if non-zero
genhtml_desc_html=0

# Specify the precision for coverage rates
#genhtml_precision=1

# Show missed counts instead of hit counts
#genhtml_missed=1

# Demangle C++ symbols
#genhtml_demangle_cpp=1

# Name of the tool used for demangling C++ function names
#genhtml_demangle_cpp_tool = c++filt

# Specify extra parameters to be passed to the demangling tool
#genhtml_demangle_cpp_params = ""

# Location of the gcov tool
#geninfo_gcov_tool = gcov

# Adjust test names if non-zero
#geninfo_adjust_testname = 0

# Calculate a checksum for each line if non-zero
geninfo_checksum = 0

# Enable libtool compatibility mode if non-zero
geninfo_compat_libtool = 0

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

# Use gcov's --all-blocks option if non-zero
#geninfo_gcov_all_blocks = 1

# Specify compatiblity modes (same as --compat option
# of geninfo)
#geninfo_compat = libtool=on, hammer=auto, split_crc=auto

# Adjust path to source files by removing or changing path
# components that match the specified pattern (Perl regular
# expression format)
#geninfo_adjust_src_path = /tmp/build => /usr/src

# Specify if geninfo should try to automatically determine
# the base-directory when collecting coverage data.
geninfo_auto_base = 1

# Use gcov intermediate format? Valid values are 0, 1, auto
geninfo_intermediate = auto

# Directory containing gcov kernel files
lcov_gcov_dir = /proc/gcov

# Location for temporary directories
lcov_tmp_dir = /tmp

# Show full paths during list operation if non-zero
lcov_list_full_path = 0

# Specify the maximum width for list output. This value is
# ignored when lcov_list_full_path is non-zero.
lcov_list_width = 80

# Specify the maximum percentage of file names which may be
# truncated when choosing a directory prefix in list output.
# This value is ignored when lcov_list_full_path is non-zero.
lcov_list_truncate_max = 20

# 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

# Ask LCOV to return non-zero exit code if line coverage is
# below specified threshold percentage.
lcov_fail_under_lines = 97.5

# Specify JSON module to use, or choose best available if
# set to auto
lcov_json_module = auto

genhtml_css_file = filename

Specify an external style sheet file. Use this option to modify the appearance of the HTML output as generated by genhtml. During output generation, a copy of this file will be placed in the output directory.

This option corresponds to the --css-file command line option of genhtml.

By default, a standard CSS file is generated.

genhtml_header = string

Specify header text to use at top of each HTML page.

This option corresponds to the --header-title command line option of genhtml.

Default is "LCOV - coverage report".

genhtml_footer = string

Specify footer text to use at bottom of each HTML page.

This option corresponds to the --footer command line option of genhtml.

Default is LCOV tool version string.

genhtml_dark_mode = 0|1

If non-zero, display using light text on dark background rather than dark text on light background.

This option corresponds to the --dark-mode command line option of genhtml.

By default, a 'light' palette is used.

genhtml_hi_limit = hi_limit
genhtml_med_limit = med_limit

Specify coverage rate limits for classifying file entries. Use this option to modify the coverage rates (in percent) for line, function and branch coverage at which a result is classified as high, medium or low coverage. This classification affects the color of the corresponding entries on the overview pages of the HTML output:

High: hi_limit <= rate <= 100 default color: green
Medium: med_limit <= rate < hi_limit default color: orange
Low: 0 <= rate < med_limit default color: red

Defaults are 90 and 75 percent.

genhtml_line_field_width = number_of_characters

Specify the width (in characters) of the source code view column containing line coverage information.

Default is 12.

genhtml_branch_field_width = number_of_characters

Specify the width (in characters) of the source code view column containing branch coverage information.

Default is 16.

genhtml_overview_width = pixel_size

Specify the width (in pixel) of the overview image created when generating HTML output using the --frames option of genhtml.

Default is 80.

genhtml_nav_resolution = lines

Specify the resolution of overview navigation when generating HTML output using the --frames option of genhtml. This number specifies the maximum difference in lines between the position a user selected from the overview and the position the source code window is scrolled to.

Default is 4.

genhtml_nav_offset = lines

Specify the overview navigation line offset as applied when generating HTML output using the --frames option of genhtml.

Clicking a line in the overview image should show the source code view at a position a bit further up, so that the requested line is not the first line in the window. This number specifies that offset.

Default is 10.

genhtml_keep_descriptions = 0|1

If non-zero, keep unused test descriptions when generating HTML output using genhtml.

This option corresponds to the --keep-descriptions option of genhtml.

Default is 0.

genhtml_no_prefix = 0|1

If non-zero, do not try to find and remove a common prefix from directory names.

This option corresponds to the --no-prefix option of genhtml.

Default is 0.

genhtml_no_source = 0|1

If non-zero, do not create a source code view when generating HTML output using genhtml.

This option corresponds to the --no-source option of genhtml.

Default is 0.

genhtml_num_spaces = num

Specify the number of spaces to use as replacement for tab characters in the HTML source code view as generated by genhtml.

This option corresponds to the --num-spaces option of genthml.

Default is 8.

genhtml_highlight = 0|1

If non-zero, highlight lines with converted-only data in HTML output as generated by genhtml.

This option corresponds to the --highlight option of genhtml.

Default is 0.

genhtml_legend = 0|1

If non-zero, include a legend explaining the meaning of color coding in the HTML output as generated by genhtml.

This option corresponds to the --legend option of genhtml.

Default is 0.

genhtml_html_prolog = filename

If set, include the contents of the specified file at the beginning of HTML output.

This option corresponds to the --html-prolog option of genhtml.

Default is to use no extra prolog.

genhtml_html_epilog = filename

If set, include the contents of the specified file at the end of HTML output.

This option corresponds to the --html-epilog option of genhtml.

Default is to use no extra epilog.

genhtml_html_extension = extension

If set, use the specified string as filename extension for generated HTML files.

This option corresponds to the --html-extension option of genhtml.

Default extension is "html".

genhtml_html_gzip = 0|1

If set, compress all html files using gzip.

This option corresponds to the --html-gzip option of genhtml.

Default extension is 0.

genhtml_sort = 0|1

If non-zero, create overview pages sorted by coverage rates when generating HTML output using genhtml.

This option can be set to 0 by using the --no-sort option of genhtml.

Default is 1.

genhtml_function_coverage = 0|1

If non-zero, include function coverage data when generating HTML output using genhtml.

This option can be set to 0 by using the --no-function-coverage option of genhtml.

Default is 1.

genhtml_branch_coverage = 0|1

If non-zero, include branch coverage data when generating HTML output using genhtml.

This option can be set to 0 by using the --no-branch-coverage option of genhtml.

Default is 1.

genhtml_charset = charset

Specify the character set of all generated HTML pages.

Use this option if the source code contains characters which are not part of the default character set. Note that this option is ignored when a custom HTML prolog is specified (see also genhtml_html_prolog).

Default is UTF-8.

genhtml_demangle_cpp = 0|1

If non-zero, demangle C++ function names in function overviews.

Set this option to one if you want to convert C++ internal function names to human readable format for display on the HTML function overview page. This option requires that the c++filt tool is installed (see c++filt(1) ).

This option corresponds to the --demangle-cpp command line option of genhtml.

Default is 0.

genhtml_demangle_cpp_tool = path_to_c++filt

Specify the location of the demangle tool (see c++filt(1)) used to convert C++ internal function names to human readable format for display on the HTML function overview page.

Default is 'c++filt'.

genhtml_demangle_cpp_params = parameters

Specify extra parameters to be passed to the demangling tool

Use this option if your environment requires additional parameters such as --no-strip-underscore for correctly demangling C++ internal function names. See also c++filt(1)).

Default is "".

genhtml_desc_html = 0|1

If non-zero, test case descriptions may contain HTML markup.

Set this option to one if you want to embed HTML markup (for example to include links) in test case descriptions. When set to zero, HTML markup characters will be escaped to show up as plain text on the test case description page.

Default is 0.

genhtml_precision = 1|2|3|4

Specify how many digits after the decimal-point should be used for displaying coverage rates.

Default is 1.

genhtml_missed = 0|1

If non-zero, the count of missed lines, functions, or branches is shown as negative numbers in overview pages.

Default is 0.

geninfo_gcov_tool = path_to_gcov

Specify the location of the gcov tool (see gcov(1)) which is used to generate coverage information from data files.

Default is 'gcov'.

geninfo_adjust_testname = 0|1

If non-zero, adjust test names to include operating system information when capturing coverage data.

Default is 0.

geninfo_checksum = 0|1

If non-zero, generate source code checksums when capturing coverage data. Checksums are useful to prevent merging coverage data from incompatible source code versions but checksum generation increases the size of coverage files and the time used to generate those files.

This option corresponds to the --checksum and --no-checksum command line option of geninfo.

Default is 0.

geninfo_compat_libtool = 0|1

If non-zero, enable libtool compatibility mode. When libtool compatibility mode is enabled, lcov will assume that the source code relating to a .da file located in a directory named ".libs" can be found in its parent directory.

This option corresponds to the --compat-libtool and --no-compat-libtool command line option of geninfo.

Default is 1.

geninfo_external = 0|1

If non-zero, capture coverage data for external source files.

External source files are files which are not located in one of the directories (including sub-directories) specified by the --directory or --base-directory options of lcov/geninfo.

Default is 1.

geninfo_gcov_all_blocks = 0|1

If non-zero, call the gcov tool with option --all-blocks.

Using --all-blocks will produce more detailed branch coverage information for each line. Set this option to zero if you do not need detailed branch coverage information to speed up the process of capturing code coverage or to work around a bug in some versions of gcov which will cause it to endlessly loop when analysing some files.

Default is 1.

geninfo_compat = mode=value[,mode=value,...]

Specify that geninfo should enable one or more compatibility modes when capturing coverage data.

This option corresponds to the --compat command line option of geninfo.

Default is 'libtool=on, hammer=auto, split_crc=auto'.

geninfo_adjust_src_path = pattern => replacement
geninfo_adjust_src_path = pattern

Adjust source paths when capturing coverage data.

Use this option in situations where geninfo cannot find the correct path to source code files of a project. By providing a pattern in Perl regular expression format (see perlre(1)) and an optional replacement string, you can instruct geninfo to remove or change parts of the incorrect source path.

Example:

1. When geninfo reports that it cannot find source file


/path/to/src/.libs/file.c

while the file is actually located in


/path/to/src/file.c

use the following parameter:


geninfo_adjust_src_path = /.libs

This will remove all "/.libs" strings from the path.

2. When geninfo reports that it cannot find source file


/tmp/build/file.c

while the file is actually located in


/usr/src/file.c

use the following parameter:


geninfo_adjust_src_path = /tmp/build => /usr/src

This will change all "/tmp/build" strings in the path to "/usr/src".

geninfo_auto_base = 0|1

If non-zero, apply a heuristic to determine the base directory when collecting coverage data.

Use this option when using geninfo on projects built with libtool or similar build environments that work with multiple base directories, i.e. environments, where the current working directory when invoking the compiler ist not the same directory in which the source code file is located, and in addition, is different between files of the same project.

Default is 1.

geninfo_intermediate = 0|1|auto

Specify whether to use gcov intermediate format

Use this option to control whether geninfo should use the gcov intermediate format while collecting coverage data. The use of the gcov intermediate format should increase processing speed. It also provides branch coverage data when using the --initial command line option.

Valid values are 0 for off, 1 for on, and "auto" to let geninfo automatically use immediate format when supported by gcov.

Default is "auto".

geninfo_no_exception_branch = 0|1

Specify whether to exclude exception branches from branch coverage.

Default is 0.

lcov_gcov_dir = path_to_kernel_coverage_data

Specify the path to the directory where kernel coverage data can be found or leave undefined for auto-detection.

Default is auto-detection.

lcov_tmp_dir = temp

Specify the location of a directory used for temporary files.

Default is '/tmp'.

lcov_list_full_path = 0|1

If non-zero, print the full path to source code files during a list operation.

This option corresponds to the --list-full-path option of lcov.

Default is 0.

lcov_list_max_width = width

Specify the maximum width for list output. This value is ignored when lcov_list_full_path is non-zero.

Default is 80.

lcov_list_truncate_max = percentage

Specify the maximum percentage of file names which may be truncated when choosing a directory prefix in list output. This value is ignored when lcov_list_full_path is non-zero.

Default is 20.

lcov_function_coverage = 0|1

Specify whether lcov should handle function coverage data.

Setting this option to 0 can reduce memory and CPU time consumption when lcov is collecting and processing coverage data, as well as reduce the size of the resulting data files. Note that setting genhtml_function_coverage will override this option for HTML generation.

Default is 1.

lcov_branch_coverage = 0|1

Specify whether lcov should handle branch coverage data.

Setting this option to 0 can reduce memory and CPU time consumption when lcov is collecting and processing coverage data, as well as reduce the size of the resulting data files. Note that setting genhtml_branch_coverage will override this option for HTML generation.

Default is 0.

lcov_excl_line = expression

Specify the regular expression of lines to exclude.

Default is 'LCOV_EXCL_LINE'.

lcov_excl_br_line = expression

Specify the regular expression of lines to exclude from branch coverage.

Default is 'LCOV_EXCL_BR_LINE'.

lcov_excl_exception_br_line = expression

Specify the regular expression of lines to exclude from exception branch coverage.

Default is 'LCOV_EXCL_EXCEPTION_BR_LINE'.

lcov_fail_under_lines = percentage

Specify line coverage threshold to lcov. If the line coverage is below this threshold, lcov will generate all the normal result files and messages, but will return a non-zero exit code.

This option is equivalent to the --fail-under-lines lcov command line option.

The default is 0 (no threshold).

lcov_json_module = module|auto

Specify the JSON module to use, or choose best available from a set of alternatives if set to 'auto'. Note that some JSON modules are slower than others (notably JSON::PP can be very slow compared to JSON::XS).

Default is 'auto'.

/etc/lcovrc
The system-wide lcov configuration file.

~/.lcovrc
The individual per-user configuration file.

lcov(1), genhtml(1), geninfo(1), gcov(1)

LCOV 1.16 2022-06-06