summaryrefslogtreecommitdiffstats
path: root/third_party/lcov/README
diff options
context:
space:
mode:
authorjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-03 03:26:46 +0000
committerjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-03 03:26:46 +0000
commit1e1f6af9207b71845aa2f360e5d231825f317a09 (patch)
treec369805fe40cdaa9ee646cf98e44854be1538414 /third_party/lcov/README
parent4acc19a6f31abef9608546d10f107240603ca57e (diff)
downloadchromium_src-1e1f6af9207b71845aa2f360e5d231825f317a09.zip
chromium_src-1e1f6af9207b71845aa2f360e5d231825f317a09.tar.gz
chromium_src-1e1f6af9207b71845aa2f360e5d231825f317a09.tar.bz2
lcov-1.7 into third_party for code coverage on POSIX systems.
Non-lcov-1.7 files are lcov/LICENCE lcov/README.chromium lcov/bin/mcov Review URL: http://codereview.chromium.org/57083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13066 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/lcov/README')
-rw-r--r--third_party/lcov/README128
1 files changed, 128 insertions, 0 deletions
diff --git a/third_party/lcov/README b/third_party/lcov/README
new file mode 100644
index 0000000..ad36451
--- /dev/null
+++ b/third_party/lcov/README
@@ -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
+