| Index: third_party/lcov/README
|
| ===================================================================
|
| --- third_party/lcov/README (revision 0)
|
| +++ third_party/lcov/README (revision 0)
|
| @@ -0,0 +1,128 @@
|
| +-------------------------------------------------
|
| +- README file for the LTP GCOV extension (LCOV) -
|
| +- Last changes: 2008-11-17 -
|
| +-------------------------------------------------
|
| +
|
| +Description
|
| +-----------
|
| + LCOV is an extension of GCOV, a GNU tool which provides information about
|
| + what parts of a program are actually executed (i.e. "covered") while running
|
| + a particular test case. The extension consists of a set of PERL scripts
|
| + which build on the textual GCOV output to implement the following enhanced
|
| + functionality:
|
| +
|
| + * HTML based output: coverage rates are additionally indicated using bar
|
| + graphs and specific colors.
|
| +
|
| + * Support for large projects: overview pages allow quick browsing of
|
| + coverage data by providing three levels of detail: directory view,
|
| + file view and source code view.
|
| +
|
| + LCOV was initially designed to support Linux kernel coverage measurements,
|
| + but works as well for coverage measurements on standard user space
|
| + applications.
|
| +
|
| +
|
| +Further README contents
|
| +-----------------------
|
| + 1. Included files
|
| + 2. Installing LCOV
|
| + 3. An example of how to access kernel coverage data
|
| + 4. An example of how to access coverage data for a user space program
|
| + 5. Questions and Comments
|
| +
|
| +
|
| +
|
| +1. Important files
|
| +------------------
|
| + README - This README file
|
| + CHANGES - List of changes between releases
|
| + bin/lcov - Tool for capturing LCOV coverage data
|
| + bin/genhtml - Tool for creating HTML output from LCOV data
|
| + bin/gendesc - Tool for creating description files as used by genhtml
|
| + bin/geninfo - Internal tool (creates LCOV data files)
|
| + bin/genpng - Internal tool (creates png overviews of source files)
|
| + bin/install.sh - Internal tool (takes care of un-/installing)
|
| + descriptions.tests - Test descriptions for the LTP suite, use with gendesc
|
| + man - Directory containing man pages for included tools
|
| + example - Directory containing an example to demonstrate LCOV
|
| + lcovrc - LCOV configuration file
|
| + Makefile - Makefile providing 'install' and 'uninstall' targets
|
| +
|
| +
|
| +2. Installing LCOV
|
| +------------------
|
| +The LCOV package is available as either RPM or tarball from:
|
| +
|
| + http://ltp.sourceforge.net/coverage/lcov.php
|
| +
|
| +To install the tarball, unpack it to a directory and run:
|
| +
|
| + make install
|
| +
|
| +Use anonymous CVS for the most recent (but possibly unstable) version:
|
| +
|
| + cvs -d:pserver:anonymous@ltp.cvs.sourceforge.net:/cvsroot/ltp login
|
| +
|
| +(simply press the ENTER key when asked for a password)
|
| +
|
| + cvs -z3 -d:pserver:anonymous@ltp.cvs.sourceforge.net:/cvsroot/ltp export -D now utils
|
| +
|
| +Change to the utils/analysis/lcov directory and type:
|
| +
|
| + make install
|
| +
|
| +
|
| +3. An example of how to access kernel coverage data
|
| +---------------------------------------------------
|
| +Requirements: get and install the gcov-kernel package from
|
| +
|
| + http://sourceforge.net/projects/ltp
|
| +
|
| +Copy the resulting gcov kernel module file to either the system wide modules
|
| +directory or the same directory as the PERL scripts. As root, do the following:
|
| +
|
| + a) Resetting counters
|
| +
|
| + lcov --zerocounters
|
| +
|
| + b) Capturing the current coverage state to a file
|
| +
|
| + lcov --capture --output-file kernel.info
|
| +
|
| + c) Getting HTML output
|
| +
|
| + genhtml kernel.info
|
| +
|
| +Point the web browser of your choice to the resulting index.html file.
|
| +
|
| +
|
| +4. An example of how to access coverage data for a user space program
|
| +---------------------------------------------------------------------
|
| +Requirements: compile the program in question using GCC with the options
|
| +-fprofile-arcs and -ftest-coverage. Assuming the compile directory is called
|
| +"appdir", do the following:
|
| +
|
| + a) Resetting counters
|
| +
|
| + lcov --directory appdir --zerocounters
|
| +
|
| + b) Capturing the current coverage state to a file (works only after the
|
| + application has been started and stopped at least once)
|
| +
|
| + lcov --directory appdir --capture --output-file app.info
|
| +
|
| + c) Getting HTML output
|
| +
|
| + genhtml app.info
|
| +
|
| +Point the web browser of your choice to the resulting index.html file.
|
| +
|
| +
|
| +5. Questions and comments
|
| +-------------------------
|
| +See the included man pages for more information on how to use the LCOV tools.
|
| +
|
| +Please email further questions or comments regarding this tool to the
|
| +LTP Mailing list at ltp-coverage@lists.sourceforge.net
|
| +
|
|
|