问题标签 [lcov]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - Lcov:无法收集分支覆盖率统计信息
我用lcov
来在我的项目中创建覆盖信息。但我只能得到线路覆盖率和功能覆盖率统计信息。
我使用的命令是:
在这两个命令之后,我得到的结果是:
所以没有分支覆盖结果。为什么?所以发生了什么事?这怎么可能发生?我在这里很困惑。
在第一个命令之后,我收到了很多这样的警告:
linux - Linux 内核代码覆盖率 - GCOV
我正在尝试使用Linux 测试项目中的一些测试场景并获取内核源代码覆盖率。
我正在使用 GCOV/LCOV 这样做。
这是我到目前为止的东西:
- 构建配置中的 GCOV 标志
基于 GCOV 的内核分析
CONFIG_GCOV_KERNEL=y
CONFIG_GCOV_PROFILE_ALL=y
Linux内核版本:2.6.32.60+drm33.26
- 构建内核后,我在源文件夹中有所有 .gcov 文件
- 当我使用源文件作为输入时,GCOV/LCOV 工作
我应该拥有但我没有的东西
- /Proc/GCOV 文件夹
- GCOV 内核模块 (gcov.o?)
现在我想要的是运行测试场景并使用 LCOV 获取到目前为止已使用的 Linux 内核代码部分。但是当我调用 LCOV -c 时,即使所有构建标志都正常,这也是我得到的。
加载所需的 gcov 内核模块。
lcov: 错误: 无法加载所需的 gcov 内核模块!
< 2.6.30 有一个内核补丁,然后它被内置。
unit-testing - 从 JSCover/JSCoverage coverage.xml 或 jscoverage.json 获取 LCOV 兼容输出
概括
我最近从使用Google 的 JsTestDriver切换到了Testem但错过了LCOV HTML Code Coverage Reports,有没有办法将JSCover输出转换为 LCOV 格式,所以我可以使用 genhtml 创建这样的报告。
细节
我正在使用 Testem、Jasmine 和 PhantomJS 从一个 JSCoverage 示例中工作,它生成以下 2 种覆盖输出格式;
覆盖率.xml
jscoverage.json
有没有办法将上述内容覆盖到 js-test-driver 输出的 jstestdriver.conf-coverage.dat 格式中?
谢谢。
c++ - 它是 lcov 的错误还是对一个函数中的不同命中计数有意义?
代码覆盖率报告如上。对于 Conf 类,构造函数的命中数是 2,但是这一行的命中数std::ifstream in( filename.c_str() );
是 4,我认为它也应该是 2。您如何看待此代码覆盖率报告中的不同命中数,这是一个错误lcov
还是有意义的?
objective-c - 为什么 lcov 不报告异常覆盖率?
请参阅此覆盖率报告。. 我知道我的测试用例正在执行异常处理,但是这些行仍然被报告为未涵盖。. . 一段时间以来,我所有的objective-c项目都是这种情况。. . . 有没有办法来解决这个问题?
bash - 处理 bash 脚本中的双引号
我正在尝试编写一个 bash 脚本,该脚本将动态构建我需要执行的命令。(合并 lcov 文件)
到目前为止,我能够构建命令行,结果如下:
如果我在我的 shell 中运行该行echo
输出,它可以工作,但我无法从我的脚本运行这个命令,而且我缺乏 bash 的伟大之处来调试它。
这是我从回声中得到的那种输出:
你知道这里有什么问题吗?
问候,
泽维尔
code-coverage - Gcov 是基于应用程序的覆盖还是基于系统的覆盖
Gcov 是基于应用程序的覆盖还是基于系统的覆盖
不会为所有文件生成 .gcda 文件。gcda 文件仅为少数源文件创建。为所有符合 gcov 编译标志的源文件创建 gcno 文件。我的项目还有基于 QT 的模块,我没有获得 .gcda 文件。
这里的问题是:gcov 是基于应用程序的覆盖工具还是基于系统的覆盖工具?
我在 CFLAGS LDFLAGS 和 CXXFLAGS 中添加了 -fprofile-arcs -ftest-coverage。
android - gcov 在 Android AOSP 中使用时无法打开源文件
我有以下 AOSP 项目设置
1)我在(AOSP根目录)/vendor/myProject/test.cpp中有test.cpp
2) 在 Android.mk 中,我使用了 LOCAL_CFLAGS += -g -fprofile-arcs -ftest-coverage LOCAL_LDFLAGS += -lgcov
3)当我编译代码时,我得到 test.gcno 在:(AOSP 根目录)/out/target/product/generic/obj/EXECUTABLES/myProject_intermediates
4)然后我在设备上进行测试(adb sync)
5)然后在设备上我使用了以下内容: export GCOV_PREFIX=/vendor
export GCOV_PREFIX_STRIP=13 (去除不必要的路径)
6)我运行测试 ./system/bin/test 并在设备(shell)/vendor/test.gcda 上获得 test.gcda 文件
7)我将 test.gcda(从设备)复制到我已经有 test.gcno 的构建目录(/out/target/product/generic/obj/EXECUTABLES/myProject_intermediates)
8)现在我在 /out/target/product/generic/obj/EXECUTABLES/myProject_intermediates 然后运行 gcov 如下:
(AOSP根目录)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcov test
为此,我得到如下输出:
文件 'vendor/myProject/test.cpp' 执行的行数:23.00% of 223
供应商/myProject/test.cpp:创建“test.cpp.gcov”
vendor/myProject/test.cpp: 无法打开源文件
任何人都可以帮助我解决这个问题。它说test.cpp:cannot open source file gcov 没有生成完整的报告。我还通过指定源路径来检查 -b 选项,如下所示:
(AOSP根目录)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcov -b (AOSP根目录)/vendor/myProject test
它没有用。
我猜这个问题是因为不同目录中的分布式文件(gcno,gcda,test.cpp)。
谢谢
gcov - LCOV 代码覆盖率 - 退出状态 255
当我运行代码覆盖以在 html 中输出时,我收到错误消息:
CalledProcessError:命令'lcov -r mycoverage.2.temp“/../generated/*”-o mycoverage.2'返回非零退出状态255
gcov -v 给出:gcov (GCC) 3.4.2
我试图找到退出状态 255 的含义,但没有运气。
请问哪位高手可以帮忙?
objective-c - Xcode5 代码覆盖率(来自 CI 构建的命令行)
如何使用 Xcode 5 和 iOS7 生成代码覆盖率?
在升级之前,我的代码覆盖率很好。现在我看不到任何正在生成的 *.gcda 文件。
我正在使用的命令行是:
与 AppCode 一起使用
- 当我通过 AppCode 执行测试时,我可以看到在 ~/Library/Caches/appCode20/DerivedData 中生成了 *.gcda 文件。. . 我需要它来为我的持续集成构建工作。
从 Xcode IDE 工作
- 也适用于 Xcode IDE。. . 是否有会产生覆盖的命令行,或者这是一个 Xcode 错误?