AivUbMemTransport和CcuTransport的UT整改
Co-authored-by: renyumin<renyumin1@huawei.com>
# message auto-generated for no-merge-commit merge:
!1783 merge master into master
AivUbMemTransport和CcuTransport的UT整改
Created-by: renyumin
Commit-by: renyumin
Merged-by: cann-robot
Description: ## 描述
1. UT打断问题:表现为在 CMakeLists.txt 中 coll_comms/api_c_adpt/ut_coll_comm_res_c_adpt.cc 位于 comms/aiv/ut_AivUbMemTransport_API_test.cc 或 comms/ccu/ut_CcuTransport_API_test.cc 下方时会导致 coll_comms/api_c_adpt/ut_coll_comm_res_c_adpt.cc 中的用例执行中出现 ut_AivUbMemTransport_API_test.cc 或 ut_CcuTransport_API_test.cc 的报错。

根因分析:原代码中使用 MOCKER(&Hccl::EnvConfig::Parse).stubs().will(ignoreReturnValue()); 打桩,实际执行了 Parse 行为但行为结果被 ignoreReturnValue() 忽略,main.cc 中 setenv("HCCL_DFS_CONFIG", "connection_fault_detction_time:0", 1); 这样设置会使得在 Parse 内抛出异常,该异常未被捕获而被 ignoreReturnValue() 忽略,后续执行到 coll_comms/api_c_adpt/ut_coll_comm_res_c_adpt.cc 内的 UT 用例时再次执行了 Parse 捕获到异常导致用例失败。
解决方案:不再对 Parse 打桩,使用 setenv("HCCL_DFS_CONFIG", "task_exception:on", 1); 使 Parse 能够正常执行,并在 TearDown 中 unsetenv。
2. 将 UT 用例中重复代码提取封装为 TEST 中的公用函数。
## 关联的Issue
<!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。-->
<!-- 如果这个PR不涉及Issue,可填写"NA"。-->
## 测试
已调整 CMakeLists.txt 中用例的位置,UT_TEST 正常编译并执行成功,即确认不再对其他用例产生影响。
## 文档更新
<!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->
## 类型标签
<!-- [x] 表示选中 -->
- [x] Bug修复
- [ ] 新特性
- [ ] 性能优化
- [ ] 文档更新
- [ ] 其他,请描述:
See merge request: cann/hcomm!1783