问题背景
以account为例子,测试bingo的组件单元测试功能时错误
account版本为main分支最新提交:6ff89df3a997c8d2f75e85aba0fd139d40813af9(6月4日)
问题现象
在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这个版本
分析总结
1、account 的单元测试依赖mdb_interface/1.70.101@hw.ibmc.release/rc,但是仓库已经没有对应提交号来参与源码构建,导致单元测试执行失败
2、account并没有严格限制mdb_interface的1.70.101这个版本
诉求
1、如何修改才能让account的单元测试正常进行
2、怎么追溯非组件自身的conan依赖,比如在这个例子中,如何才能知道具体是哪个组件依赖mdb_interface/1.70.101@hw.ibmc.release/rc
已经使用conan remove "*" -f
清理本地所有缓存,但还是会自动去找mdb_interface/1.70.101
版本
Larry_Li
(LiJiang)
4
- mdb_interface经过一次git仓库切换,git历史被清理了,mdb_interface/1.70.101@hw.ibmc.release/rc 里包含的commitid也不存在了。 如果是在本地conan仓库,可以删除这个版本的conan包
- 社区版本的user/channel是以 openUBMC.release/rc 结尾的。 请安装社区的bingo,执行测试时依赖到openUBMC.release/rc结尾的mdb_interface
git clone https://gitcode.com/openUBMC/bingo.git
cd bingo
sh install_local.sh
这太迷惑了,构建和UT测试用不同的环境(工具)。
且问题源头又追到了历史commit被清的事情上了。
是否可以通过改bingo来解决?我看与1.70.101最近的有openUBMC版本的是1.70.102:
Larry_Li
(LiJiang)
6
方案一: 使用社区版本bingo用于组件开发,社区版本bingo可以用来构建和UT测试。
方案二、方案三有问题。

1.70.101就没有openUBMC.release/rc的这个版本
我按方案二、方案三去做,也还是去找mdb_interface/1.70.101@hw.ibmc.release/rc
了
Larry_Li
(LiJiang)
8
方案二、三确认有误,已删除。
这个openUBMC_dev 是你们自己搭建的conan仓库么, 官方的conan仓库里有更新版本的。
该问题会反馈给开发团队进行解决。
目前执行UT、IT测试请暂时使用社区版bingo。
WH11003
(恒扬-胡田野)
9
环境
bingo版本:0.5.317
现象
bingo build --user openUBMC.release可以在生成openUBMC.release包

bingo test -it --user openUBMC.release还是使用了hw.ibmc.release
Larry_Li
(LiJiang)
11
目前执行UT或IT请安装社区的bingo,安装方法
git clone https://gitcode.com/openUBMC/bingo.git
cd bingo
sh install_local.sh
我找到一个好办法,并且可行!
思路
.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为例)
实践
1.70.102 对应的提交号是:4115a0b213a439247d3bf00d99455b2078b54341
在mdb_interface仓库目录执行:
git switch -c 1.70.102 4115a0b213a439247d3bf00d99455b2078b54341
确保构建环境对conan远端仓有读写权限
然后一口气发:
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
记得清本地的1.70.101缓存
小结
这个方法可以解决伙伴.317 bingo 对 mdb_interface/1.70.101的依赖问题。
1 个赞