lcovrc (5) - Linux Manuals

lcovrc: lcov configuration file

NAME

lcovrc - lcov configuration file

DESCRIPTION

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

# 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

# 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

# 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

OPTIONS

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_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.

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.

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.

FILES

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

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

SEE ALSO

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