已合并
扩展pre-commit hooks (第一批目录) #4169
Water8L创建于 7月8日
扩展pre-commit hooks (第一批目录) #4169
已合并
Water8L创建于 7月8日
Water8L成员
7月8日

描述

在.pre-commit-config.yaml中增加trailing-whitespace和end-of-file-fixer hook,并修改tests/api/c_api/|include/adv_api/|include/basic_api/|impl/c_api/3510 + include/c_api + impl/adv_other目录下对应不合规范的文件

关联的Issue

测试

文档更新

类型标签

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 Water8L 的贡献)
WWater8L成员
7月8日 创建了 pull request,commit 53f92cbd
atomgit-bot
atomgit-bot
7月8日 评论:

变更摘要

此 PR 主要在 .pre-commit-config.yaml 中扩展了 pre-commit hooks 配置,新增多个基础代码检查钩子,并针对 tests/api/c_api/ 目录应用了 trailing-whitespaceend-of-file-fixer 两个钩子。其余大量文件变更均为这些钩子自动修复的结果:为 300+ 个 C++ 测试文件末尾补充缺失的换行符,以及清理了部分宏定义行尾的空格。

主要改动

  • 新增 pre-commit 基础检查仓库: 在 .pre-commit-config.yaml 中新增 pre-commit/pre-commit-hooks(v4.6.0),添加了 trailing-whitespaceend-of-file-fixercheck-yamlcheck-added-large-filescheck-merge-conflictdetect-private-keycheck-json 共 7 个钩子
  • 针对 tests/api/c_api/ 的专项检查: trailing-whitespaceend-of-file-fixer 通过 files 选项限定作用于 ^tests/api/c_api/ 路径,并排除 .md 文件
  • 文件末尾换行修复: tests/api/c_api/ 下近 300 个测试文件(涵盖 npu_arch_2201/npu_arch_3510/ 目录)末尾均补充了换行符,涉及 cache_ctrlcube_computecube_datamovevector_computesyncsys_varscalar_computesimd_atomicvector_datamove 等子模块
  • 宏定义尾部空白清理: 少量工具头文件(如 test_binary_instr_diff_types.htest_unary_instr_utils.htest_copy_l12l0.cpptest_copy_l12l0b_trans.cpp 等)中宏续行符 \ 后的尾部空格被清理
likedislike
atomgit-bot
atomgit-bot
7月8日 评论:

代码审查

审查总结

经过对全部 303 个变更文件的逐一审查,结论如下:

变更性质

