README
1 -------------------------------------------------
2 - README file for the LTP GCOV extension (LCOV) -
3 - Last changes: 2012-10-10 -
4 -------------------------------------------------
5
6 Description
7 -----------
8 LCOV is an extension of GCOV, a GNU tool which provides information about
9 what parts of a program are actually executed (i.e. "covered") while running
10 a particular test case. The extension consists of a set of Perl scripts
11 which build on the textual GCOV output to implement the following enhanced
12 functionality:
13
14 * HTML based output: coverage rates are additionally indicated using bar
15 graphs and specific colors.
16
17 * Support for large projects: overview pages allow quick browsing of
18 coverage data by providing three levels of detail: directory view,
19 file view and source code view.
20
21 LCOV was initially designed to support Linux kernel coverage measurements,
22 but works as well for coverage measurements on standard user space
23 applications.
24
25
26 Further README contents
27 -----------------------
28 1. Included files
29 2. Installing LCOV
30 3. An example of how to access kernel coverage data
31 4. An example of how to access coverage data for a user space program
32 5. Questions and Comments
33
34
35
36 1. Important files
37 ------------------
38 README - This README file
39 CHANGES - List of changes between releases
40 bin/lcov - Tool for capturing LCOV coverage data
41 bin/genhtml - Tool for creating HTML output from LCOV data
42 bin/gendesc - Tool for creating description files as used by genhtml
43 bin/geninfo - Internal tool (creates LCOV data files)
44 bin/genpng - Internal tool (creates png overviews of source files)
45 bin/install.sh - Internal tool (takes care of un-/installing)
46 descriptions.tests - Test descriptions for the LTP suite, use with gendesc
47 man - Directory containing man pages for included tools
48 example - Directory containing an example to demonstrate LCOV
49 lcovrc - LCOV configuration file
50 Makefile - Makefile providing 'install' and 'uninstall' targets
51
52
53 2. Installing LCOV
54 ------------------
55 The LCOV package is available as either RPM or tarball from:
56
57 http://ltp.sourceforge.net/coverage/lcov.php
58
59 To install the tarball, unpack it to a directory and run:
60
61 make install
62
63 Use anonymous CVS for the most recent (but possibly unstable) version:
64
65 cvs -d:pserver:anonymous (a] ltp.cvs.sourceforge.net:/cvsroot/ltp login
66
67 (simply press the ENTER key when asked for a password)
68
69 cvs -z3 -d:pserver:anonymous (a] ltp.cvs.sourceforge.net:/cvsroot/ltp export -D now utils
70
71 Change to the utils/analysis/lcov directory and type:
72
73 make install
74
75
76 3. An example of how to access kernel coverage data
77 ---------------------------------------------------
78 Requirements: get and install the gcov-kernel package from
79
80 http://sourceforge.net/projects/ltp
81
82 Copy the resulting gcov kernel module file to either the system wide modules
83 directory or the same directory as the Perl scripts. As root, do the following:
84
85 a) Resetting counters
86
87 lcov --zerocounters
88
89 b) Capturing the current coverage state to a file
90
91 lcov --capture --output-file kernel.info
92
93 c) Getting HTML output
94
95 genhtml kernel.info
96
97 Point the web browser of your choice to the resulting index.html file.
98
99
100 4. An example of how to access coverage data for a user space program
101 ---------------------------------------------------------------------
102 Requirements: compile the program in question using GCC with the options
103 -fprofile-arcs and -ftest-coverage. During linking, make sure to specify
104 -lgcov or -coverage.
105
106 Assuming the compile directory is called "appdir", do the following:
107
108 a) Resetting counters
109
110 lcov --directory appdir --zerocounters
111
112 b) Capturing the current coverage state to a file (works only after the
113 application has been started and stopped at least once)
114
115 lcov --directory appdir --capture --output-file app.info
116
117 c) Getting HTML output
118
119 genhtml app.info
120
121 Point the web browser of your choice to the resulting index.html file.
122
123 Please note that independently of where the application is installed or
124 from which directory it is run, the --directory statement needs to
125 point to the directory in which the application was compiled.
126
127 For further information on the gcc profiling mechanism, please also
128 consult the gcov man page.
129
130
131 5. Questions and comments
132 -------------------------
133 See the included man pages for more information on how to use the LCOV tools.
134
135 Please email further questions or comments regarding this tool to the
136 LTP Mailing list at ltp-coverage (a] lists.sourceforge.net
137
138
README.chromium
1 Name: LCOV - the LTP GCOV extension
2 Short Name: lcov
3 URL: http://ltp.sourceforge.net/coverage/lcov.php
4 Version: 1.10
5 License: GPL v2
6 License file: COPYING
7 Security Critical: no
8
9 Description:
10 This directory contains a stock lcov-1.10 with the following changes:
11
12 - Added bin/mcov, an assembly script derived from lcov which is
13 particularly useful for dealing with Mac XCode build paths.
14 - Added LICENSE file which symlinks to COPYING
15
16 N.B.: This code will not be shipped with Chrome.
17 It is only part of the build/test infrastructure.