LCOV README 文件(翻译)
作者:终南 <li.zhongnan@hotmail.com>
-------------------------------------------------
- README file for the LTP GCOV extension (LCOV) -
- Last changes: 2008-11-17 -
-------------------------------------------------
说明
-----------
GCOV 是一个 GNU 工具,当运行一个特定的测试用例后,通过GCOV 可以查看一个程序的那些代码被实际执行。 LCOV 是GCOV的一个扩展工具。该扩展由一套 PERL 脚本组成,基于 GCOV 的文本式输出来实现以下增强的功能:
* 基于 HTML 的输出:使用条形图和不同的颜色来表示。
* 支持大型项目:信息汇总页面提供三个层次的代码覆盖细节信息:目录视图、文件视图和源代码视图,允许快速浏览代码覆盖数据。
LCOV 最初为支持 Linux 内核代码覆盖评估而设计,但是同样可用于测量标准用户空间应用程序的代码覆盖率。
README 目录
-----------------------
1. 相关文件
2. 安装 LCOV
3. 如何访问内核代码覆盖数据的示例
4. 如何访问用户空间应用程序代码覆盖数据的示例
5. 问题和评论
1. 相关文件
------------------
README - 该 README 文件
CHANGES - 各发行版本的更新列表
bin/lcov - 收集 LCOV 代码覆盖数据的工具
bin/genhtml - 根据 LCOV 数据生成 HTML 输出的工具
bin/gendesc - 创建说明文件的工具,同时也被 genhtml 使用
bin/geninfo - 内部工具(创建 LCOV 数据文件)
bin/genpng - 内部工具(创建源代码文件的 png 图形汇总信息)
bin/install.sh - 内部工具(安装和卸载)
descriptions.tests - LTP 软件包的测试说明文件,被 gendesc 使用
man - 放置 LCOV 使用工具的 man 页面的目录
example - 用来演示 LCOV 的示例文件目录
lcovrc - LCOV 配置文件
Makefile - Makefile 文件,包含 'install' 和 'uninstall' 目标
2. 安装 LCOV
------------------
可以从以下页面选择下载 LCOV 软件包,RPM 或 tarball 形式:
http://ltp.sourceforge.net/coverage/lcov.php
为安装 tarball,将软件包解压到一个目录然后运行:
make install
也可以使用匿名 CVS 来获取最新版本(但可能是不稳定的版本):
cvs -d:pserver:anonymous@ltp.cvs.sourceforge.net:/cvsroot/ltp login
(当询问密码时,按回车即可)
cvs -z3 -d:pserver:anonymous@ltp.cvs.sourceforge.net:/cvsroot/ltp export -D now utils
切换到 utils/analysis/lcov 目录然后输入:
make install
3. 如何访问内核代码覆盖数据的示例
---------------------------------------------------
前提条件:从以下页面下载并安装 gcov-kernel 软件包:
http://sourceforge.net/projects/ltp
将最终的 gcov 内核模块文件复制到 system wide modules 目录或者 PERL 脚本所在目录。以 root 身份, 执行:
a) 重置计数器
lcov --zerocounters
b) 收集当前代码覆盖状态到一个文件
lcov --capture --output-file kernel.info
c) 获取 HTML 输出
genhtml kernel.info
使用 web 浏览器打开 index.html 文件查看代码覆盖结果。
4. 如何访问用户空间应用程序代码覆盖数据的示例
---------------------------------------------------------------------
前提条件:使用 GCC 以 -fprofile-arcs 和-ftest-coverage 选项编译程序。假设编译目录名称为 "appdir",然后执行:
a) 重置计数器
lcov --directory appdir --zerocounters
b) 收集当前代码覆盖状态到一个文件(应用程序启动和停止至少一次后,该命令才能正常工作)
lcov --directory appdir --capture --output-file app.info
c) 获取 HTML 输出
genhtml app.info
使用 web 浏览器打开 index.html 文件查看代码覆盖结果。
5. 问题和评论
-------------------------
参见软件包中的 man 页面,以便获取如何使用 LCOV 工具的详细信息。
有关这些工具的问题和评论,请通过电子邮件联系,LTP 电子邮件列表:ltp-coverage@lists.sourceforge.net。