问题标签 [kcov]

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 投票
0 回答
53 浏览

rust - kcov 正在按预期运行,但它永远不会完成

嗨,我想使用 kcov(用于生锈)计算我的覆盖率,但是当我运行以下命令时:

kcov target/cov target/debug/foo-9685a754b64cd612

Kcov 在 target/cov 中的结果是正确的,但它永远不会返回,我不得不用信号段错误杀死 proses(Cc 由于某种原因无法正常工作)。

这种行为只发生在我的项目中;我克隆了另一个项目,它正确完成。

我该如何阻止这种疯狂?

0 投票
0 回答
40 浏览

linux - 带有 KCOV 检测的 Linux,net/ 子系统中没有代码覆盖?

我尝试使用 Kcov 来检测 linux 内核,特别是 net/ 文件夹中的所有文件。如果我只为内核的那一部分指定检测(我在每个 Makefile 中附加 KCOV_INSTRUMENT := y),我什么也得不到。我在https://www.kernel.org/doc/html/v5.15-rc1/dev-tools/kcov.html编译了第一段代码从 /sys/kernel/debug/kcov 获取信息。如果我在 linux 的 .config 文件中写入 CONFIG_KCOV_INSTRUMENT_ALL=y 我会得到一些信息,但与网络无关,并且每次运行“覆盖收集器”时输出都是相同的。我使用的是 ubuntu vm,它使用我笔记本电脑的网卡,并且运行良好。我不知道我在做什么错,关于如何在内核中使用检测的信息很少,而且我不是内核编译方面的专家(也许我忘记了一些配置?)。

0 投票
0 回答
199 浏览

unit-testing - 如何获得货物测试的覆盖范围?

当我想测试 C++ 覆盖率时,我可以使用 构建我的程序-fprofile-arcs -ftest-coverage,运行所有测试,然后运行gcov以获取覆盖率。

然而,当谈到 Rust 时,我完全迷失了。我想要做的是运行以下测试(在我的 Mac 上),并覆盖路径中的所有 Rust 代码components/raftstore

这篇文章中,它说首先运行cargo test --no-run,然后运行kcov。但是,当我真正这样做时,kcov 会永远阻塞。

然后我找到了一个叫做 cargo kcov,谁提供的东西--test。但是,当我cargo kcov --test failpoints cases::test_normal像我所做的那样运行时cargo test,我得到了错误

我已经尝试了很多方法来解决这个问题,但是,它们都不起作用,所以我想知道我是否可以在这里得到一些帮助。

我知道还有其他覆盖工具,例如tarpaulingrcov,我目前正在尝试这些工具。如果这些覆盖工具有简洁的解决方案也是可以接受的。但是,我仍然想知道kcovand有什么问题cargo-kcov

0 投票
0 回答
45 浏览

rust - 运行远程测试时如何收集 Rust 代码覆盖率?

我发现有几个工具可以grcovtarpaulin运行单元测试llvm-covkcovcargo.

但在我们的例子中,我们有远程 python 测试,它们与用 Rust 编写的远程服务器交互。我如何检测和收集此类覆盖率报告?

0 投票
2 回答
21 浏览

linux - 如何为驱动程序(以太网驱动程序)配置 GCOV 以进行覆盖测试?

我正在尝试使用 GCOV 来测试设备驱动程序,例如:用 C 语言编写的以太网驱动程序。该驱动程序位于用户空间中,并且有很多内核空间调用。使用 Linux Ubuntu 机器 Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-96-generic x86_64)

在编译驱动程序代码时 - 目标文件(为每个 c 文件生成 .o 文件)并合并( .ko 文件)。main() 在我的理解中从启动代码开始。加载 (*.ko ) 文件后,需要对以太网设备进行功能测试,并使用稍后的覆盖率报告。

我对Linux的了解有限。我遇到的文章仅在用户空间中执行程序。

问题1

我不确定这样做的步骤是什么。请建议。

提前感谢您的帮助。