首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IDE之外运行code时生成IAR代码覆盖率

在IDE之外运行code时生成IAR代码覆盖率
EN

Stack Overflow用户
提问于 2016-12-22 17:14:36
回答 1查看 2.4K关注 0票数 4

我有大量的项目,每个项目至少有一个自动化测试套件。这些测试是在IAR的C模拟器上运行的。(我正在为Arm V6.60使用IAR嵌入式工作台。)

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

根据我在EWARM_DebuggingGuide.pdf中发现的内容,我应该能够通过传递code代码覆盖插件来为可执行文件生成代码覆盖率:

代码语言:javascript
复制
--plugin C:\<IAR path>/common/plugins/CodeCoverage/CodeCoverage.dll

以及应该将代码覆盖率信息转储到的文件:

代码语言:javascript
复制
--code_coverage_file C:\<test suite path>/CodeCoverageReport.log

这就是我要调用的实际命令:

代码语言:javascript
复制
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成功启动测试套件,我的测试结果被打印出来,但是没有创建代码覆盖文件。没有错误消息。

我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-04-18 10:40:54

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

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

我刚刚测试了EWARM 7.60.1和6.50.6代码覆盖文件的生成。这两个版本都很好。因此,我希望EWARM 6.60将以同样的方式运行。

背景

--backend之后的所有内容都不是由case评估的,而是由后端驱动程序(在本例中是模拟器armsim2.dll )计算的。代码覆盖率不是由模拟器生成的,而是由一个单独的插件(CodeCoverage.dll)生成的。此插件计算仅对插件可见的--code_coverage_file选项,如果它放在--backend参数之前。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41288514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档