介子中的C语言覆盖率报告
C language coverage report in meson
我正在尝试获取介子覆盖率报告。根据documentation,应该是这么简单:
首先,使用此命令初始化构建目录。
$ meson <other flags> -Db_coverage=true
然后发出以下命令。
$ meson compile
$ meson test
$ meson compile coverage-html (or coverage-xml)
覆盖率报告可以在 meson-logs 子目录中找到。
但是,它对我不起作用。所有步骤都可以,除了最后一步:
$ meson compile coverage_html
ERROR: Can't invoke target `coverage_html`: target not found
对此有什么想法吗?
看起来参考的一部分已经过时了,我正在使用 ninja 后端并且有相同的行为:
$ meson compile coverage-text -C build
ERROR: Can't invoke target `coverage-text`: target not found
但是直接调用目标是有效的:
$ ninja coverage-html -C build
ninja: Entering directory `build'
[1/1] Generates HTML coverage report
LLVM (http://llvm.org/):
LLVM version 7.0.1
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: haswell
lcov: LCOV version 1.13
genhtml: LCOV version 1.13
Capturing coverage data from /home/<>/build
Found gcov version: 8.3.0
Scanning /home/<>/build for .gcno files ...
Found 212 graph files in /home/<>/build
Processing aaa.p/bbb.cc.gcno
...
还要检查选项是否设置正确
$ meson configure build | grep cover
b_coverage true
如果您安装了 lcov 或 gcovr
因此,使用覆盖率报告进行测试的当前(最少)步骤应该是:
$ meson setup build -Db_coverage=true
$ meson test -C build
$ ninja coverage-html -C build
# or coverage-xml or coverage-text, or just 'coverage' which should generate all 3 if possible
我正在尝试获取介子覆盖率报告。根据documentation,应该是这么简单:
首先,使用此命令初始化构建目录。
$ meson <other flags> -Db_coverage=true
然后发出以下命令。
$ meson compile
$ meson test
$ meson compile coverage-html (or coverage-xml)
覆盖率报告可以在 meson-logs 子目录中找到。
但是,它对我不起作用。所有步骤都可以,除了最后一步:
$ meson compile coverage_html
ERROR: Can't invoke target `coverage_html`: target not found
对此有什么想法吗?
看起来参考的一部分已经过时了,我正在使用 ninja 后端并且有相同的行为:
$ meson compile coverage-text -C build
ERROR: Can't invoke target `coverage-text`: target not found
但是直接调用目标是有效的:
$ ninja coverage-html -C build
ninja: Entering directory `build'
[1/1] Generates HTML coverage report
LLVM (http://llvm.org/):
LLVM version 7.0.1
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: haswell
lcov: LCOV version 1.13
genhtml: LCOV version 1.13
Capturing coverage data from /home/<>/build
Found gcov version: 8.3.0
Scanning /home/<>/build for .gcno files ...
Found 212 graph files in /home/<>/build
Processing aaa.p/bbb.cc.gcno
...
还要检查选项是否设置正确
$ meson configure build | grep cover
b_coverage true
如果您安装了 lcov 或 gcovr
因此,使用覆盖率报告进行测试的当前(最少)步骤应该是:
$ meson setup build -Db_coverage=true
$ meson test -C build
$ ninja coverage-html -C build
# or coverage-xml or coverage-text, or just 'coverage' which should generate all 3 if possible