Closed
[test] 6 个 op_api UT 文件存在 17 处被注释的有效断言(EXPECT_EQ),疑似注释掩盖失败,建议逐个核实恢复 #4199
eieieiAdd on 12 days agoClosed at 11 days ago
陈思
12 days ago Comments:
12 days ago Comments:
您好,感谢反馈!
问题分析
核对 cann/ops-math 固定版本 8c1f633e3679,六个文件中列出的 17 处返回码断言确实被注释,所在 TEST_F 测试体和 TestGetWorkspaceSize 调用仍保留。这些位置缺少对 aclRet 的显式预期比较,存在返回码回归的检测缺口;现有材料尚不能确定注释原因,也不能据此判断存在有意掩盖失败的行为。
需要分别看待几类场景:
cumsum的两处是ascend910B2_命名的 CUBE 用例,第三处是 BF16 用例中的ASCEND910B条件分支,其他平台分支仍有参数错误断言。恢复时需确认测试实际采用的 SOC 及对应返回值。logical_or的四处涉及 NDHWC/NHWC、输入类型和输出转换组合,同文件其他用例仍有有效断言。另一个整体被注释的空指针用例不属于这 17 处。- circular pad 的二维、三维正向各有两处,反向的二维、三维各有三处,覆盖普通输入、dtype 循环和空张量。其中 3d backward 空例原注释期望为
ACLNN_ERR_PARAM_INVALID,其他位置多为成功,不能统一改成同一个返回值。循环内的一处断言覆盖多个 dtype,17 是源码位置数。
处理方向
按文件分批核验并恢复有效断言是合理方向。可先逐例对照目标平台的接口契约和实际返回值,再恢复正确的成功或错误码断言;若原期望已过时,需要区分测试预期与实现行为哪一侧应调整,避免直接把当前返回值当作正确答案。
确实受已知缺陷或环境条件阻塞的用例,可以考虑按最小范围显式记录跳过原因、适用平台及关联任务,让覆盖缺口可追踪。分平台组织用例或明确平台条件,也有助于避免恢复后误报;返回码断言与精度验证需分别评估。
当前已完成六文件源码核查,尚未运行目标 UT。我们会继续确认各场景的预期与平台条件,跟踪断言覆盖的恢复方向。


12 days ago Assign chensi79 as responsible person
12 days ago Added label: pending-confirmation
陈思
12 days ago Comments:
12 days ago Comments:
您好,为了方便跟踪处理进展,我们将会把该issue按照不同算子做拆分,分别指派给对应责任人处理


12 days ago Removed label: pending-confirmation
陈思
11 days ago Comments:
11 days ago Comments:
您好,该问题已按算子责任人拆分为以下 3 个 Issue,覆盖原反馈的全部 17 处返回码断言:
- #4289:Cumsum、CircularPadGrad,共 9 处,已指派给 @xukaiwei。
- #4290:LogicalOr,共 4 处,已指派给 @sun-yibo1。
- #4291:CircularPad,共 4 处,已指派给 @yue-ma。
各子 Issue 均保留了原问题链接、相关源码位置和逐例核验要求,后续将在对应子 Issue 中跟踪接口预期、平台条件及断言恢复的验证结果。本 Issue 保留作为汇总跟踪入口;当前已完成拆分和责任人指派,本单issue将关闭,若有其他问题欢迎持续关注。


11 days ago changed custom state from 进行中 to 已完成
11 days ago Close issue
11 days ago Associated pull request
7 days ago Added label: resolved
4 days ago Associated pull request
现象
扫描发现以下 op_api UT 中,处于存活测试体内部的
EXPECT_EQ(aclRet, ...)被整行注释掉,而同文件其它用例的同类断言是激活状态(如test_aclnn_logical_or.cpp内有 20 处激活的EXPECT_EQ(aclRet, ACL_SUCCESS))。典型形态:aclnnStatus aclRet = ut.TestGetWorkspaceSize(&workspaceSize); // EXPECT_EQ(aclRet, ACL_SUCCESS); <-- 断言被注释,变量 aclRet 仍在作用域这些用例从此变成"只调用不校验",任何回归都不会被发现——正是"golden/实现漂移被注释掩盖"的形态(参考 ops-nn !12908 / #7171 的教训:盲目恢复会暴露漂移导致 UT 挂,需逐个在 CI 核实)。
明细(master 现状,文件相对仓根)
math/cumsum/tests/ut/op_api/test_aclnn_cumsum.cppascend910B2_前缀 CUBE 用例,注释疑与 SOC 环境相关math/logical_or/tests/ut/op_api/test_aclnn_logical_or.cppconversion/circular_pad/tests/ut/op_api/test_aclnn_circular_pad2d.cppconversion/circular_pad/tests/ut/op_api/test_aclnn_circular_pad3d.cppconversion/circular_pad_grad/tests/ut/op_api/test_aclnn_circular_pad2d_backward.cppconversion/circular_pad_grad/tests/ut/op_api/test_aclnn_circular_pad3d_backward.cpp建议
若维护者确认恢复方向,我可以按文件粒度提交恢复 PR(先从小文件开始、逐个验证)。