已合并
消除platform manager相对路径 #736
handong12138创建于 3月10日
消除platform manager相对路径 #736
已合并
handong12138创建于 3月10日
handong12138
3月10日

描述

消除platform manager路径中的上级路径“../”,并优化冗余代码

关联的Issue

测试

文档更新

类型标签

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 handong12138 的贡献)
Hhandong12138
3月10日 创建了 pull request,commit 09e0ae10
CANN-robot
CANN-robot成员
3月10日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here
You can get sig-info at here


PR Approval Progress

Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
pkg_inc/platform jason_yuan_ye, arthur_morgan_hw (2/2) jason_yuan_ye (1/1)
src/platform jason_yuan_ye, arthur_morgan_hw (2/2) jason_yuan_ye (1/1)
tests/ut/platform jason_yuan_ye, arthur_morgan_hw (2/2) jason_yuan_ye (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)
likedislike
CANN-robotCANN-robot成员
3月10日 将wangtao43,zhangpengpeng8,yanmingxiang,Reyn52166,gcw_9B2nSsjo,shikai-1,derekxu,tingwood设为评审人
CANN-robotCANN-robot成员
3月10日 将gcw_9B2nSsjo,shikai-1设为审查人
CANN-robotCANN-robot成员
3月10日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
3月10日 评论:

CLA Signature Pass

hd920483084, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
handong12138
3月10日 评论:

compile

likedislike
CANN-robotCANN-robot成员
3月10日 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
3月10日 评论:

流水线任务触发成功
任务链接 [e2603e7e9ceb4120ad690fe18648df6b][流水线指导]

任务名称状态日志下载链接
codecheck ✅ SUCCESS >>>>>
SCA ✅ SUCCESS >>>>>
anti_virus ✅ SUCCESS >>>>>
Check_Pr ✅ SUCCESS >>>>>
Compile_Ascend_X86 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM ✅ SUCCESS >>>>> >>>>>
pre_comment ✅ SUCCESS >>>>>
Compile_Ascend_X86_ubuntu24 ✅ SUCCESS >>>>>
UT_Test_acl ✅ SUCCESS >>>>>
UT_Test_rts ✅ SUCCESS >>>>>
UT_Test_rts_c ✅ SUCCESS >>>>>
UT_Test_platform ✅ SUCCESS >>>>>
UT_Test_qs ✅ SUCCESS >>>>>
UT_Test_aicpusd ✅ SUCCESS >>>>>
UT_Test_tsd ✅ SUCCESS >>>>>
UT_Test_dfx ✅ SUCCESS >>>>>
API_Check ⚠️ WARNING >>>>>
UT_Test_mmpa ✅ SUCCESS >>>>>

[2026-03-10 12:01:03]    CI执行结束

likedislike
CANN-robotCANN-robot成员
3月10日 添加了label:api-check-failed
CANN-robotCANN-robot成员
3月10日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
3月10日 添加了label:ci-pipeline-passed
zhangjie
zhangjie成员
3月10日 评论:

🤖 CANN 代码审查报告

PR: #736 - 消除platform manager相对路径
严重性: ✅ Low
审查时间: 2026-03-10 12:08


📊 审查结论

✅ 建议合入

  • 严重性: Low
  • 代码质量: 优秀
  • 内存安全: ✅ 无风险
  • 安全性: ✅ 无漏洞
  • 测试覆盖: 部分
  • 文档完整性: NA

这是一个良好的代码重构 PR,消除了相对路径并提取了通用工具函数。


📋 修改概述

  • 修改文件: 7个 (+67行, -117行)
  • 核心变更:
    1. 路径优化: 将相对路径 ../data/platform_config 改为 data/platform_config
    2. 代码提取: 将 RealPathGetSoFilePathGetConfigFilePath 提取为通用模板函数
    3. 消除重复: 从 PlatformInfoManager 和 PlatformManagerV2 移除重复代码(约 100 行)

🔍 代码质量检查

1. 内存安全 ✅

  • 内存泄漏: 无风险 - 纯字符串操作
  • 指针操作: 安全 - 使用标准库函数
  • 动态分配: 不涉及

2. 安全性 ✅

  • 路径遍历: ✅ 使用 realpath() 防止路径遍历
  • 边界检查: ✅ 检查 PATH_MAX 限制
  • 空值检查: ✅ 空路径检查完善

