node-gyp 中应用gcov来测试代码覆盖率

Posted xuyv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node-gyp 中应用gcov来测试代码覆盖率相关的知识,希望对你有一定的参考价值。

环境: node/node-gyp本地

工具:gcov lcov genhtml

binding.gyp配置:

      "cflags" : ["-fprofile-arcs -ftest-coverage"],
      "ldflags" : ["-lgcov --coverage"],

用gcc编译后在.o相同文件下生成:

*. gcno

运行程序(.js调用native)后生成:

*.gcda

 

到此,需要的信息已经准备好。

另外需要:lcov生成info文件时,需要源文件:注意查找路径应该正确。

*.h, *.cc

2. 利用lcov生成代码覆盖率信息文件:

lcov -d . -t "$testname" -o "$resultname" -b . -c
// egg.
lcov -d . -t test -o test.info -b . -c

 

3. 利用genhtml生成可读的html文件:

genhtml -o result *.info

到此,所需要的文件就在result文件夹下。常用的是:index.html就可以了。

 

以上是关于node-gyp 中应用gcov来测试代码覆盖率的主要内容,如果未能解决你的问题,请参考以下文章

CMake添加gcov代码覆盖测试支持

从 gcov/lcov 覆盖结果中排除某些功能

GCOV入门

是否可以使用 gcov 测量功能覆盖率?

LCOV/GCOV 分支覆盖,C++ 生成分支遍布各处

如何告诉 gcov 忽略不可命中的 C++ 代码行?