openeuler-riscv / oerv-team

OERV 实习生工作中心
11 stars 43 forks source link

[mugen_LLVM_2409]处理mugen测试套 tpm-tools 失败的测试用例 #1302

Open jiewu9823 opened 2 months ago

jiewu9823 commented 2 months ago

需求:

  1. LLVM24.09_mugen失败测试用例清单 中找到测试套 tpm-tools 失败的测试用例
  2. openEuler LLVM 平行宇宙 24.09 版本的镜像上 double check mugen 中 tpm-tools 测试套里的测试用例
  3. 定位失败的原因,并做出相应的处理: 如果确认是 riscv 架构的问题,向 openeuler/RISC-V 里提交 issue,issue的标题以 [LLVM平行宇宙24.09] 开头 如果是 mugen 测试用例的问题,修复测试用例后,向 mugen 上游提交 PR,提交 PR 时要贴上在 riscv 和 x86(24.03 LTS版本) 两个架构的上测试结果

要求:

  1. 该项任务要求产出:

    • 在openEuler LLVM平行宇宙 24.09 版本镜像上 double check 的结果,即完成需求2(必选,限制1天内完成)
    • 定位失败的原因,并做出相应的处理,即完成需求3(可选,对应薪资折半,限制2天内完成),如果无法完成,请在本 issue 的评论里说明情况,未完成的任务将重新设置为issue挂出。如果完成了该项任务,请在本 issue 评论里说明完成的情况
  2. 完成该项任务后,请在 LLVM24.09_mugen失败测试用例清单 里找到相应测试套和测试用例栏位,并填写Owner(填写中文名),Github ID,复测结果,Failure Reason,Issue/PR URL(填写提交issue或者PR的url) 。

说明:

  1. mugen 源码以及使用方法:https://gitee.com/openeuler/mugen
FeiFei0827 commented 6 days ago

tpm-tools

共 1个测例

测试结果速览

image-20241030152302233

环境

riscv

Fedora Linux 40 -----> qemu openEuler riscv 24.09 riscv镜像地址:https://repo.tarsier-infra.isrc.ac.cn/openEuler-RISC-V/testing/20240826/v0.1/QEMU/ qemu版本:8.2.0 (qemu版本差异也可能导致问题)


测试细节

oe_test_tpm-tools_01

./mugen.sh -f tpm-tools -r oe_test_tpm-tools_01 -x

image

x86 和 riscv 均失败 原因是因为

common_tpm-tools.sh 中

wget https://github.com/PeterHuewe/tpm-emulator/archive/v0.7.5.zip

发现了原因在于 测例中需要拉取的 tpm-emulator 这个仓库 不提供高版本内核支持 查看了 https://github.com/PeterHuewe/tpm-emulator/issues/24 以及相关的 issue 和 pr ,并自己验证了下 验证过程 ,首先 riscv上测试遇到了编译错误 和 https://github.com/PeterHuewe/tpm-emulator/issues/56 的原因一致 首先试了把gcc切换为和编译内核相同的版本 不行 参考 issue 的解决方案 不行 参考 google 不行

考虑切换发行版 openeuler 24.03 x86 riscv一样的问题 openeuler 22.03 一样的问题 openeuler 20.03 一样的问题 切换 其他发行版 Ubuntu 22.04 不行

考虑到可能是内核版本问题 使用了内核版本为 3.10.0-1160 的 centos7 编译成功

tpmd命令正常运行 image 观察到 https://github.com/PeterHuewe/tpm-emulator 仓库很久没更新,pr也无人处理

考虑如何处理测例 可以考虑使用 tpm2 但不知道兼容性如何

结论:是测例的问题

issue : https://gitee.com/openeuler/mugen/issues/IB0TO6

jiewu9823 commented 5 days ago

既然有想法,可以去尝试一下tpm2,如果验证可以,就可以更新测试用例并提交pr