gpt4 book ai didi

code-coverage - 在 IDE 之外运行 C-Spy 时生成 IAR 代码覆盖率

转载 作者:行者123 更新时间:2023-12-04 06:02:30 35 4
gpt4 key购买 nike

我有大量的项目,每个项目至少有一个自动化测试套件。测试在 IAR 的 C-Spy 模拟器中运行。 (我正在为 Arm v6.60 使用 IAR Embedded Workbench。)

如果我从 IDE 运行这些测试可执行文件之一,我可以生成和查看代码覆盖率信息。这对于单个项目来说没问题,但是通过手动运行每个项目来为我的所有项目收集这些信息太麻烦了。我希望能够运行我的构建并让它为所有测试套件生成代码覆盖率信息。

根据我在 EWARM_DebuggingGuide.pdf 中找到的内容,我应该能够通过将代码覆盖插件传递给 C-Spy 来为可执行文件生成代码覆盖:

--plugin C:\<IAR path>/common/plugins/CodeCoverage/CodeCoverage.dll

以及代码覆盖率信息应该转储到的文件:
--code_coverage_file C:\<test suite path>/CodeCoverageReport.log

所以这是我正在调用的实际命令:
C:\<IAR path>/common/bin/CSpyBat.exe C:\<IAR path>/arm/bin/armproc.dll C:\<IAR path>/arm/bin/armsim2.dll C:\<test suite path>/Test.out --plugin C:\<IAR path>/arm/bin/armbat.dll --plugin C:\<IAR path>/common/plugins/CodeCoverage/CodeCoverage.dll --backend -B --endian=little --cpu=Cortex-M4 --fpu=VFPv4 --semihosting --code_coverage_file C:\<test suite path>/CodeCoverageReport.log

C-Spy 成功启动测试套件,打印了我的测试结果,但没有创建代码覆盖率文件。没有错误消息。

我错过了什么?

最佳答案

我认为您的命令行中只有一个很小的错误:

选项 --code_coverage_file需要放在选项--backend之前.

我刚刚测试了 EWARM 7.60.1 和 6.50.6 的代码覆盖率文件的生成。适用于两个版本。因此,我希望 EWARM 6.60 的行为方式相同。

背景

之后的一切 --backend不是由 C-Spy 评估的,而是由后端驱动程序评估的(在这种情况下是模拟器 armsim2.dll)。代码覆盖率不是由模拟器生成的,而是由单独的插件 ( CodeCoverage.dll ) 生成的。此插件评估 --code_coverage_file仅对插件可见的选项,如果它放在 --backend 之前争论。

关于code-coverage - 在 IDE 之外运行 C-Spy 时生成 IAR 代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41288514/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com