| Index: third_party/lcov/man/geninfo.1
|
| ===================================================================
|
| --- third_party/lcov/man/geninfo.1 (revision 0)
|
| +++ third_party/lcov/man/geninfo.1 (revision 0)
|
| @@ -0,0 +1,323 @@
|
| +.TH geninfo 1 "LCOV 1.7" 2008\-11\-17 "User Manuals"
|
| +.SH NAME
|
| +geninfo \- Generate tracefiles from .da files
|
| +.SH SYNOPSIS
|
| +.B geninfo
|
| +.RB [ \-h | \-\-help ]
|
| +.RB [ \-v | \-\-version ]
|
| +.RB [ \-q | \-\-quiet ]
|
| +.br
|
| +.RS 8
|
| +.RB [ \-i | \-\-initial ]
|
| +.RB [ \-t | \-\-test\-name
|
| +.IR test\-name ]
|
| +.br
|
| +.RB [ \-o | \-\-output\-filename
|
| +.IR filename ]
|
| +.RB [ \-f | \-\-follow ]
|
| +.br
|
| +.RB [ \-b | \-\-base\-directory
|
| +.IR directory ]
|
| +.br
|
| +.RB [ \-\-checksum ]
|
| +.RB [ \-\-no\-checksum ]
|
| +.br
|
| +.RB [ \-\-compat\-libtool ]
|
| +.RB [ \-\-no\-compat\-libtool ]
|
| +.br
|
| +.RB [ \-\-gcov\-tool
|
| +.IR tool ]
|
| +.RB [ \-\-ignore\-errors
|
| +.IR errors ]
|
| +.br
|
| +.RB [ \-\-no\-recursion ]
|
| +.I directory
|
| +.RE
|
| +.SH DESCRIPTION
|
| +.B geninfo
|
| +converts all GCOV coverage data files found in
|
| +.I directory
|
| +into tracefiles, which the
|
| +.B genhtml
|
| +tool can convert to HTML output.
|
| +
|
| +Unless the \-\-output\-filename option is specified,
|
| +.B geninfo
|
| +writes its
|
| +output to one file per .da file, the name of which is generated by simply
|
| +appending ".info" to the respective .da file name.
|
| +
|
| +Note that the current user needs write access to both
|
| +.I directory
|
| +as well as to the original source code location. This is necessary because
|
| +some temporary files have to be created there during the conversion process.
|
| +
|
| +Note also that
|
| +.B geninfo
|
| +is called from within
|
| +.BR lcov ,
|
| +so that there is usually no need to call it directly.
|
| +.SH OPTIONS
|
| +
|
| +.B \-b
|
| +.I directory
|
| +.br
|
| +.B \-\-base\-directory
|
| +.I directory
|
| +.br
|
| +.RS
|
| +.RI "Use " directory
|
| +as base directory for relative paths.
|
| +
|
| +Use this option to specify the base directory of a build\-environment
|
| +when geninfo produces error messages like:
|
| +
|
| +.RS
|
| +ERROR: could not read source file /home/user/project/subdir1/subdir2/subdir1/subdir2/file.c
|
| +.RE
|
| +
|
| +In this example, use /home/user/project as base directory.
|
| +
|
| +This option is required when using geninfo on projects built with libtool or
|
| +similar build environments that work with a base directory, i.e. environments,
|
| +where the current working directory when invoking the compiler is not the same
|
| +directory in which the source code file is located.
|
| +
|
| +Note that this option will not work in environments where multiple base
|
| +directories are used. In that case repeat the geninfo call for each base
|
| +directory while using the \-\-ignore\-errors option to prevent geninfo from
|
| +exiting when the first source code file could not be found. This way you can
|
| +get partial coverage information for each base directory which can then be
|
| +combined using the \-a option.
|
| +.RE
|
| +
|
| +.B \-\-checksum
|
| +.br
|
| +.B \-\-no\-checksum
|
| +.br
|
| +.RS
|
| +Specify whether to generate checksum data when writing tracefiles.
|
| +
|
| +Use \-\-checksum to enable checksum generation or \-\-no\-checksum to
|
| +disable it. Checksum generation is
|
| +.B disabled
|
| +by default.
|
| +
|
| +When checksum generation is enabled, a checksum will be generated for each
|
| +source code line and stored along with the coverage data. This checksum will
|
| +be used to prevent attempts to combine coverage data from different source
|
| +code versions.
|
| +
|
| +If you don't work with different source code versions, disable this option
|
| +to speed up coverage data processing and to reduce the size of tracefiles.
|
| +.RE
|
| +
|
| +.B \-\-compat\-libtool
|
| +.br
|
| +.B \-\-no\-compat\-libtool
|
| +.br
|
| +.RS
|
| +Specify whether to enable libtool compatibility mode.
|
| +
|
| +Use \-\-compat\-libtool to enable libtool compatibility mode or \-\-no\-compat\-libtool
|
| +to disable it. The libtool compatibility mode is
|
| +.B enabled
|
| +by default.
|
| +
|
| +When libtool compatibility mode is enabled, geninfo will assume that the source
|
| +code relating to a .da file located in a directory named ".libs" can be
|
| +found in its parent directory.
|
| +
|
| +If you have directories named ".libs" in your build environment but don't use
|
| +libtool, disable this option to prevent problems when capturing coverage data.
|
| +.RE
|
| +
|
| +.B \-f
|
| +.br
|
| +.B \-\-follow
|
| +.RS
|
| +Follow links when searching .da files.
|
| +.RE
|
| +
|
| +.B \-\-gcov\-tool
|
| +.I tool
|
| +.br
|
| +.RS
|
| +Specify the location of the gcov tool.
|
| +.RE
|
| +
|
| +.B \-h
|
| +.br
|
| +.B \-\-help
|
| +.RS
|
| +Print a short help text, then exit.
|
| +.RE
|
| +
|
| +.B \-\-ignore\-errors
|
| +.I errors
|
| +.br
|
| +.RS
|
| +Specify a list of errors after which to continue processing.
|
| +
|
| +Use this option to specify a list of one or more classes of errors after which
|
| +geninfo should continue processing instead of aborting.
|
| +
|
| +.I errors
|
| +can be a comma\-separated list of the following keywords:
|
| +
|
| +.B gcov:
|
| +the gcov tool returned with a non\-zero return code.
|
| +
|
| +.B source:
|
| +the source code file for a data set could not be found.
|
| +.RE
|
| +
|
| +.B \-i
|
| +.br
|
| +.B \-\-initial
|
| +.RS
|
| +Capture initial zero coverage data.
|
| +
|
| +Run geninfo with this option on the directories containing .bb, .bbg or .gcno
|
| +files before running any test case. The result is a "baseline" coverage data
|
| +file that contains zero coverage for every instrumented line. Combine this
|
| +data file (using lcov \-a) with coverage data files captured after a test
|
| +run to ensure that the percentage of total lines covered is correct even
|
| +when not all source code files were loaded during the test.
|
| +.RE
|
| +
|
| +.B \-\-no\-recursion
|
| +.br
|
| +.RS
|
| +Use this option if you want to get coverage data for the specified directory
|
| +only without processing subdirectories.
|
| +.RE
|
| +
|
| +.BI "\-o " output\-filename
|
| +.br
|
| +.BI "\-\-output\-filename " output\-filename
|
| +.RS
|
| +Write all data to
|
| +.IR output\-filename .
|
| +
|
| +If you want to have all data written to a single file (for easier
|
| +handling), use this option to specify the respective filename. By default,
|
| +one tracefile will be created for each processed .da file.
|
| +.RE
|
| +
|
| +.B \-q
|
| +.br
|
| +.B \-\-quiet
|
| +.RS
|
| +Do not print progress messages.
|
| +
|
| +Suppresses all informational progress output. When this switch is enabled,
|
| +only error or warning messages are printed.
|
| +.RE
|
| +
|
| +.BI "\-t " testname
|
| +.br
|
| +.BI "\-\-test\-name " testname
|
| +.RS
|
| +Use test case name
|
| +.I testname
|
| +for resulting data. Valid test case names can consist of letters, decimal
|
| +digits and the underscore character ('_').
|
| +
|
| +This proves useful when data from several test cases is merged (i.e. by
|
| +simply concatenating the respective tracefiles) in which case a test
|
| +name can be used to differentiate between data from each test case.
|
| +.RE
|
| +
|
| +.B \-v
|
| +.br
|
| +.B \-\-version
|
| +.RS
|
| +Print version number, then exit.
|
| +.RE
|
| +
|
| +
|
| +.SH FILES
|
| +
|
| +.I /etc/lcovrc
|
| +.RS
|
| +The system\-wide configuration file.
|
| +.RE
|
| +
|
| +.I ~/.lcovrc
|
| +.RS
|
| +The per\-user configuration file.
|
| +.RE
|
| +
|
| +Following is a quick description of the tracefile format as used by
|
| +.BR genhtml ", " geninfo " and " lcov .
|
| +
|
| +A tracefile is made up of several human\-readable lines of text,
|
| +divided into sections. If available, a tracefile begins with the
|
| +.I testname
|
| +which is stored in the following format:
|
| +
|
| + TN:<test name>
|
| +
|
| +For each source file referenced in the .da file, there is a section containing
|
| +filename and coverage data:
|
| +
|
| + SF:<absolute path to the source file>
|
| +
|
| +Following is a list of line numbers for each function name found in the
|
| +source file:
|
| +
|
| + FN:<line number of function start>,<function name>
|
| +
|
| +Next, there is a list of execution counts for each instrumented function:
|
| +
|
| + FNDA:<execution count>,<function name>
|
| +
|
| +This list is followed by two lines containing the number of functions found
|
| +and hit:
|
| +
|
| + FNF:<number of functions found>
|
| + FNH:<number of function hit>
|
| +
|
| +Then there is a list of execution counts for each instrumented line
|
| +(i.e. a line which resulted in executable code):
|
| +
|
| + DA:<line number>,<execution count>[,<checksum>]
|
| +
|
| +Note that there may be an optional checksum present for each instrumented
|
| +line. The current
|
| +.B geninfo
|
| +implementation uses an MD5 hash as checksumming algorithm.
|
| +
|
| +At the end of a section, there is a summary about how many lines
|
| +were found and how many were actually instrumented:
|
| +
|
| + LH:<number of lines with a non\-zero execution count>
|
| + LF:<number of instrumented lines>
|
| +
|
| +Each sections ends with:
|
| +
|
| + end_of_record
|
| +
|
| +In addition to the main source code file there are sections for all
|
| +#included files which also contain executable code.
|
| +
|
| +Note that the absolute path of a source file is generated by interpreting
|
| +the contents of the respective .bb file (see
|
| +.BR "gcov " (1)
|
| +for more information on this file type). Relative filenames are prefixed
|
| +with the directory in which the .bb file is found.
|
| +
|
| +Note also that symbolic links to the .bb file will be resolved so that the
|
| +actual file path is used instead of the path to a link. This approach is
|
| +necessary for the mechanism to work with the /proc/gcov files.
|
| +
|
| +.SH AUTHOR
|
| +Peter Oberparleiter <Peter.Oberparleiter@de.ibm.com>
|
| +
|
| +.SH SEE ALSO
|
| +.BR lcov (1),
|
| +.BR genhtml (1),
|
| +.BR genpng (1),
|
| +.BR gendesc (1),
|
| +.BR gcov (1)
|
|
|