gpt4 book ai didi

linux - BULLSEYE:没有涵盖 linux 中的共享库

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:14 24 4
gpt4 key购买 nike

尝试使用 bullseye 进行代码覆盖,以下是要求 -

要求 -项目在 linux 中 -1. 在主机系统中编译项目——生成多个共享库 说 abc.so def.so 和 xyz.so

  1. 编译测试应用程序以验证这些生成的库(测试套件是一个单独的图像)
  2. 复制所有共享库并在不同的目标设备上测试应用。
  3. 现在在目标设备上执行测试应用程序以验证不同共享库的功能

现在的要求是检查这个“测试应用程序”提供了多少覆盖率。

到目前为止已经尝试了什么-

  1. 在 Linux 主机上安装 Bullseye(用于编译项目)1.a.设置我的环境 PATH =/BullseyecoveragePath/bin @路径的开始
  2. 项目编译make文件修改为使用Bullseye包自带的编译器,也使用 covc

CC =/BullseyecoveragePath/bin/covc/BullseyecoveragePath/bin/gcc-4.6CXX =/BullseyecoveragePath/bin/covc/BullseyecoveragePath/bin/g++-4.6

  1. export COVFILE=/data/test.cov
  2. export COVDIR=/Project/src/base
  3. cov01 --on

  4. 项目编译成功(编译时显示bullseye banner)*在较小的 libcov32.a 库调整之后

  5. 编译完成后也会生成test.cov

问题-

  1. 尝试在设备上复制已编译的库 abc.so def.so 和 xyz.so 以及“测试应用程序”1.a.复制 test.cov --> 目标机器的/data1.b.导出 COVFILE=/data/test.cov
  2. 运行“测试应用程序” --> 成功执行
  3. 将 test.cov 复制回主机以查看覆盖率。 ???但是 test.cov 文件没有变化???

有人可以帮助我缺少什么或需要在这里额外做些什么才能让它工作 -

  1. 共享图书馆
  2. 在两个不同的系统之间(在一个系统上编译并在第二个系统上运行)

谢谢

最佳答案

在我看来,您正在执行正确的步骤,这是生成覆盖率报告所必需的,根据 bullseye documentation - 使用共享库在此过程中没有太大区别。

文档中提到了一些可以检查的有趣内容,例如:

The coverage file size does not increase due to run-time activity.

所以也许看起来 covfile 大小相同,但它实际上包含覆盖率信息?您可以尝试使用 CoverageBrowser 程序查看它。

关于linux - BULLSEYE:没有涵盖 linux 中的共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23518847/

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