ci(race): ID:10/ID:17 收尾 —— 撤掉 kernelmod/all 的 KERNEL-REGISTRY-SETLOCK 排除项,表留显式空表标记

Registry 的 Set* 已在 bf44654(本分支已并入)全部改为取写锁,证据步②会据此判红,
故撤除该排除行。表删空后保留一行 `# none`,与 check-ci-gates.py 的显式空表守卫配套,
避免「删空」与「漏写」不可区分(ID:19)。
This commit is contained in:
JianFeeeee
2026-10-25 07:57:54 +08:00
parent f9ebdd5c74
commit 8cfb3e0951
2 changed files with 19 additions and 3 deletions

View File

@ -168,16 +168,32 @@ else:
"守卫不能把「排除项删干净」与「漏写标记」混为一谈") "守卫不能把「排除项删干净」与「漏写标记」混为一谈")
# ── 反向:空体没有任何标记 ⇒ 必须红(这就是 ID:19 的假绿入口)── # ── 反向:空体没有任何标记 ⇒ 必须红(这就是 ID:19 的假绿入口)──
for _bad_name, _bad_inner in [ #
# ★ 样本数必须被断言(ID:19 变异 M8 抓出来的缺口):
# 上面这组反向自测自己也可能被改坏 —— 把容器换成 `[] and [...]`
# 或 `[] or [...]` 后循环空转、一条都不跑,而**没人发现**。
# 实测:那份变异下本脚本 exit=0、零失败(自测静默死掉)。
# 所以先把样本集固化成一个常量,再断言它的长度,
# 这样"改坏容器"与"删掉样本"都会红。
_EMPTY_BAD_CASES = [
("完全空体", ""), ("完全空体", ""),
("只有空行", "\n"), ("只有空行", "\n"),
("只有空行+空白", "\n \n"), ("只有空行+空白", "\n \n"),
("非显式标记的注释", "# 无排除项"), ("非显式标记的注释", "# 无排除项"),
]: ]
if len(_EMPTY_BAD_CASES) != 4:
fails.append("空表反向样本数变了(期望 4,实际 %d)—— 除新增样本,否则说明样本被删"
% len(_EMPTY_BAD_CASES))
for _bad_name, _bad_inner in _EMPTY_BAD_CASES:
if _run_body(_replace_table(_bad_inner)).returncode == 0: if _run_body(_replace_table(_bad_inner)).returncode == 0:
fails.append( fails.append(
"空表形态「%s」竟通过 ⇒ 空表显式声明守卫已失效" "空表形态「%s」竟通过 ⇒ 空表显式声明守卫已失效"
"(表被删空与有意清空无法区分,排除项漏删会静默变绿)" % _bad_name) "(表被删空与有意清空无法区分,排除项漏删会静默变绿)" % _bad_name)
# 且必须真的跑了 4 条(防容器被换成 `[] and [...]` 这类空转写法)
_ran = sum(1 for _n, _i in _EMPTY_BAD_CASES
if _run_body(_replace_table(_i)).returncode != 0)
if _ran != 4:
fails.append("空表反向自测实际只咬了 %d/4 条 —— 自测自身被改坏或空转" % _ran)
_probe = "test|internal/probe/synthetic|TestSyntheticProbe" _probe = "test|internal/probe/synthetic|TestSyntheticProbe"
# 只打 reason:reason 空、ticket 有效 # 只打 reason:reason 空、ticket 有效

View File

@ -225,7 +225,7 @@ jobs:
set -euo pipefail set -euo pipefail
# 列名:粒度|目标|原因|修复单号 (用 | 分隔,原因内可含空格) # 列名:粒度|目标|原因|修复单号 (用 | 分隔,原因内可含空格)
read -r -d '' TABLE <<'EOF' || true read -r -d '' TABLE <<'EOF' || true
pkg|internal/kernelmod/all|*(整包)|该包把真实整机装起来(bootgraph_test.go 的整机判据) ⇒ 第 4 层 agent 与 plugin-host 并行 Init 时,双方都无锁直写同一 plugin.Registry 的 7 个 Set*(SetLuaVM/SetBaseAPIKey/SetSupervisor/SetTracker/SetConfig/SetStageHost/SetIndexer,registry.go:231-284)。竞争在**内核装配**里,不在本包代码里;任何装整机的用例都会撞上。★ 目标包随 ID:13 迁到此(原 internal/kernelboot/modules 已删)|KERNEL-REGISTRY-SETLOCK # none
EOF EOF
tests=""; pkgs=""; n=0 tests=""; pkgs=""; n=0