Pull Request已成功合入, 合并人@CANN-robot
(感谢 Water8L 的贡献)变更摘要
此 PR 主要在 .pre-commit-config.yaml 中扩展了 pre-commit hooks 配置,新增多个基础代码检查钩子,并针对 tests/api/c_api/ 目录应用了 trailing-whitespace 和 end-of-file-fixer 两个钩子。其余大量文件变更均为这些钩子自动修复的结果:为 300+ 个 C++ 测试文件末尾补充缺失的换行符,以及清理了部分宏定义行尾的空格。
主要改动
- 新增 pre-commit 基础检查仓库: 在
.pre-commit-config.yaml中新增pre-commit/pre-commit-hooks(v4.6.0),添加了trailing-whitespace、end-of-file-fixer、check-yaml、check-added-large-files、check-merge-conflict、detect-private-key、check-json共 7 个钩子 - 针对
tests/api/c_api/的专项检查:trailing-whitespace和end-of-file-fixer通过files选项限定作用于^tests/api/c_api/路径,并排除.md文件 - 文件末尾换行修复:
tests/api/c_api/下近 300 个测试文件(涵盖npu_arch_2201/和npu_arch_3510/目录)末尾均补充了换行符,涉及cache_ctrl、cube_compute、cube_datamove、vector_compute、sync、sys_var、scalar_compute、simd_atomic、vector_datamove等子模块 - 宏定义尾部空白清理: 少量工具头文件(如
test_binary_instr_diff_types.h、test_unary_instr_utils.h、test_copy_l12l0.cpp、test_copy_l12l0b_trans.cpp等)中宏续行符\后的尾部空格被清理


代码审查
审查总结
经过对全部 303 个变更文件的逐一审查,结论如下:
变更性质
本次 PR 包含两类变更:
-
.pre-commit-config.yaml(1 个文件):新增trailing-whitespace、end-of-file-fixer、check-yaml、check-added-large-files、check-merge-conflict、detect-private-key、check-json七个 pre-commit hooks。其中trailing-whitespace和end-of-file-fixer限定作用于tests/api/c_api/目录。 -
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 文件) — 均为补充末尾换行或移除行尾空白的纯格式修复,无问题
⚠️ 已识别出整体风险,但无法提取行内评论,请参考整体评估。


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
/approveor/lgtm- Commenting
/approveimplies 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. 👍


/lgtm
/approve


描述
在.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
测试
文档更新
类型标签