我正在使用lcov(1.14版)和cobertura对我们的C ++代码生成覆盖率分析。 (gcc 4.9版)
修改代码后,代码覆盖率莫名其妙地下降了。尽管我们没有触摸或删除任何测试。
例如,线路覆盖范围从 2540/2987 降至 1597/3082 。
在报告中,我们可以看到某些源文件完全没有经过测试,尽管相应的测试已运行并成功。
我正在运行的命令是
lcov --directory . --base-directory $BUILD_DIR --capture --output-file $BUILD_DIR/code-coverage.lcov --gcov-tool gcov492
lcov --remove $BUILD_DIR/code-coverage.lcov '*/usr/include/*' '*/thirdparty/*' '*/test/*' $EXTRA_EXCLUDE --output-file $BUILD_DIR/filtered-code-coverage.lcov
lcov_cobertura.py -d $BUILD_DIR/filtered-code-coverage.lcov -o $BUILD_DIR/coverage.xml -b /data$SRC_DIR
我收到以下警告,想知道这是否是问题所在
lcov:警告:在跟踪文件中发现负计数 /build_dir/code-coverage.lcov
有人可以帮我弄清楚发生了什么吗? 这是配置问题吗?还是我正在调用的命令有问题?还是实际上LCOV无法正常工作?