| Index: third_party/lcov/man/lcov.1
|
| ===================================================================
|
| --- third_party/lcov/man/lcov.1 (revision 0)
|
| +++ third_party/lcov/man/lcov.1 (revision 0)
|
| @@ -0,0 +1,557 @@
|
| +.TH lcov 1 "LCOV 1.7" 2008\-11\-17 "User Manuals"
|
| +.SH NAME
|
| +lcov \- a graphical GCOV front\-end
|
| +.SH SYNOPSIS
|
| +.B lcov
|
| +.RB [ \-h | \-\-help ]
|
| +.RB [ \-v | \-\-version ]
|
| +.RB [ \-q | \-\-quiet ]
|
| +.RS 5
|
| +.br
|
| +.RB [ \-z | \-\-zerocounters ]
|
| +.RB [ \-c | \-\-capture ]
|
| +.br
|
| +.RB [ \-a | \-\-add\-tracefile
|
| +.IR tracefile ]
|
| +.br
|
| +.RB [ \-e | \-\-extract
|
| +.IR tracefile ]
|
| +.br
|
| +.RB [ \-r | \-\-remove
|
| +.IR tracefile ]
|
| +.br
|
| +.RB [ \-l | \-\-list
|
| +.IR tracefile ]
|
| +.br
|
| +.RB [ \-\-diff
|
| +.IR "tracefile diff" ]
|
| +.br
|
| +.RB [ \-i | \-\-initial ]
|
| +.RB [ \-t | \-\-test\-name
|
| +.IR testname ]
|
| +.br
|
| +.RB [ \-o | \-\-output\-file
|
| +.IR filename ]
|
| +.br
|
| +.RB [ \-d | \-\-directory
|
| +.IR directory ]
|
| +.br
|
| +.RB [ \-f | \-\-follow ]
|
| +.br
|
| +.RB [ \-k | \-\-kernel\-directory
|
| +.IR directory ]
|
| +.br
|
| +.RB [ \-b | \-\-base\-directory
|
| +.IR directory ]
|
| +.br
|
| +.RB [ \-\-convert\-filenames ]
|
| +.RB [ \-\-strip
|
| +.IR depth ]
|
| +.RB [ \-\-path
|
| +.IR path ]
|
| +.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 ]
|
| +.SH DESCRIPTION
|
| +.B lcov
|
| +is a graphical front\-end for GCC's coverage testing tool gcov. It collects
|
| +gcov data for multiple source files and creates HTML pages containing the
|
| +source code annotated with coverage information. It also adds overview pages
|
| +for easy navigation within the file structure.
|
| +
|
| +Use
|
| +.B lcov
|
| +to collect coverage data and
|
| +.B genhtml
|
| +to create HTML pages. Coverage data can either be collected from the
|
| +currently running Linux kernel or from a user space application. To do this,
|
| +you have to complete the following preparation steps:
|
| +
|
| +For Linux kernel coverage:
|
| +.RS
|
| +Follow the installation instructions for the gcov\-kernel patch:
|
| +.I http://ltp.sourceforge.net/coverage/gcov.php
|
| +
|
| +.RE
|
| +For user space application coverage:
|
| +.RS
|
| +Compile the application with GCC using the options
|
| +"\-fprofile\-arcs" and "\-ftest\-coverage".
|
| +.RE
|
| +
|
| +Please note that this man page refers to the output format of
|
| +.B lcov
|
| +as ".info file" or "tracefile" and that the output of GCOV
|
| +is called ".da file".
|
| +.SH OPTIONS
|
| +
|
| +
|
| +.B \-a
|
| +.I tracefile
|
| +.br
|
| +.B \-\-add\-tracefile
|
| +.I tracefile
|
| +.br
|
| +.RS
|
| +Add contents of
|
| +.IR tracefile .
|
| +
|
| +Specify several tracefiles using the \-a switch to combine the coverage data
|
| +contained in these files by adding up execution counts for matching test and
|
| +filename combinations.
|
| +
|
| +The result of the add operation will be written to stdout or the tracefile
|
| +specified with \-o.
|
| +
|
| +Only one of \-z, \-c, \-a, \-e, \-r, \-l and \-\-diff may be specified
|
| +at a time.
|
| +
|
| +.RE
|
| +
|
| +.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 lcov 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 lcov 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 lcov call for each base directory
|
| +while using the \-\-ignore\-errors option to prevent lcov 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 \-c
|
| +.br
|
| +.B \-\-capture
|
| +.br
|
| +.RS
|
| +Capture coverage data.
|
| +
|
| +By default captures the current kernel execution counts and writes the
|
| +resulting coverage data to the standard output. Use the \-\-directory
|
| +option to capture counts for a user space program.
|
| +
|
| +The result of the capture operation will be written to stdout or the tracefile
|
| +specified with \-o.
|
| +
|
| +Only one of \-z, \-c, \-a, \-e, \-r, \-l and \-\-diff may be specified
|
| +at a time.
|
| +.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, lcov will assume that the source
|
| +code relating to a .da file located in a directory named ".libs" can be
|
| +found in its parent directory.
|
| +
|
| +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 \-\-convert\-filenames
|
| +.br
|
| +.RS
|
| +Convert filenames when applying diff.
|
| +
|
| +Use this option together with \-\-diff to rename the file names of processed
|
| +data sets according to the data provided by the diff.
|
| +.RE
|
| +
|
| +.B \-\-diff
|
| +.I tracefile
|
| +.I difffile
|
| +.br
|
| +.RS
|
| +Convert coverage data in
|
| +.I tracefile
|
| +using source code diff file
|
| +.IR difffile .
|
| +
|
| +Use this option if you want to merge coverage data from different source code
|
| +levels of a program, e.g. when you have data taken from an older version
|
| +and want to combine it with data from a more current version.
|
| +.B lcov
|
| +will try to map source code lines between those versions and adjust the coverage
|
| +data respectively.
|
| +.I difffile
|
| +needs to be in unified format, i.e. it has to be created using the "\-u" option
|
| +of the
|
| +.B diff
|
| +tool.
|
| +
|
| +Note that lines which are not present in the old version will not be counted
|
| +as instrumented, therefore tracefiles resulting from this operation should
|
| +not be interpreted individually but together with other tracefiles taken
|
| +from the newer version. Also keep in mind that converted coverage data should
|
| +only be used for overview purposes as the process itself introduces a loss
|
| +of accuracy.
|
| +
|
| +The result of the diff operation will be written to stdout or the tracefile
|
| +specified with \-o.
|
| +
|
| +Only one of \-z, \-c, \-a, \-e, \-r, \-l and \-\-diff may be specified
|
| +at a time.
|
| +.RE
|
| +
|
| +.B \-d
|
| +.I directory
|
| +.br
|
| +.B \-\-directory
|
| +.I directory
|
| +.br
|
| +.RS
|
| +Use .da files in
|
| +.I directory
|
| +instead of kernel.
|
| +
|
| +If you want to work on coverage data for a user space program, use this
|
| +option to specify the location where the program was compiled (that's
|
| +where the counter files ending with .da will be stored).
|
| +
|
| +Note that you may specify this option more than once.
|
| +.RE
|
| +
|
| +.B \-e
|
| +.I tracefile
|
| +.I pattern
|
| +.br
|
| +.B \-\-extract
|
| +.I tracefile
|
| +.I pattern
|
| +.br
|
| +.RS
|
| +Extract data from
|
| +.IR tracefile .
|
| +
|
| +Use this switch if you want to extract coverage data for only a particular
|
| +set of files from a tracefile. Additional command line parameters will be
|
| +interpreted as shell wildcard patterns (note that they may need to be
|
| +escaped accordingly to prevent the shell from expanding them first).
|
| +Every file entry in
|
| +.I tracefile
|
| +which matches at least one of those patterns will be extracted.
|
| +
|
| +The result of the extract operation will be written to stdout or the tracefile
|
| +specified with \-o.
|
| +
|
| +Only one of \-z, \-c, \-a, \-e, \-r, \-l and \-\-diff may be specified
|
| +at a time.
|
| +.RE
|
| +
|
| +.B \-f
|
| +.br
|
| +.B \-\-follow
|
| +.br
|
| +.RS
|
| +Follow links when searching for .da files.
|
| +.RE
|
| +
|
| +.B \-\-gcov\-tool
|
| +.I tool
|
| +.br
|
| +.RS
|
| +Specify the location of the gcov tool.
|
| +.RE
|
| +
|
| +.B \-h
|
| +.br
|
| +.B \-\-help
|
| +.br
|
| +.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
|
| +lcov 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 lcov with \-c and 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.
|
| +
|
| +Recommended procedure when capturing data for a test case:
|
| +
|
| +1. create baseline coverage data file
|
| +.RS
|
| +# lcov \-c \-i \-d appdir \-o app_base.info
|
| +.br
|
| +
|
| +.RE
|
| +2. perform test
|
| +.RS
|
| +# appdir/test
|
| +.br
|
| +
|
| +.RE
|
| +3. create test coverage data file
|
| +.RS
|
| +# lcov \-c \-d appdir \-o app_test.info
|
| +.br
|
| +
|
| +.RE
|
| +4. combine baseline and test coverage data
|
| +.RS
|
| +# lcov \-a app_base.info \-a app_test.info \-o app_total.info
|
| +.br
|
| +
|
| +.RE
|
| +.RE
|
| +
|
| +.B \-k
|
| +.I subdirectory
|
| +.br
|
| +.B \-\-kernel\-directory
|
| +.I subdirectory
|
| +.br
|
| +.RS
|
| +Capture kernel coverage data only from
|
| +.IR subdirectory .
|
| +
|
| +Use this option if you don't want to get coverage data for all of the
|
| +kernel, but only for specific subdirectories.
|
| +
|
| +Note that you may specify this option more than once.
|
| +.RE
|
| +
|
| +.B \-l
|
| +.I tracefile
|
| +.br
|
| +.B \-\-list
|
| +.I tracefile
|
| +.br
|
| +.RS
|
| +List the contents of the
|
| +.IR tracefile .
|
| +
|
| +Only one of \-z, \-c, \-a, \-e, \-r, \-l and \-\-diff may be specified
|
| +at a time.
|
| +.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
|
| +
|
| +.B \-o
|
| +.I tracefile
|
| +.br
|
| +.B \-\-output\-file
|
| +.I tracefile
|
| +.br
|
| +.RS
|
| +Write data to
|
| +.I tracefile
|
| +instead of stdout.
|
| +
|
| +Specify "\-" as a filename to use the standard output.
|
| +
|
| +By convention, lcov\-generated coverage data files are called "tracefiles" and
|
| +should have the filename extension ".info".
|
| +.RE
|
| +
|
| +.B \-\-path
|
| +.I path
|
| +.br
|
| +.RS
|
| +Strip path from filenames when applying diff.
|
| +
|
| +Use this option together with \-\-diff to tell lcov to disregard the specified
|
| +initial path component when matching between tracefile and diff filenames.
|
| +.RE
|
| +
|
| +.B \-q
|
| +.br
|
| +.B \-\-quiet
|
| +.br
|
| +.RS
|
| +Do not print progress messages.
|
| +
|
| +This option is implied when no output filename is specified to prevent
|
| +progress messages to mess with coverage data which is also printed to
|
| +the standard output.
|
| +.RE
|
| +
|
| +.B \-r
|
| +.I tracefile
|
| +.I pattern
|
| +.br
|
| +.B \-\-remove
|
| +.I tracefile
|
| +.I pattern
|
| +.br
|
| +.RS
|
| +Remove data from
|
| +.IR tracefile .
|
| +
|
| +Use this switch if you want to remove coverage data for a particular
|
| +set of files from a tracefile. Additional command line parameters will be
|
| +interpreted as shell wildcard patterns (note that they may need to be
|
| +escaped accordingly to prevent the shell from expanding them first).
|
| +Every file entry in
|
| +.I tracefile
|
| +which matches at least one of those patterns will be removed.
|
| +
|
| +The result of the remove operation will be written to stdout or the tracefile
|
| +specified with \-o.
|
| +
|
| +Only one of \-z, \-c, \-a, \-e, \-r, \-l and \-\-diff may be specified
|
| +at a time.
|
| +.RE
|
| +
|
| +.B \-\-strip
|
| +.I depth
|
| +.br
|
| +.RS
|
| +Strip path components when applying diff.
|
| +
|
| +Use this option together with \-\-diff to tell lcov to disregard the specified
|
| +number of initial directories when matching tracefile and diff filenames.
|
| +.RE
|
| +
|
| +.B \-t
|
| +.I testname
|
| +.br
|
| +.B \-\-test\-name
|
| +.I testname
|
| +.br
|
| +.RS
|
| +Specify test name to be stored in the tracefile.
|
| +
|
| +This name identifies a coverage data set when more than one data set is merged
|
| +into a combined tracefile (see option \-a).
|
| +
|
| +Valid test names can consist of letters, decimal digits and the underscore
|
| +character ("_").
|
| +.RE
|
| +
|
| +.B \-v
|
| +.br
|
| +.B \-\-version
|
| +.br
|
| +.RS
|
| +Print version number, then exit.
|
| +.RE
|
| +
|
| +.B \-z
|
| +.br
|
| +.B \-\-zerocounters
|
| +.br
|
| +.RS
|
| +Reset all execution counts to zero.
|
| +
|
| +By default tries to reset kernel execution counts. Use the \-\-directory
|
| +option to reset all counters of a user space program.
|
| +
|
| +Only one of \-z, \-c, \-a, \-e, \-r, \-l and \-\-diff may be specified
|
| +at a time.
|
| +.RE
|
| +
|
| +.SH FILES
|
| +
|
| +.I /etc/lcovrc
|
| +.RS
|
| +The system\-wide configuration file.
|
| +.RE
|
| +
|
| +.I ~/.lcovrc
|
| +.RS
|
| +The per\-user configuration file.
|
| +.RE
|
| +
|
| +.SH AUTHOR
|
| +Peter Oberparleiter <Peter.Oberparleiter@de.ibm.com>
|
| +
|
| +.SH SEE ALSO
|
| +.BR lcovrc (5),
|
| +.BR genhtml (1),
|
| +.BR geninfo (1),
|
| +.BR genpng (1),
|
| +.BR gendesc (1),
|
| +.BR gcov (1)
|
|
|