3. 可读性 ✅

  • 代码清晰度: 优秀 - 提取后代码更简洁
  • 命名规范: 符合 - 模板函数命名清晰
  • 注释完整性: NA

4. 逻辑正确性 ✅

  • 算法逻辑: 正确 - 路径处理逻辑不变
  • 边界条件: 处理完整
  • 影响范围: 明确 - 仅影响配置文件加载

💡 改进建议

  1. UT 覆盖: 建议补充 GetConfigFilePath 模板函数的测试用例
  2. 路径变更说明: 建议在 PR 描述中说明为何移除 ../ 前缀

✅ 代码亮点

  • ✅ 消除了约 100 行重复代码(DRY 原则)
  • ✅ 使用模板函数提高代码复用性
  • ✅ 修复了潜在的路径遍历问题(使用 realpath)
  • ✅ 添加了边界测试用例

总体评价:这是一个高质量的代码重构 PR,消除了重复代码,提高了代码可维护性。路径处理安全性良好,可以合入。

likedislike
lipeijie
lipeijie成员
3月10日 评论:

/lgtm

likedislike
zhangjie
zhangjie成员
3月11日 评论:

🤖 CANN 代码审查报告

PR: #736 - 消除platform manager相对路径
严重性: ⚠️ Medium
审查时间: 2026-03-11 01:08


📊 审查结论

⚠️ 建议修改后合入

  • 严重性: Medium
  • 代码质量: 优秀
  • 内存安全: ✅ 无风险
  • 安全性: ✅ 无漏洞
  • 测试覆盖: ⚠️ API 检查失败
  • 文档完整性: 部分

优秀的代码重构,消除了相对路径并统一了路径解析逻辑。但 API 检查失败需关注。


📋 修改概述

消除 platform manager 路径中的上级路径 "../",将公共代码提取到模板函数中。

  • 修改文件: 7 个
  • 代码变更: +81 行, -117 行(净减少 36 行)
  • 核心变更:
    • 移除 ../data/platform_config 相对路径,改为 data/platform_config
    • 新增模板函数 GetConfigFilePath<T>()GetSoFilePath<T>()
    • 统一 PlatformInfoManagerPlatformManagerV2 的路径解析逻辑
    • 新增 UT 测试用例

🔍 代码质量检查

1. 内存安全 ✅

  • 内存泄漏: 无风险
  • 指针操作: 无变更
  • 动态分配: 无变更

2. 安全性 ✅

  • 输入验证: 路径解析有边界检查
  • 边界检查: PATH_MAX 检查
  • 潜在漏洞: 无

3. 可读性 ✅

  • 代码清晰度: 优秀,模板抽象合理
  • 命名规范: 符合
  • 注释完整性: 良好

4. 逻辑正确性 ⚠️

  • CI 状态: ✅ 通过(ci-pipeline-passed)
  • API 检查: ❌ 失败(api-check-failed)

💡 改进建议

  1. API 检查失败: 请确认 API 变更是否为预期(可能是公开接口变更)

  2. 路径解析逻辑: 新逻辑从当前 SO 文件路径向上两级再拼接配置路径,需确认:

    • 安装目录结构是否符合预期
    • 是否有兼容性问题
  3. 测试用例: 新增的 UT 测试用例只覆盖了空路径和无效路径,建议补充正常路径测试


✅ 代码亮点

  • 优秀的重构,消除重复代码(减少 36 行)
  • 使用模板函数统一路径解析,类型安全
  • 移除了相对路径,提升可移植性
  • 路径解析逻辑更加清晰

⚠️ 合入前确认


此报告由 CANN 自动审查系统生成

likedislike
袁野
袁野成员
3月11日 评论:

/approve

likedislike
CANN-robotCANN-robot成员
3月11日 添加了label:lgtmapproved
CANN-robot
CANN-robot成员
3月11日 评论:

Review Guide

This pull-request passes review.
Committers who wrote a comment of /approve are: jason_yuan_ye.
Reviewers who wrote a comment of /lgtm are: jason_yuan_ye, arthur_morgan_hw.

likedislike
CANN-robotCANN-robot成员
3月11日 合入了pull request