1lcovrc(5)                        User Manuals                        lcovrc(5)
2
3
4

NAME

6       lcovrc - lcov configuration file
7
8

DESCRIPTION

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

OPTIONS

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

FILES

1477       /etc/lcovrc
1478              The system-wide lcov configuration file.
1479
1480
1481       ~/.lcovrc
1482              The individual per-user configuration file.
1483

SEE ALSO

1485       lcov(1), genhtml(1), geninfo(1), gcov(1)
1486
1487
1488
14892023-11-27                         LCOV 2.0                          lcovrc(5)
Impressum