1lcovrc(5) User Manuals lcovrc(5)
2
3
4
6 lcovrc - lcov configuration file
7
8
10 The lcovrc file contains configuration information for the lcov code
11 coverage tool (see lcov(1)).
12
13 The system-wide configuration file is located at /etc/lcovrc. To
14 change settings for a single user, place a customized copy of this file
15 at location ~/.lcovrc. Where available, command-line options override
16 configuration file settings.
17
18 The genhtml, lcov, and geninfo commands also support the --config-file
19 option, which can be used to specify one or more files which should be
20 used instead of the system or user default rc files. Multiple options
21 files may be useful if you have both project- and team-specific common
22 options and want to ensure consistency across multiple users. If mul‐
23 tiple --config-file options are applied in the order they appear. Note
24 that the "--config-file" option name must be specified in full and can‐
25 not be abbreviated. An error will occur if the option is not recog‐
26 nized.
27
28 Lines in a configuration file can either be:
29
30 * empty lines or lines consisting only of white space characters.
31 These lines are ignored.
32
33 * comment lines which start with a hash sign ('#'). These are
34 treated like empty lines and will be ignored.
35
36 * statements in the form 'key = value'.
37
38
39 * Values may be taken from environment variables via the syntax
40
41 'key = ...$ENV{ENV_VAR_NAME}...'.
42
43 The substring '$ENV{ENV_VAR_NAME}' is replaced by the value of
44 the environment variable.
45
46 One or more environment variables may be used to set the RC
47 value.
48
49
50 A list of valid statements and their description can be found in sec‐
51 tion 'OPTIONS' below.
52
53 Both 'list' and 'scalar' (non list) options are supported in the lcovrc
54 file.
55
56 For scalar (non list) options:
57
58 * if specified on the command line and in the lcovrc file, the
59 value specified on the command line wins. The value from the RC
60 file is ignored.
61
62 * Scalar options include: 'genhtml_criteria_script = ...' , 'gen‐
63 html_annotate_script = ...' , 'version_script = ...' , etc.
64
65 For list options:
66
67 * the RC file entry can be used multiple times; each use appends
68 to the list.
69 For example, the entry below will result in two 'omit' patterns
70 which will both be checked:
71
72 # note explicit start/end line markers in the regexp
73 omit_lines = ^/MY_EXCLUDE_MARKER$
74 # Note that the regexp below matches anywhere on the line
75 omit_lines = NR_CM_DBG_PRINT
76
77
78 * If entries are specified on the command line, then the RC file
79 entries are ignored: command line wins. If entries are speci‐
80 fied in more than one RC file (i.e., multiple --config-file ar‐
81 guments are supplied), then RC files are applied in order of ap‐
82 pearance, and list entries are appended in order. For most
83 list-type options, order is not important.
84
85
86
87 * list options include: 'filter = ...' , 'exclude = ...' 'in‐
88 clude = ...' , 'substitute = ...' , 'omit_lines = ...' ,
89 erase_functions = ...' , etc.
90
91
92 Example configuration:
93
94 #
95 # Example LCOV configuration file
96 #
97
98 # External style sheet file
99 #genhtml_css_file = gcov.css
100
101 # Use 'dark' mode display (light foreground/dark background)
102 # rather than default
103 #genhtml_dark_mode = 1
104
105 # Alternate header text to use at top of each page
106 #genhtml_header = Coverage report for my project
107
108
109 # Alternate footer text to use at the bottom of each page
110 #genhtml_footer = My footer text
111
112 # Coverage rate limits
113 genhtml_hi_limit = 90
114 genhtml_med_limit = 75
115
116 # Ignore some errors (comma-separated list)
117 #ignore_errors = empty,mismatch
118
119 # Stop emitting message after this number have been printed
120 # 0 == no limit
121 max_message_count = 100
122
123 # If set, do not stop when an 'ignorable error' occurs - try
124 # to generate a result, however flawed. This is equivalent to
125 # the '--keep-going' command line switch.
126 # Default is 1: stop when error occurs
127 #stop_on_error = 1
128
129 # list of file extensions which should be treated as C/C++ code
130 # (comma-separated list)
131 #c_file_extensions = h,c,cpp,hpp
132
133 # list of file extensions which should be treated as RTL code
134 # (e.g., Verilog) (comma-separated list)
135 #rtl_file_extensions = v,vh,sv
136
137 # maxmimum number of lines to look at, when filtering bogus
138 branch expressions
139 #filter_lookahead = 5
140
141 # if nonzero, bitwise operators '|', '&', '~' indicate condi‐
142 tional expressions
143 #filter_bitwise_conditional = 1
144
145 # Width of line coverage field in source code view
146 genhtml_line_field_width = 12
147
148 # Width of branch coverage field in source code view
149 genhtml_branch_field_width = 16
150
151 # width of 'owner' field in source code view - default is 20
152 genhtml_owner_field_width = 20
153 # width of 'age' field in source code view - default is 5
154 genhtml_age_field_width = 5
155
156 # Width of overview image
157 genhtml_overview_width = 80
158
159 # Resolution of overview navigation
160 genhtml_nav_resolution = 4
161
162 # Offset for source code navigation
163 genhtml_nav_offset = 10
164
165 # Do not remove unused test descriptions if non-zero
166 genhtml_keep_descriptions = 0
167
168 # Do not remove prefix from directory names if non-zero
169 genhtml_no_prefix = 0
170
171 # Do not create source code view if non-zero
172 genhtml_no_source = 0
173
174 # Specify size of tabs
175 genhtml_num_spaces = 8
176
177 # Highlight lines with converted-only data if non-zero
178 genhtml_highlight = 0
179
180 # Include color legend in HTML output if non-zero
181 genhtml_legend = 0
182
183 # Include HTML file at start of HTML output
184 #genhtml_html_prolog = prolog.html
185
186 # Include HTML file at end of HTML output
187 #genhtml_html_epilog = epilog.html
188
189 # Use custom HTML file extension
190 #genhtml_html_extension = html
191
192 # Compress all generated html files with gzip.
193 #genhtml_html_gzip = 1
194
195 # Include sorted overview pages
196 genhtml_sort = 1
197
198 # Display coverage data in hierarchical directory structure
199 # (rather than flat/3 level)
200 #genhtml_hierarchical = 1
201
202 # Display coverage data using 'flat' view
203 #genhtml_flat_view = 1
204
205 # Specify the character set of all generated HTML pages
206 genhtml_charset=UTF-8
207
208 # Allow HTML markup in test case description text if non-zero
209 genhtml_desc_html=0
210
211 # Specify the precision for coverage rates
212 #genhtml_precision=1
213
214 # Show missed counts instead of hit counts
215 #genhtml_missed=1
216
217 # If set, suppress list of aliases in function detail table
218 #suppress_function_aliases = 1
219
220 # If set, derive function end line from line coverpoint data -
221 default ON
222 #derive_function_end_line = 1
223
224 # Maximum size of function (number lines) which will be checked
225 by '--filter trivial'
226 #trivial_function_threshold = 5
227
228 # Demangle C++ symbols
229 # Call multiple times to specify command and command line argu‐
230 ments
231 # ('-Xlinker'-like behaviour)
232 #demangle_cpp = c++filt
233
234 # Name of the tool used for demangling C++ function names
235 # This argument is deprecated - please use demangle_cpp' instead
236 #genhtml_demangle_cpp_tool = c++filt
237
238 # Specify extra parameters to be passed to the demangling tool
239 # this argument is deprecated - use Xlinker-like demangle_cpp
240 # paramter instead
241 #genhtml_demangle_cpp_params = ""
242
243 # Location of the gcov tool
244 #geninfo_gcov_tool = gcov
245
246 # Adjust test names if non-zero
247 #geninfo_adjust_testname = 0
248
249 # Ignore testcase names in .info file forget_testcase_names = 0
250
251 # Calculate and/or compute checksum for each line if non-zero
252 checksum = 0
253
254 # Enable libtool compatibility mode if non-zero
255 geninfo_compat_libtool = 0
256
257 # Specify whether to capture coverage data for external source
258 # files
259 #geninfo_external = 1
260
261 # Use gcov's --all-blocks option if non-zero
262 #geninfo_gcov_all_blocks = 1
263
264 # Adjust 'executed' non-zero hit count of lines which contain no
265 branches
266 # and have attribute '"unexecuted_blocks": true'
267 #geninfo_unexecuted_blocks = 0
268
269 # Specify compatibility modes (same as --compat option
270 # of geninfo)
271 #geninfo_compat = libtool=on, hammer=auto, split_crc=auto
272
273 # Adjust path to source files by removing or changing path
274 # components that match the specified pattern (Perl regular
275 # expression format)
276 #geninfo_adjust_src_path = /tmp/build => /usr/src
277
278 # Specify if geninfo should try to automatically determine
279 # the base-directory when collecting coverage data.
280 geninfo_auto_base = 1
281
282 # Use gcov intermediate format? Valid values are 0, 1, auto
283 geninfo_intermediate = auto
284
285 # Specify if exception branches should be excluded from branch
286 coverage.
287 no_exception_branch = 0
288
289 # Directory containing gcov kernel files
290 lcov_gcov_dir = /proc/gcov
291
292 # Location for temporary directories
293 lcov_tmp_dir = /tmp
294
295 # Show full paths during list operation if non-zero
296 lcov_list_full_path = 0
297
298 # Specify the maximum width for list output. This value is
299 # ignored when lcov_list_full_path is non-zero.
300 lcov_list_width = 80
301
302 # Specify the maximum percentage of file names which may be
303 # truncated when choosing a directory prefix in list output.
304 # This value is ignored when lcov_list_full_path is non-zero.
305 lcov_list_truncate_max = 20
306
307 # Specify if function coverage data should be collected, pro‐
308 cessed, and
309 # displayed.
310 function_coverage = 1
311
312 # Specify if branch coverage data should be collected, pro‐
313 cessed, and
314 # displayed.
315 branch_coverage = 0
316
317 # Ask LCOV to return non-zero exit code if line coverage is
318 # below specified threshold percentage.
319 lcov_fail_under_lines = 97.5
320
321 # Specify JSON module to use, or choose best available if
322 # set to auto
323 lcov_json_module = auto
324
325 # Specify maximum number of parallel slaves
326 # default: 1 (no parallelism)
327 #parallel = 1
328
329 # Specify maximum memory to use during parallel processing, in
330 Mb.
331 # Do not fork if estimated memory consumption exceeds this num‐
332 ber.
333 # default: 0 (no limit)
334 #memory = 1024
335 # Character used to split list-type parameters
336 # - for example, the list of "--ignore_errors source,mismatch"
337 # default: , (comma)
338 #split_char = ,
339
340
341 # use case insensitive compare to find matching files, for in‐
342 clude/exclude
343 # directives, etc
344 #case_insensitive = 0
345
346 # override line default line exclusion regexp
347 #lcov_excl_line = LCOV_EXCL_LINE
348
349 # overide branch exclusion regexp
350 #lcov_excl_br_line = LCOV_EXCL_BR_LINE
351
352 # override exception branch exclusion regexp
353 #lcov_excl_exception_br_line = LCOV_EXCL_EXCEPTION_BR_LINE
354
355 # override start of exclude region regexp
356 #lcov_excl_start = LCOV_EXCL_START
357
358 # override end of exclude region regexp
359 #lcov_excl_stop = LCOV_EXCL_STOP
360
361 # override start of branch exclude region regexp
362 #lcov_excl_br_start = LCOV_EXCL_BR_START
363
364 # override start of exclude region regexp
365 #lcov_excl_br_stop = LCOV_EXCL_BR_STOP
366
367 # override start of exclude region regexp
368 #lcov_excl_exception_br_start = LCOV_EXCL_EXCEPTION_BR_START
369
370 # override start of exclude region regexp
371 #lcov_excl_exception_br_stop = LCOV_EXCL_EXCEPTION_BR_STOP
372
373
375 genhtml_css_file = filename
376
377 Specify an external style sheet file. Use this option to modify
378 the appearance of the HTML output as generated by genhtml. Dur‐
379 ing output generation, a copy of this file will be placed in the
380 output directory.
381
382 This option corresponds to the --css-file command line option of
383 genhtml.
384
385 By default, a standard CSS file is generated.
386
387 genhtml_header = string
388
389 Specify header text to use ta top of each HTML page.
390
391 This option corresponds to the --header-title command line op‐
392 tion of genhtml.
393 Default is "LCOV - (differential )? coverage report"
394
395
396 genhtml_footer = string
397
398 Specify footer text to use at bottom of each HTML page.
399
400 This option corresponds to the --footer command line option of
401 genhtml.
402
403 Default is LCOV tool version string.
404
405
406 genhtml_dark_mode = 0|1
407
408 If non-zero, display using light text on dark background rather
409 than dark text on light background.
410
411 This option corresponds to the --dark-mode command line option
412 of genhtml.
413
414 By default, a 'light' palette is used.
415
416 genhtml_hi_limit = hi_limit
417 genhtml_med_limit = med_limit
418
419 Specify coverage rate limits for classifying file entries. Use
420 this option to modify the coverage rates (in percent) for line,
421 function and branch coverage at which a result is classified as
422 high, medium or low coverage. This classification affects the
423 color of the corresponding entries on the overview pages of the
424 HTML output:
425
426 High: hi_limit <= rate <= 100 default color: green
427 Medium: med_limit <= rate < hi_limit default color: orange
428 Low: 0 <= rate < med_limit default color: red
429
430 Defaults are 90 and 75 percent.
431
432 There are also options to configure different thresholds for
433 line, branch, and function coverages. See below.
434
435 genhtml_line_hi_limit = line_hi_limit
436 genhtml_line_med_limit = line_med_limit
437
438 Specify specific threshold for line coverage limits used to de‐
439 cide whether a particular line coverage percentage is classified
440 as high, medium, or low coverage. If the line-specific values
441 are not specified, then the default genhtml_med_limit or gen‐
442 html_hi_limit values are used.
443
444 genhtml_branch_hi_limit = branch_hi_limit
445 genhtml_branch_med_limit = branch_med_limit
446
447 Specify specific threshold for branch coverage limits used to
448 decide whether a particular branch coverage percentage is clas‐
449 sified as high, medium, or low coverage. If the branch-specific
450 values are not specified, then the default genhtml_med_limit or
451 genhtml_hi_limit values are used.
452
453 genhtml_function_hi_limit = function_hi_limit
454 genhtml_function_med_limit = function_med_limit
455
456 Specify specific threshold for function coverage limits used to
457 decide whether a particular function coverage percentage is
458 classified as high, medium, or low coverage. If the function-
459 specific values are not specified, then the default gen‐
460 html_med_limit or genhtml_hi_limit value is used.
461
462 rtl_file_extensions = str[,str]+
463
464 Specify a comma-separated list of file extensions which should
465 be assumed to be RTL code (e.g., Verilog).
466
467 If not specified, the default set is 'v,vh,sv,vhdl?'. There is
468 no command line option equivalent.
469 This option is used by genhtml and lcov.
470
471
472 c_file_extensions = str[,str]+
473
474 Specify a comma-separated list of file extensions which should
475 be assumed to be C/C++ code.
476
477 If not specified, the default set is
478 'c,h,i,C,H,I,icc,cpp,cc,cxx,hh,hpp,hxx'. There is no command
479 line option equivalent.
480 This option is used by genhtml and lcov.
481
482
483 filter_lookahead = integer
484
485 Specify the maximum number of lines to look at when filtering
486 bogus branch expressions. A larger number may catch more cases,
487 but will increase execution time.
488
489 If not specified, the default set is 10. There is no command
490 line option equivalent.
491 This option is used by genhtml and lcov.
492
493
494 filter_bitwise_conditional = 0|1
495
496 If set to non-zero value, bogus branch filtering will assume
497 that expressions containing bitwise operators '&', '|', '~' are
498 conditional expressions - and will not filter them out.
499
500 If not specified, the default set is 0 (do not treat them as
501 conditional). There is no command line option equivalent.
502 This option is used by genhtml and lcov.
503
504
505 ignore_errors = message_type(,message_type)*
506
507 Specify a message type which should be ignored.
508
509 This option can be used multiple times in the lcovrc file to ig‐
510 nore multiple message types.
511
512 This option is equivalent to the --ignore-errors option to gen‐
513 info, genhtml, or lcov. Note that the lcovrc file message list
514 is not applied (those messages NOT ignored) if the '--ignore-er‐
515 rors' command line option is specified.
516 This option is used by genhtml, lcov, and geninfo.
517
518
519 max_message_count = integer
520
521 Set the maximum number of warnings of any particular type which
522 should be emitted. This can be used to reduce the size of log
523 files.
524
525 No more warnings will be printed after this number is reached.
526 0 (zero) is interpreted as 'no limit'.
527 This option is used by genhtml, lcov, and geninfo.
528
529
530 stop_on_error = 0|1
531
532 If set to 1, tell the tools to ignore errors and keep going to
533 try to generate a result - however flawed or incomplete that re‐
534 sult might be. Note that ignoring some errors may lead to other
535 errors.
536
537
538 This is equivalent to the '--keep-going' command line option.
539
540 Default is 1: stop when error occurs.
541
542 If the 'ignore_error msgType' option is also used, then those
543 messages will be treated as warnings rather than errors (or will
544 be entirely suppressed if the message type appears multiple
545 times in the ignore_messages option).
546
547 This option is used by genhtml, lcov, and geninfo.
548
549
550 genhtml_line_field_width = number_of_characters
551
552 Specify the width (in characters) of the source code view column
553 containing line coverage information.
554
555 Default is 12.
556
557 genhtml_branch_field_width = number_of_characters
558
559 Specify the width (in characters) of the source code view column
560 containing branch coverage information.
561
562 Default is 16.
563
564 genhtml_owner_field_width = number_of_characters
565
566 Specify the width (in characters) of the source code view column
567 containing owner information (as reported by your annotation
568 script. This option has an effect only if you are using a
569 source annotation script: see the --annotation-script option in
570 the genhtml man page.
571
572 Default is 20.
573
574 genhtml_age_field_width = number_of_characters
575
576 Specify the width (in characters) of the source code view column
577 containing age of the corresponding block (as reported by your
578 annotation script). This option has an effect only if you are
579 using a source annotation script: see the --annotation-script
580 option in the genhtml man page.
581
582 Default is 5.
583
584 genhtml_overview_width = pixel_size
585
586 Specify the width (in pixel) of the overview image created when
587 generating HTML output using the --frames option of genhtml.
588
589 Default is 80.
590
591 genhtml_nav_resolution = lines
592
593 Specify the resolution of overview navigation when generating
594 HTML output using the --frames option of genhtml. This number
595 specifies the maximum difference in lines between the position a
596 user selected from the overview and the position the source code
597 window is scrolled to.
598
599 Default is 4.
600
601 genhtml_nav_offset = lines
602
603 Specify the overview navigation line offset as applied when gen‐
604 erating HTML output using the --frames option of genhtml.
605
606 Clicking a line in the overview image should show the source
607 code view at a position a bit further up, so that the requested
608 line is not the first line in the window. This number specifies
609 that offset.
610
611 Default is 10.
612
613 genhtml_keep_descriptions = 0|1
614
615 If non-zero, keep unused test descriptions when generating HTML
616 output using genhtml.
617
618 This option corresponds to the --keep-descriptions option of
619 genhtml.
620
621 Default is 0.
622
623 genhtml_no_prefix = 0|1
624
625 If non-zero, do not try to find and remove a common prefix from
626 directory names.
627
628 This option corresponds to the --no-prefix option of genhtml.
629
630 Default is 0.
631
632 genhtml_no_source = 0|1
633
634 If non-zero, do not create a source code view when generating
635 HTML output using genhtml.
636
637 This option corresponds to the --no-source option of genhtml.
638
639 Default is 0.
640
641 genhtml_num_spaces = num
642
643 Specify the number of spaces to use as replacement for tab char‐
644 acters in the HTML source code view as generated by genhtml.
645
646 This option corresponds to the --num-spaces option of genhtml.
647
648 Default is 8.
649
650
651 genhtml_highlight = 0|1
652
653 If non-zero, highlight lines with converted-only data in HTML
654 output as generated by genhtml.
655
656 This option corresponds to the --highlight option of genhtml.
657
658 Default is 0.
659
660 genhtml_legend = 0|1
661
662 If non-zero, include a legend explaining the meaning of color
663 coding in the HTML output as generated by genhtml.
664
665 This option corresponds to the --legend option of genhtml.
666
667 Default is 0.
668
669 genhtml_html_prolog = filename
670
671 If set, include the contents of the specified file at the begin‐
672 ning of HTML output.
673
674 This option corresponds to the --html-prolog option of genhtml.
675
676 Default is to use no extra prolog.
677
678 genhtml_html_epilog = filename
679
680 If set, include the contents of the specified file at the end of
681 HTML output.
682
683 This option corresponds to the --html-epilog option of genhtml.
684
685 Default is to use no extra epilog.
686
687 genhtml_html_extension = extension
688
689 If set, use the specified string as filename extension for gen‐
690 erated HTML files.
691
692 This option corresponds to the --html-extension option of gen‐
693 html.
694
695 Default extension is "html".
696
697 genhtml_html_gzip = 0|1
698
699 If set, compress all html files using gzip.
700
701 This option corresponds to the --html-gzip option of genhtml.
702
703 Default extension is 0.
704
705 genhtml_sort = 0|1
706
707 If non-zero, create overview pages sorted by coverage rates when
708 generating HTML output using genhtml.
709
710 This option can be set to 0 by using the --no-sort option of
711 genhtml.
712
713 Default is 1.
714
715 genhtml_hierarchical = 0|1
716
717 If non-zero, the HTML report will follow the hierarchical direc‐
718 tory structure of the source code.
719
720 This option is equivalent to using the --hierarchical command
721 line option of genhtml.
722
723 Default is 0.
724
725 genhtml_flat_view = 0|1
726
727 If non-zero, the top-level HTML table will contain all of the
728 files in the project and there will be no intermediate directory
729 pages.
730
731 This option is equivalent to using the --flat command line op‐
732 tion of genhtml.
733
734 Default is 0.
735
736 genhtml_show_navigation = 0|1
737
738 If non-zero, the 'source code' view summary table will contain
739 hyperlinks from the number to the first source line in the cor‐
740 responding category ('Hit' or 'Not hit') in the non-differential
741 coverage report. Source code hyperlinks are always enabled in
742 differential coverage reports.
743
744 This option is equivalent to using the --show-navigation command
745 line option of genhtml.
746
747 Default is 0.
748
749 genhtml_show_function_proportion = 0|1
750
751 If nonzero, add column to "function coverage detail" table to
752 show the proportion of lines and branches within the function
753 which are exercised.
754
755 This option is equivalent to using the --show-proportion command
756 line option of genhtml.
757
758 Default is 0.
759
760 genhtml_charset = charset
761
762 Specify the character set of all generated HTML pages.
763
764 Use this option if the source code contains characters which are
765 not part of the default character set. Note that this option is
766 ignored when a custom HTML prolog is specified (see also gen‐
767 html_html_prolog).
768
769 Default is UTF-8.
770
771 demangle_cpp = c++filt
772
773 If set, this option tells genhtml/lcov/geninfo to demangle C++
774 function names in function overviews, and gives the name of the
775 tool used for demangling. Set this option to one if you want to
776 convert C++ internal function names to human readable format for
777 display on the HTML function overview page.
778
779 If the demangle_cpp option is used multiple times, then the ar‐
780 guments are concatenated when the callback is executed - similar
781 to how the gcc -Xlinker parameter works. This provides a possi‐
782 bly easier way to pass arguments to your tool, without requiring
783 a wrapper script. In that case, your callback will be executed
784 as: | tool-0 'tool-1; ... Arguments are quoted when passed to
785 the shell, in order to handle parameters which contain spaces.
786
787 Note that the demangling tool is called via a pipe, and is ex‐
788 pected to read from stdin and write to stdout.
789
790 This option corresponds to the --demangle-cpp command line op‐
791 tion of genhtml.
792
793 Default is not set (C++ demangling is diabled).
794
795 genhtml_demangle_cpp_tool = path_to_c++filt
796
797 Specify the location of the demangle tool (see c++filt(1)) used
798 to convert C++ internal function names to human readable format
799 for display on the HTML function overview page.
800
801 This option is deprecated and will be removed from a future lcov
802 release. Please use demangle_cpp = path_to_c++filt instead.
803
804
805 genhtml_demangle_cpp_params = parameters
806
807 Specify extra parameters to be passed to the demangling tool
808
809 Use this option if your environment requires additional parame‐
810 ters such as --no-strip-underscore for correctly demangling C++
811 internal function names. See also c++filt(1)).
812
813 This argument is deprecated. Please use the Xlinker-like deman‐
814 gle_cpp argument instead.
815
816
817 genhtml_desc_html = 0|1
818
819 If non-zero, test case descriptions may contain HTML markup.
820
821 Set this option to one if you want to embed HTML markup (for ex‐
822 ample to include links) in test case descriptions. When set to
823 zero, HTML markup characters will be escaped to show up as plain
824 text on the test case description page.
825
826 Default is 0.
827
828 genhtml_precision = 1|2|3|4
829
830 Specify how many digits after the decimal-point should be used
831 for displaying coverage rates.
832
833 Default is 1.
834
835 genhtml_missed = 0|1
836
837 If non-zero, the count of missed lines, functions, or branches
838 is shown as negative numbers in overview pages.
839
840 Default is 0.
841
842 suppress_function_aliases = 0|1
843
844 If non-zero, do not show aliases in the function detail table.
845 See the genhtml man page for more details.
846
847 Default is 0.
848
849 derive_function_end_line = 0|1
850
851 If non-zero, use 'line' coverage data to deduce the end line of
852 each function definition. This is useful when excluding certain
853 functions from your coverage report. See the --erase-functions
854 and --filter trivial options.
855
856 This option is not required if you are using gcc/9 or newer;
857 these versions report function begin/end lines directly.
858
859 Default is 1.
860
861 trivial_function_threshold = integer
862
863 Set the maxmimum size of function (in number of lines) which
864 will be checked by --filter trivial filter.
865
866 Default is 5.
867
868 geninfo_gcov_tool = path_to_gcov
869
870 Specify the location of the gcov tool (see gcov(1)) which is
871 used to generate coverage information from data files.
872
873 This option can be used multiple times - e.g., to add arguments
874 to the gcov callback. See the geninfo man page for details.
875
876
877 geninfo_adjust_testname = 0|1
878
879 If non-zero, adjust test names to include operating system in‐
880 formation when capturing coverage data.
881
882 Default is 0.
883
884 forget_testcase_names = 0|1
885
886 If non-zero, ignore testcase names in .info file. This may im‐
887 prove performance and reduce memory consumption if user does not
888 need per-testcase coverage summary in coverage reports.
889
890 This is equivalent to the "--forget-test-names" lcov/genhtml op‐
891 tion.
892
893 Default is 0.
894
895 geninfo_checksum = 0|1
896 checksum = 0|1
897
898 If non-zero, generate source code checksums when capturing cov‐
899 erage data. Checksums are useful to prevent merging coverage
900 data from incompatible source code versions but checksum genera‐
901 tion increases the size of coverage files and the time used to
902 generate those files.
903
904 The backward compatible geninfo_checksum option is deprecated.
905 Please use checksum instead. The new option is preferred as it
906 is more clear that the option is used by lcov and genhtml as
907 well as geninfo,
908
909 This option can be overridden by the --checksum and --no-check‐
910 sum command line options.
911
912 Default is 0.
913
914 Note that this options is somewhat subsumed by the ver‐
915 sion_script option - which does something similar, but at the
916 'whole file' level.
917
918
919 geninfo_compat_libtool = 0|1
920
921 If non-zero, enable libtool compatibility mode. When libtool
922 compatibility mode is enabled, lcov will assume that the source
923 code relating to a .da file located in a directory named ".libs"
924 can be found in its parent directory.
925
926 This option corresponds to the --compat-libtool and --no-com‐
927 pat-libtool command line option of geninfo.
928
929 Default is 1.
930
931 geninfo_external = 0|1
932
933 If non-zero, capture coverage data for external source files.
934
935 External source files are files which are not located in one of
936 the directories (including sub-directories) specified by the
937 --directory or --base-directory options of lcov/geninfo.
938
939 Default is 1.
940
941 geninfo_gcov_all_blocks = 0|1
942
943 If non-zero, call the gcov tool with option --all-blocks.
944
945 Using --all-blocks will produce more detailed branch coverage
946 information for each line. Set this option to zero if you do not
947 need detailed branch coverage information to speed up the
948 process of capturing code coverage or to work around a bug in
949 some versions of gcov which will cause it to endlessly loop when
950 analyzing some files.
951
952 Default is 1.
953
954 geninfo_unexecuted_blocks = 0|1
955
956 If non-zero, adjust the 'hit' count of lines which have attri‐
957 bute unexecuted_block : true but which contain no branches and
958 have a non-zero count. Assume that these lines are not exe‐
959 cuted.
960
961 Note that this option is effective only for gcov versions 9 and
962 newer.
963
964 Default is 0.
965
966 geninfo_compat = mode=value[,mode=value,...]
967
968 Specify that geninfo should enable one or more compatibility
969 modes when capturing coverage data.
970
971 This option corresponds to the --compat command line option of
972 geninfo.
973
974 Default is 'libtool=on, hammer=auto, split_crc=auto'.
975
976 geninfo_adjust_src_path = pattern => replacement
977 geninfo_adjust_src_path = pattern
978
979 Adjust source paths when capturing coverage data.
980
981 Use this option in situations where geninfo cannot find the cor‐
982 rect path to source code files of a project. By providing a pat‐
983 tern in Perl regular expression format (see perlre(1)) and an
984 optional replacement string, you can instruct geninfo to remove
985 or change parts of the incorrect source path.
986
987 Example:
988
989 1. When geninfo reports that it cannot find source file
990
991 /path/to/src/.libs/file.c
992
993 while the file is actually located in
994
995 /path/to/src/file.c
996
997 use the following parameter:
998
999 geninfo_adjust_src_path = /.libs
1000
1001 This will remove all "/.libs" strings from the path.
1002
1003 2. When geninfo reports that it cannot find source file
1004
1005 /tmp/build/file.c
1006
1007 while the file is actually located in
1008
1009 /usr/src/file.c
1010
1011 use the following parameter:
1012
1013 geninfo_adjust_src_path = /tmp/build => /usr/src
1014
1015 This will change all "/tmp/build" strings in the path to
1016 "/usr/src".
1017
1018 geninfo_auto_base = 0|1
1019
1020 If non-zero, apply a heuristic to determine the base directory
1021 when collecting coverage data.
1022
1023 Use this option when using geninfo on projects built with
1024 libtool or similar build environments that work with multiple
1025 base directories, i.e. environments, where the current working
1026 directory when invoking the compiler is not the same directory
1027 in which the source code file is located, and in addition, is
1028 different between files of the same project.
1029
1030 Default is 1.
1031
1032 geninfo_intermediate = 0|1|auto
1033
1034 Specify whether to use gcov intermediate format
1035
1036 Use this option to control whether geninfo should use the gcov
1037 intermediate format while collecting coverage data. The use of
1038 the gcov intermediate format should increase processing speed.
1039 It also provides branch coverage data when using the --initial
1040 command line option.
1041
1042 Valid values are 0 for off, 1 for on, and "auto" to let geninfo
1043 automatically use immediate format when supported by gcov.
1044
1045 Default is "auto".
1046
1047 geninfo_no_exception_branch = 0|1
1048 no_exception_branch = 0|1
1049
1050 Specify whether to exclude exception branches from branch cover‐
1051 age. Whether C++ exception branches are identified and removed
1052 is dependent on your compiler/toolchain correctly marking them
1053 in the generated coverage data.
1054
1055 This option is used by lcov, geninfo, genhtml.
1056
1057 The backward compatible geninfo_no_exception_branch option is
1058 deprecated. Please use no_exception_branch instead. The new
1059 option is preferred as it is more clear that the option is used
1060 by lcov and genhtml as well as geninfo,
1061
1062 Default is 0.
1063
1064 lcov_gcov_dir = path_to_kernel_coverage_data
1065
1066 Specify the path to the directory where kernel coverage data can
1067 be found or leave undefined for auto-detection.
1068
1069 Default is auto-detection.
1070
1071 lcov_tmp_dir = temp
1072
1073 Specify the location of a directory used for temporary files.
1074
1075 Default is '/tmp'.
1076
1077 lcov_list_full_path = 0|1
1078
1079 If non-zero, print the full path to source code files during a
1080 list operation.
1081
1082 This option corresponds to the --list-full-path option of lcov.
1083
1084 Default is 0.
1085
1086 lcov_list_max_width = width
1087
1088 Specify the maximum width for list output. This value is ignored
1089 when lcov_list_full_path is non-zero.
1090
1091 Default is 80.
1092
1093 lcov_list_truncate_max = percentage
1094
1095 Specify the maximum percentage of file names which may be trun‐
1096 cated when choosing a directory prefix in list output. This
1097 value is ignored when lcov_list_full_path is non-zero.
1098
1099 Default is 20.
1100
1101 function_coverage = 0|1
1102
1103 Specify whether lcov/geninfo/genhtml should generate, process,
1104 and display function coverage data.
1105
1106 Turning off function coverage by setting this option to 0 can
1107 sligly reduce memory and CPU time consumption when lcov is col‐
1108 lecting and processing coverage data, as well as reduce the size
1109 of the resulting data files.
1110
1111 This option can be overriden by the --function-coverage and
1112 --no-function-coverage command line options.
1113
1114
1115 Backward-compatible RC options lcov_function_coverage and gen‐
1116 html_function_coverage are supported but deprecated. Please use
1117 the new option instead.
1118
1119 Default is 1.
1120
1121 branch_coverage = 0|1
1122
1123 Specify whether lcov/geninfo should generate, process, and dis‐
1124 play branch coverage data.
1125
1126 Turning off branch coverage by setting this option to 0 can re‐
1127 duce memory and CPU time consumption when lcov is collecting and
1128 processing coverage data, as well as reduce the size of the re‐
1129 sulting data files.
1130
1131 This option can be overriden by the --branch-coverage and
1132 --no-branch-coverage
1133 command line options.
1134
1135 Backward-compatible RC options lcov_branch_coverage and gen‐
1136 html_branch_coverage are supported but deprecated. Please use
1137 the new option instead.
1138
1139
1140 Default is 0.
1141
1142 lcov_excl_line = expression
1143
1144 Specify the regular expression of lines to exclude. Line,
1145 branch, and function coverpoints are associated with lines where
1146 this regexp is found are dropped.
1147
1148 There are at least 2 (moderately) common use cases for custom
1149 exclusion markers:
1150 - You are using multiple tools for coverage analysis, each of
1151 which has its own directives, and you don't want to complicate
1152 your source code with directives for each of them.
1153 - You want to exclude different regions/different types of code
1154 in different contexts - for example, to ignore or not ignore de‐
1155 bug/trace code depending on your team.
1156
1157 Default is 'LCOV_EXCL_LINE'.
1158
1159 lcov_excl_br_line = expression
1160
1161 Specify the regular expression of lines to exclude from branch
1162 coverage. Branch coverpoints are associated with lines where
1163 this regexp is found are dropped. (Line and function cover‐
1164 points are not affected.)
1165
1166 Default is 'LCOV_EXCL_BR_LINE'.
1167
1168 lcov_excl_exception_br_line = expression
1169
1170 Specify the regular expression of lines to exclude from excep‐
1171 tion branch coverage. Exception-related Branch coverpoints as‐
1172 sociated with lines where this regexp is found are dropped.
1173 (Line, function coverpoints are not affected. Branch cover‐
1174 points which are not associated with exceptions are also not af‐
1175 fected.)
1176
1177 Also see 'geninfo_no_exception_branch'; if nonzero, then all
1178 identified exception branches will be removed.
1179
1180 Note that this feature requires support from your compiler - and
1181 thus may not ignore all exception-related coverpoints.
1182
1183 Default is 'LCOV_EXCL_EXCEPTION_BR_LINE'.
1184
1185 lcov_excl_start = expression
1186
1187 Specify the regexp mark the start of an exception region All
1188 coverpoints within exeption regions are dropped.
1189
1190 Default is 'LCOV_EXCL_START'.
1191
1192
1193 lcov_excl_stop = expression
1194
1195 Specify the regexp mark the end of an exception region
1196
1197 Default is 'LCOV_EXCL_STOP'.
1198
1199
1200 lcov_excl_br_start = expression
1201
1202 Specify the regexp used to mark the start of a region where
1203 branch coverpoints are excluded. Line and function coverpoints
1204 within the region are not excluded.
1205
1206 Default is 'LCOV_EXCL_BR_START'.
1207
1208
1209 lcov_excl_br_stop = expression
1210
1211 Specify the regexp used to mark the end of a region where branch
1212 coverpoints are excluded.
1213
1214 Default is 'LCOV_EXCL_BR_STOP'.
1215
1216
1217
1218 lcov_excl_exception_br_start = expression
1219
1220 Specify the regexp used to mark the start of a region where
1221 branch coverpoints associated with exceptions are excluded.
1222 Line, function, and non-exception branch coverpoints within the
1223 region are not excluded.
1224
1225 Also see 'geninfo_no_exception_branch'; if nonzero, then all
1226 identified exception branches will be removed.
1227
1228 Note that exception branch coverpoint identification requires
1229 support from your compiler - and thus may not ignore all excep‐
1230 tion-related coverpoints.
1231
1232 Default is 'LCOV_EXCL_EXCEPTION_BR_START'.
1233
1234
1235 lcov_excl_exception_br_stop = expression
1236
1237 Specify the regexp used to mark the end of a region where excep‐
1238 tion-related branch coverpoints are excluded.
1239
1240 Default is 'LCOV_EXCL_EXECEPTION_BR_STOP'.
1241
1242
1243 lcov_fail_under_lines = percentage
1244
1245 Specify line coverage threshold to lcov. If the line coverage
1246 is below this threshold, lcov will generate all the normal re‐
1247 sult files and messages, but will return a non-zero exit code.
1248
1249 This option is equivalent to the --fail-under-lines lcov command
1250 line argument.
1251
1252 The default is 0 (no threshold).
1253
1254
1255 profile = filename
1256
1257 If set, tells genhtml, lcov, or geninfo to generate some execu‐
1258 tion time/profile data which can be used to motivate future op‐
1259 timizations. The default is unset no data generated.
1260
1261 This option is used by genhtml, lcov, and geninfo.
1262
1263
1264 parallel = integer
1265
1266 Tells genhtml, lcov, or geninfo the maximum number of simultane‐
1267 ous processes to use. Zero means to use as many cores as are
1268 available on the machine. The default is 1 (one) - which means
1269 to process sequentially (no parallelism).
1270
1271 This option is used by genhtml, lcov, and geninfo.
1272
1273
1274 memory = integer_Mb
1275
1276 Tells genhtml, lcov, or geninfo the maximum memory to use during
1277 parallel processing operations. Effectively, the process will
1278 not fork() if this limit would be exceeded. Zero means that
1279 there is no limit. The default is 0 (zero) - which that there
1280 is no explicit limit.
1281
1282 This option is used by genhtml, lcov, and geninfo.
1283
1284
1285 genhtml_date_bins = integer[,integer..]
1286
1287 This option is equivalent to the "genhtml --date-bins" option.
1288 See the genhtml man page for details.
1289
1290 This option can be used multiple times in the lcovrc file to set
1291 multiple cutpoints. The cutpoints specified in the lcovrc file
1292 are appended to the cutpoints (if any) specified on the command
1293 line.
1294
1295
1296 genhtml_annotate_script = path_to_executable
1297
1298 This option is equivalent to the "genhtml --annotate-script" op‐
1299 tion.
1300
1301 This option can be used multiple times in the lcovrc file to
1302 specify both an annotation script and additional options which
1303 are passed to the script.
1304
1305 See the genhtml man page for details.
1306
1307
1308 genhtml_criteria_script = path_to_executable
1309
1310 This option is equivalent to the "genhtml --criteria-script" op‐
1311 tion.
1312
1313 This option can be used multiple times in the lcovrc file to
1314 specify both a criteria script and additional options which are
1315 passed to the script.
1316
1317 See the genhtml man page for details.
1318
1319
1320 criteria_callback_data = comma_separated_list
1321
1322 This option is used to tell genhtml whether you want date and/or
1323 owner summary data passed back to your criteria callback. Note
1324 that summary data is always passed.
1325
1326 This option can be used multiple times in the lcovrc file to
1327 specify both date and owner data should be returned, or you can
1328 specify both in a comma-separated list. Date and/or owner data
1329 will be returned if and only if your genhtml command has enabled
1330 annotation.
1331
1332 If this option is appears multiple times in the lcovrc file; the
1333 values are combined to form the list of binning types which are
1334 passed to your callback.
1335
1336 See the genhtml man page for details.
1337
1338
1339 criteria_callback_levels = comma_separated_list
1340
1341 This option is used to tell genhtml whether criteria callbacks
1342 should occur at the top, directory, or file level.
1343
1344 If this option is appears multiple times in the lcovrc file; the
1345 values are combined to form the list of report levels when your
1346 callback will be executed.
1347
1348 See the genhtml man page for details.
1349
1350
1351 version_script = path_to_executable
1352
1353 This option is equivalent to the geninfo/lcov/genhtml "--ver‐
1354 sion-script" option.
1355
1356 This option can be used multiple times in the lcovrc file to
1357 specify both a version script and additional options which are
1358 passed to the script.
1359
1360 See the genhtml man page for details.
1361
1362
1363 filter = str[,str...]
1364
1365 This option is equivalent to the --filter option to geninfo,
1366 lcov, and genhtml. See the genhtml man page for details.
1367
1368 This option can be used multiple times in the lcovrc file to en‐
1369 able multiple filters. The filters specified in the lcovrc file
1370 are appended to the list specified on the command line.
1371
1372 This option is used by genhtml, lcov, and geninfo.
1373
1374
1375 exclude = glob_pattern
1376
1377 This option is equivalent to the --exclude option to geninfo,
1378 lcov, and genhtml. See the lcov man page for details.;
1379
1380 This option can be used multiple times in the lcovrc file to
1381 specify multiple patterns to exclude. The patterns specified in
1382 the lcovrc file are appended to the list specified on the com‐
1383 mand line.
1384
1385 This option is used by genhtml, lcov, and geninfo.
1386
1387
1388 include = glob_pattern
1389
1390 This option is equivalent to the --include option to geninfo,
1391 lcov, and genhtml. See the lcov man page for details.;
1392
1393 This option can be used multiple times in the lcovrc file to
1394 specify multiple patterns to include. The patterns specified in
1395 the lcovrc file are appended to the list specified on the com‐
1396 mand line.
1397
1398 This option is used by genhtml, lcov, and geninfo.
1399
1400
1401 substitute = regexp
1402
1403 This option is equivalent to the --substitute option to geninfo,
1404 lcov, and genhtml. See the lcov man page for details.;
1405
1406 This option can be used multiple times in the lcovrc file to
1407 specify multiple substitution patterns. The patterns specified
1408 in the lcovrc file are appended to the list specified on the
1409 command line.
1410
1411 This option is used by genhtml, lcov, and geninfo.
1412
1413
1414 omit_lines = regexp
1415
1416 This option is equivalent to the --omit-lines option to geninfo,
1417 lcov, and genhtml. See the genhtml man page for details.
1418
1419 This option can be used multiple times in the lcovrc file to
1420 specify multiple patterns to exclude. The patterns specified in
1421 the lcovrc file are appended to the list specified on the com‐
1422 mand line.
1423
1424 This option is used by genhtml, lcov, and geninfo.
1425
1426
1427 erase_functions = regexp
1428
1429 This option is equivalent to the --erase-functions option to
1430 geninfo, lcov, and genhtml. See the genhtml man page for de‐
1431 tails.
1432
1433 This option can be used multiple times in the lcovrc file to
1434 specify multiple patterns to exclude. The patterns specified in
1435 the lcovrc file are appended to the list specified on the com‐
1436 mand line.
1437
1438 This option is used by genhtml, lcov, and geninfo.
1439
1440
1441 lcov_json_module = module|auto
1442
1443 Specify the JSON module to use, or choose best available from a
1444 set of alternatives if set to 'auto'. Note that some JSON mod‐
1445 ules are slower than others (notably JSON::PP can be very slow
1446 compared to JSON::XS).
1447
1448 Default is 'auto'.
1449
1450
1451 split_char = char
1452
1453 Specify the character (or regexp) used to split list-like param‐
1454 eters which have been passed as a single string. This parameter
1455 is useful in the case that you need want to use a multi-option
1456 string but one or more of the options contains a comma character
1457 which would otherwise be seen as a delimiter.
1458
1459 Default is ',' (comma - no quotes).
1460
1461
1462 case_insensitive = [0|1]
1463
1464 Specify whether string comparison is case insensitive when find‐
1465 ing matching filenames, checking include/exclude directives,
1466 etc.
1467
1468 Note that mixed-case or lower-case pathnames may be passed to
1469 your --version-script and --annotate-script callbacks when case-
1470 insensitive matching is used. Your callbacks must handle poten‐
1471 tial differences in case.
1472
1473 Default is '0': case sensitive matching.
1474
1475
1477 /etc/lcovrc
1478 The system-wide lcov configuration file.
1479
1480
1481 ~/.lcovrc
1482 The individual per-user configuration file.
1483
1485 lcov(1), genhtml(1), geninfo(1), gcov(1)
1486
1487
1488
14892023-11-27 LCOV 2.0 lcovrc(5)