refactor(编号): test/host 与 App/Drivers 注释去测试层级号(73 站点 / 64 文件)
同族第二道:代码注释面。41 个 run_unit_test.py 文件头与引用行、common harness 与两份 README、4 个 *_test.c 文件头、App/** 14 处(含 BOM 文件 App/cfg/cfg_file.c)、 GD5F nand_ftl.c 1 处,共 73 站点 / 64 文件;措辞取「主机侧纯逻辑单元测试运行器 (纯标准库)」避免同行「主机侧」重复。 零行为改动(机器证据,不是口头): - 17 个 .c/.h 剥掉注释后与 HEAD **逐字节相同**; - 42 个 .py 走 ast.dump 比较、仅归一 docstring(真实字符串字面量参与比较,故旗标或 输出文本被动过必然报红)→ 全部相等;behaviour_changed=0。 - py_compile 42/42;抽跑 watchdog 47/47、freq 46/46(动手前先取基线,改后同数); CR 字节 0、EF BF BD 0、BOM 与 HEAD 逐一一致、check_bom_drift rc=0。 刻意未动:6 处字符串字面量(FTP 应答 "215 UNIX Type: L8"、lftpd_test.c SYST 断言、 console_log_test.c 的 "L1\r\n"、phasor_test.c 的 "L2-in ring" 文案与 printf 标题)—— 改了就是改测试输出/行为;UI 设计令牌层 L0(ui_tokens.h、ui_content_page.c)与 test/host/README.md 的算法层号是**另外的族**。 两条 SyntaxWarning(ftp_cfg / net_cfg 文件头 \S 转义)**HEAD 同样存在**,已对 HEAD 副本 复现证明非本次引入,未顺手改。
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""unit_test_harness.py - 主机侧单元测试(L0.5)的通用运行器 harness。
|
||||
"""unit_test_harness.py - 主机侧纯逻辑单测的通用运行器 harness。
|
||||
|
||||
职责(**不认识任何具体模块**):
|
||||
探测本机 MSVC 工具链 -> 拼 INCLUDE/LIB -> 编译测试单元 -> 运行 -> 判定退出码。
|
||||
@@ -10,7 +10,7 @@
|
||||
为什么要 harness(2026-10-01 测试架构评审):
|
||||
看门狗单测的运行器(`test/host/watchdog/run_unit_test.py`,170 行)把工具链
|
||||
探测、`INCLUDE`/`LIB` 拼接、GBK 解码、`/wd4819` 抑制、退出码契约**全部写死在
|
||||
模块目录内**。第二个 L0.5 单测出现时须整段复制——工具链细节一旦修正(新增 VS
|
||||
模块目录内**。第二个主机侧纯逻辑单测出现时须整段复制——工具链细节一旦修正(新增 VS
|
||||
版本、SDK 布局变化、编码处理调整)就会发散。抽到这里后,各模块运行器只剩
|
||||
"声明式"配置。
|
||||
|
||||
@@ -134,7 +134,7 @@ class TestBuild:
|
||||
|
||||
|
||||
# ----------------------------- 产物目录归属(跨工作树并行) -----------------------------
|
||||
# 现象(2026-10-25 三条道并行开发实测):全量 ci_local 的 L0 里 test-cppcheck /
|
||||
# 现象(2026-10-25 三条道并行开发实测):全量 ci_local 的静态门禁里 test-cppcheck /
|
||||
# test-coverage 偶发 "files were modified by this hook",单独重跑即绿、工作树零改动。
|
||||
# 根因是旧写法把 obj/exe 直接落在**全机共用**的 %TEMP%,名字由套件名派生
|
||||
# (%TEMP%\net_socket_tests.exe 与 %TEMP%\net_socket_obj)。多棵工作树并行跑**同名
|
||||
@@ -147,7 +147,7 @@ class TestBuild:
|
||||
#
|
||||
# 口径:**按工作树分家**。产物根 = %TEMP%\dtu_host\<仓库根路径哈希>\,跨树天然不撞,
|
||||
# 同一棵树内仍复用同一份目录(33 套的编译缓存没必要白白重编)。**不用锁**——锁会把
|
||||
# L0.5 变成和 build/bench 一样的全局串行,而这里并没有需要互斥的独占资源,只是名字
|
||||
# 主机侧纯逻辑单测变成和 build/bench 一样的全局串行,而这里并没有需要互斥的独占资源,只是名字
|
||||
# 撞了。显式覆盖:DTU_HOST_BUILD=<目录>(CI/容器要固定路径时用)。
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user