| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
因为这个工具还是基于gcov的那一套统计覆盖率的原理,因此 在编译选项中还是需要加上这三个变量选项:
-g -ftest-coverage -fprofile-arcs
注意:
原本的gcov其实并不要求加上 -g 参数,它是让用户通过 --object-directory 选项来指定cpp文件对应到哪一个目标文件(*.o文 件)来找到覆盖率信息的。
但我这边是批量计算各个文件的覆盖率信息,因此需要加上-g这 个参数,这样就可以通过解析目标文件(*.o文件)来得到cpp文件。这点大家一定得注意一下。
Step 1: 安装本地的依赖包:
$ sh add-libs.sh
Step 2: Maven编译:
$ mvn clean package
编译打包成功后,会在target目录下产生 DiffCoverage.jar 文件
java -jar DiffCoverage.jar --debug : 打印debug日志,用于调试 --diffFile diffFile : 如果计算增量覆盖率,需要通过这个参数指定diff文件 --help : 打印这个帮助信息 --ignoreFile ignoreFile : 可以通过这个参数指定那些文件或者目录不要算在覆盖率统计信息中 --isNormalDiffFormat : 由于svn diff的格式有两个信息,默认是Unified Diff Format;另外一种Normal格式 --output output : 指定HTML目录的输出 --projectPath projectPath : 项目路径,默认是当 前目录 --isIncrement : 如果是需要计算增量覆盖率,需要指定这个参数,因为默认是计算全量 覆盖率工具的 --version : 输出当前版本
$ java -jar DiffCoverage.jar --output /home/admin/web/xx --projectPath util/
这样就会把util这个目录下的覆盖率信息保存到/home/admin/web/xx中了
$ java -jar DiffCoverage.jar --projectPath . --output ~/xx4 --isIncrement --diffFile diff.txt
通过--isIncrement来指定说是我这次计算的是增量覆盖率
通过--diffFile来指定diff文件
这个也比较好办,可以通过svn diff的扩展来diff时忽略红白行的改变:
$ svn diff --diff-cmd '/usr/bin/diff' -x -w -x -b -x -B -x -u -r 87426 > diff.txt1
这个首先编辑一个文件,文件名随便,文件的内容格式如下(YAML格式):
# 需要忽略的文件,只要写文件名就可以,支持正则表达式 ingoreFiles: - Statistic # 需要忽略的文件,只要写目录名就可以,支持正则表达式 ignoreDirs: - config
#是YAML格式的注释 然后通过类似这样来指定这个忽略文件:
$ java -jar ~/DiffCoverage.jar --projectPath . --output ~/xx4 --type upgrade --diffFile diff.txt1 --ignoreFile ~/ignore.yaml
| Back | FazBrowse Home | New Git URL |