已关闭
[Bug-Report|缺陷反馈]: UT用例 OpInfoRecordUtest.Utest_OpInfoSerialize 依赖真实dump库落盘导致CI不稳定失败 #314
yuyuanfeng创建于 8月15日关闭于 28 天前
8月15日 修改了issue 的描述
songkai111
8月15日 评论:
8月15日 评论:
已指定相关commiter进行修复。


8月15日 将 pengjiahao96 设为负责人
28 天前 关闭了 issue
28 天前 添加了label:resolved
Describe the current behavior / 问题描述 (Mandatory / 必填)
CI 全量 UT 执行
nnopbase_utest时,OpInfoRecordUtest.Utest_OpInfoSerialize用例失败。失败点位于tests/nnopbase/ut/individual_op/op_info_record_utest.cpp:88的EXPECT_EQ(aclnnOpInfoRecord::OpInfoDump(), 0),OpInfoDump()返回 -1。直接原因:
src/nnopbase/common/op_info_record/op_info_serialize.cpp的DumpJsonToFile调用 dump 库Adx::AdumpSaveToFile(来自libascend_dump.so)写 json 文件失败,日志报DumpJsonToFile dump node[Axpy] json file failed!。Environment / 环境信息 (Mandatory / 必填)
build.sh中ENABLE_UT=on EXEC_TEST=on,执行cd build/tests/nnopbase/ut/ && ./nnopbase_utestSteps to reproduce the issue / 重现步骤 (Mandatory / 必填)
ENABLE_UT=on);build/tests/nnopbase/ut/目录,执行./nnopbase_utest --gtest_filter='OpInfoRecordUtest.Utest_OpInfoSerialize';AdumpSaveToFile返回非 0,OpInfoDump()返回 -1,用例断言失败。Describe the expected behavior / 预期结果 (Mandatory / 必填)
UT 用例不应依赖真实 dump 库的落盘能力,dump 相关函数在 UT 中应统一 stub,使用例与运行环境(dump 目录是否可写)解耦,稳定通过。
Related log / screenshot / 日志 / 截图 (Mandatory / 必填)
Special notes for this issue/备注 (Optional / 选填)
初步分析(非定论,供参考):
tests/nnopbase/common/depends/adump/adump_stub.cpp中已存在AdumpSaveToFile的 stub(直接return 0),但未加入tests/nnopbase/ut/CMakeLists.txt的NNOPBASE_TEST_COMMON_SRC_FILES,导致 UT 链接的是真实libascend_dump.so的AdumpSaveToFile,落盘失败即 flaky。具体原因以负责方定位为准。