【发布时间】:2014-05-07 13:13:13
【问题描述】:
尝试使用靶心进行代码覆盖,以下是要求 -
要求 - 项目在 linux - 1. 在宿主系统中编译项目——生成多个共享库 说 abc.so def.so 和 xyz.so
- 编译测试应用程序以验证这些生成的库(测试套件是一个单独的图像)
- 复制所有共享库并在不同的目标设备上测试应用程序。
- 现在在目标设备上执行测试应用程序来验证不同共享库的功能
现在的要求是检查这个“测试应用程序”提供了多少覆盖率。
到目前为止已经尝试过什么 -
- 在 linux 主机上安装 Bullseye(用于编译项目) 1.a.设置我的环境 PATH = /BullseyecoveragePath/bin @ 路径开始
- 项目编译make文件修改为使用Bullseye包自带的编译器, 也使用 covc
CC = /BullseyecoveragePath/bin/covc /BullseyecoveragePath/bin/gcc-4.6 CXX = /BullseyecoveragePath/bin/covc /BullseyecoveragePath/bin/g++-4.6
- 导出 COVFILE=/data/test.cov
- 导出 COVDIR=/Project/src/base
cov01 --on
项目编译成功(编译时显示靶心横幅) *经过轻微的 libcov32.a 库调整
编译完成后也会生成test.cov
问题-
- 尝试在设备上复制已编译的库 abc.so def.so 和 xyz.so 以及“测试应用程序” 1.a.复制 test.cov --> 目标机器的 /data 1.b。导出 COVFILE=/data/test.cov
- 运行“测试应用程序”-->成功执行
- 将 test.cov 复制回主机以查看覆盖率。 ???但是 test.cov 文件没有变化???
有人可以帮助我在这里缺少什么或需要额外完成的工作以使其适用 -
- 共享图书馆
- 在两个不同的系统之间(在一个系统上编译并在第二个系统上运行)
谢谢
【问题讨论】:
-
我看到 Bullseye 无法访问 xlib 的一些奇怪问题。
标签: linux shared-libraries code-coverage bullseye