问题标签 [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.

0 投票
1 回答
1989 浏览

autotools - 'make check' 后 Autotools 自动调用 lcov

我已经成功设置了一个自动工具项目,其中测试使用仪器编译,因此我可以获得测试覆盖率报告。

成功“进行检查”后,我可以通过在源目录中运行 lcov 来获取报告。

我现在面临的问题是我想自动化这一步。我想将此添加到“进行检查”或将其作为单独的目标“进行检查覆盖”。理想情况下,如果覆盖率低于某个百分比,我想解析结果并失败。问题是我根本无法弄清楚如何添加自定义目标。

我得到的最接近的是找到这个示例 autotools 配置,但我看不到在该项目中的哪个位置添加了目标“make lcov”。我只能在 m4/auxdevel.m4 中看到一些配置标志。

有小费吗?

0 投票
1 回答
4207 浏览

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

是否可以从 gcov 覆盖率分析中排除某些函数或代码行。我的代码包含某些用于调试的函数,并且没有作为我的测试套件的一部分来执行。此类功能会降低 gcov 报告的覆盖率。我想从结果中排除这些函数。如果不能通过 gcov,也许可以通过 lcov,但我无法弄清楚。感谢您的帮助。

0 投票
5 回答
12947 浏览

gcc - 使用 gcov,是否可以合并到 .gcda 文件?

我有相同的源文件(C 和 Obj-C)被编译成两个目标:单元测试可执行文件和实际产品(然后进行集成测试)。这两个目标构建在不同的位置,因此目标文件、.gcno 和 .gcda 文件是分开的。并非所有源文件都编译到单元测试中,因此并非所有对象都将存在。所有源文件都编译到产品构建中。

有没有办法结合两组 .gcda 文件来获得单元测试和集成测试的总覆盖率(因为它们在产品构建上运行)?

我正在使用lcov。

Mac OS X 10.6、GCC 4.0

谢谢!

0 投票
0 回答
613 浏览

performance - gcov 将 CPU 固定在 100% 是否正常

我正在一个中型项目上运行 gcov(通过 lcov)。它的 CPU 已经接近 100% 有一段时间了(不知道确切的时间,但超过 30 分钟)。内存没有膨胀。它似乎被困在一项任务上。

gcov 做这种事情正常吗?

编辑

没运气。只需要排除与挂起相关的代码。

0 投票
2 回答
1135 浏览

hudson - 如何在 Hudson 持续集成中使用 lcov 测试覆盖工具?

在我的环境中,开发人员在处理源代码的模块测试时从命令行使用 lcov。我想知道是否有一种方法可以轻松地将来自 lcov 的报告添加到 Hudson 的构建中?我将简化和自动化收集测试源代码覆盖率的整个过程。

0 投票
1 回答
10780 浏览

c++ - 如何告诉 lcov 在哪里可以找到我的 .cpp 和 .h 文件?

我的源代码和构建树在make(构建和运行FooAndBarTests)之后看起来像这样(参见Makefile,将不同目录中的目标文件放入一个单独的目录中? ):

然后,我可以通过运行gcov -o obj/ ../src/Foo.cpp和.gcov 在测试目录中生成 .gcov 文件gcov -o obj/ ../src/Bar.cpp

但如果我跑步,lcov -d obj/ -c -o FooAndBarTests.lcov我会得到:

然后当我跑步时,genhtml FooAndBarTests.lcov我得到:

如何告诉 lcov 和 genhtml .cpp 和 .h 文件在哪里?

0 投票
3 回答
23731 浏览

c++ - C++ 使用 gcov 和 lcov 的问题?

我正在使用 ubuntu 10.1,g++ 编译器。

我试图在我的 C++ 项目中使用 gcov 和 lcov。我设法编译了 gcov:

没有错误或警告消息。接下来我尝试运行 gcov:

也很好。我也尝试运行我的程序:

然后再次运行 gcov,我的 main、user 和 game.cpp 现在显示了一些百分比。我想捕获数据,我在终端中输入:

但它给了我这个:

我在网上搜索,阅读 lcov 文档,我找不到答案。任何人都可以帮助我吗?

另外,我也无法打开main.gcda文件。(我尝试使用文本编辑器打开,它说一些字符编码问题,很多:UTF-8,Western(ISO-8859-1),Western(ISO-8859 -11) 等,但仍然无法打开和读取文件。

请帮帮我..有人吗??

编辑:

我承认,这是我的错误(我非常抱歉,“home/Projects/Game1”,大写“P”。)验证路径后,我收到了这个新错误:

0 投票
1 回答
1178 浏览

upgrade - 如果您已经在 ubuntu 中安装了 lcov,如何升级 lcov?

我在我的 ubuntu 10.1 上安装了 lcov。我的lcov版本是1.8,如何升级到最新版本,即1.9?

0 投票
2 回答
11950 浏览

hudson - 将 lcov 添加到 Hudson

对这里的哈德逊来说相当陌生。我想知道,如何将lcov与它集成?我如何将 tarball 安装到 Hudson 作业中?

0 投票
1 回答
440 浏览

xcode - 有一个 shell 脚本是指 XCode 构建路径

我有一个在我拥有 Hudson 的 iOS 项目上运行 lcov(测试覆盖率)的 shell 脚本。Hudson 的这个项目的副本来自一个 Git 存储库。我现在设置的方式是,每当更新 repo 或有人在 Hudson 中手动构建项目时,Hudson 会自动运行应用程序,然后在构建完成后运行我的 shell 脚本。lcov 只能在应用程序不仅构建后运行,而且可以使用一些功能测试工具自动运行。因此,我无法通过 XCode 在构建过程中运行 shell 脚本。它必须在应用程序完成构建和运行后运行。

但是,我想在多个 Hudson 工作中使用这个项目。不幸的是,在每个 Hudson 工作中,iOS 项目的名称都不同。我想用某种环境变量来引用构建路径,但我不知道该怎么做。有人对如何找到它有任何提示吗?