account组件单元测试执行报错问题分析
更新时间: 2026/05/28
在Gitcode上查看源码问题背景
- 单板类型:NA;
- 软件版本:bingo版本:0.5.317;
- 涉及功能:组件单元测试;
- 触发条件:以account为例子,测试bingo的组件单元测试功能时错误。
- 业务表现:预期组件测试成功;实际测试bingo的组件单元测试功能时错误。
问题链接
问题复现步骤
在account组件下执行单元测试命令:
bingo test -ut -r openubmc_dev
关键日志信息
查看日志,确认报错如下:
定位过程
- 依赖mdb_interface/1.70.101@hw.ibmc.release/rc,远端没二进制,需要源码构建,虽然拉得到代码,但是没有aa252c7f4bee3b977acaf63dc6d50d8073738db8这个提交
- 去组件仓搜索,确认没有此提交:
- 查看组件历史tag,发现mdb_interface没有1.70.101这个tag:
- 查看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