account组件单元测试执行报错问题分析
更新时间: 2026/05/28
在Gitcode上查看源码

问题背景

- 单板类型:NA;
- 软件版本:bingo版本:0.5.317;
- 涉及功能:组件单元测试;
- 触发条件:以account为例子,测试bingo的组件单元测试功能时错误。
- 业务表现:预期组件测试成功;实际测试bingo的组件单元测试功能时错误。

问题链接

社区论坛

问题复现步骤

在account组件下执行单元测试命令:

bingo test -ut -r openubmc_dev

关键日志信息

查看日志,确认报错如下:

定位过程

  1. 依赖mdb_interface/1.70.101@hw.ibmc.release/rc,远端没二进制,需要源码构建,虽然拉得到代码,但是没有aa252c7f4bee3b977acaf63dc6d50d8073738db8这个提交
  2. 去组件仓搜索,确认没有此提交:
  3. 查看组件历史tag,发现mdb_interface没有1.70.101这个tag:
  4. 查看service.json的test依赖,发现account并没有严格限制1.70.101这个版本:

总结如下

  • account 的单元测试依赖mdb_interface/1.70.101@hw.ibmc.release/rc,但是仓库已经没有对应提交号来参与源码构建,导致单元测试执行失败。
  • account并没有严格限制mdb_interface的1.70.101这个版本。

问题原因

0.5.317 版本的bingo会去找user为hw.ibmc.release的最新mdb_interface 版本,目前最新的版本就是1.70.101,但是这个版本没法源码构建,导致种种操作失败。

解决方案

主动推一个有源码的并且离1.70.101最近的并且将user设置为hw.ibmc.release的mdb_interface 到远端就行了,这样bingo就会找更新版本的mdb_interface。以1.70.102版本为例。

1.70.102 对应的提交号是:4115a0b213a439247d3bf00d99455b2078b54341 在mdb_interface仓库目录执行:

text
git switch -c 1.70.102 4115a0b213a439247d3bf00d99455b2078b54341

先清本地的1.70.101缓存,确保构建环境对conan远端仓有读写权限, 然后一口气发:

text
bingo build -r <你的远端> -bt release --upload --stage rc --user=hw.ibmc.release
bingo build -r <你的远端> -bt release --upload --stage stable --user=hw.ibmc.release
bingo build -r <你的远端> -bt debug --upload --stage rc --user=hw.ibmc.release
bingo build -r <你的远端> -bt debug --upload --stage stable --user=hw.ibmc.release