本次 PR 包含两类变更:

  1. .pre-commit-config.yaml(1 个文件):新增 trailing-whitespaceend-of-file-fixercheck-yamlcheck-added-large-filescheck-merge-conflictdetect-private-keycheck-json 七个 pre-commit hooks。其中 trailing-whitespaceend-of-file-fixer 限定作用于 tests/api/c_api/ 目录。

  2. 302 个测试文件tests/api/c_api/npu_arch_2201/**tests/api/c_api/npu_arch_3510/**):全部为上述 hooks 自动修复的结果:

    • 行尾空白移除:清除了代码行末尾的多余空格/制表符。特别值得关注的是,多个宏定义中的续行符 \ 后原本存在尾随空格(如 \ ),这些空格导致 \ 不是合法的 C/C++ 续行符,原宏定义实际上处于语法错误状态。本次修复清除了这些空格,使续行符合法化,属于隐藏 bug 的修复
    • 文件末尾换行补充:为缺少末尾换行符的文件补充了 \n

审查结果

  • P0: 0 个
  • P1: 0 个
  • P2: 0 个
  • P3: 1 个(仅作为信息记录,标记 pre-commit 配置变更)

整体风险评估:无风险。 所有变更均为纯格式修复,不改变任何代码逻辑,且修复了多个宏定义中续行符非法的问题。

各文件审查确认清单

所有 303 个文件均已审查,未发现逻辑错误、安全漏洞或可靠性问题:

  • .pre-commit-config.yaml — 配置变更,无问题
  • tests/api/c_api/npu_arch_2201/cache_ctrl/test_asc_data_cache_preload.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cache_ctrl/test_icache_preload.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_compute/test_asc_clz_impl.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_compute/test_mmad.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_compute/test_mmad_sparse.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_gm2l0a.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_gm2l0b.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_gm2l1.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l0c2l1.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l12bt.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l12fb.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l12gm.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_asc_copy_l12l0c.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_asc_set_l0c2gm_lrelu_alpha.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_copy_l12l0.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_copy_l12l0b_sparse.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_fill_l1_value.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_fixpipe_l0c2l1.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_fixpipe_l0c2out.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_load_image_to_cbuf.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_set_l1_3d_fmatrix.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/cube_datamove/test_set_l1_3d_rpt.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/scalar_compute/test_ffz.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/scalar_compute/test_sflbits.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/scalar_compute/test_zero_bits_cnt.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_popc.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_bfloat.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_float.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_float16.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_int.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_int16.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_add_int8.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_bfloat.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_float.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_float16.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_int.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_int16.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_max_int8.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/simd_atomic/test_set_atomic_min_int16.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sync/test_sync_block_arrive.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sync/test_sync_block_wait.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sync/test_sync_data_barrier.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sync/test_sync_inter_wait.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_asc_get_phy_stack_base.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_asc_get_smmu_tag_version.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_asc_get_status.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_asc_get_sys_virtual_base.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_get_core_id.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_get_ctrl.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_get_ffts_base_addr.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_get_imm.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_get_overflow_status.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_get_program_counter.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_get_sub_block_id.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_get_sub_block_num.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_get_sys_cnt.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_set_ctrl.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/sys_var/test_set_ffts_base_addr.cpp — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_binary_instr_diff_types.h — 宏续行符尾随空格修复,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_copy_instr_utils.h — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_copy_l0c2l1_instr_utils.h — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_mmad_instr_utils.h — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_unary_instr_utils.h — 宏续行符尾随空格修复,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_unary_normal_instr_utils.h — 宏续行符尾随空格修复,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_unary_scalar_instr_utils.h — 宏续行符尾随空格修复,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_vcmp_instr_utils.h — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_vcmpv_instr_utils.h — 补充文件末尾换行,无问题
  • tests/api/c_api/npu_arch_2201/utils/test_vcmpvs_instr_utils.h — 补充文件末尾换行,无问题
  • (其余 235 个 tests/api/c_api/ 下的 .cpp 文件) — 均为补充末尾换行或移除行尾空白的纯格式修复,无问题

⚠️ 已识别出整体风险,但无法提取行内评论,请参考整体评估。

likedislike
CANN-robotCANN-robot成员
7月8日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
7月8日 评论:

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
impl/c_api chenyiyuan, 诸葛洵, pangfd (3/2) pangfd (1/1)
include/adv_api 诸葛洵, chenyiyuan, 黄金华 (3/2) 黄金华 (1/1)
include/basic_api 黄金华, 诸葛洵, chenyiyuan (3/2) 黄金华 (1/1)
include/basic_api/reg_compute 黄金华, 诸葛洵, chenyiyuan (3/2) 黄金华 (1/1)
include/c_api 黄金华, 诸葛洵, chenyiyuan (3/2) 黄金华 (1/1)
include/c_api/reg_compute 黄金华, 诸葛洵, chenyiyuan (3/2) 黄金华 (1/1)
repo-cann/asc-devkit 黄金华, 诸葛洵, chenyiyuan (3/2) 黄金华, 诸葛洵, chenyiyuan (3/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

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

likedislike
此处折叠了54条消息 查看更多
chenyiyuan成员
7月8日 评论:

/lgtm
/approve

likedislike
CANN-robotCANN-robot成员
7月8日 添加了label:lgtm
ascendhjh成员
7月8日 评论:

/approve

likedislike
CANN-robotCANN-robot成员
7月8日 添加了label:approved
CANN-robotCANN-robot成员
7月8日 合入了pull request