mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-11-01 06:47:29 +00:00
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:
20
.github/scripts/check-ci-gates.py
vendored
20
.github/scripts/check-ci-gates.py
vendored
@ -168,16 +168,32 @@ else:
|
||||
"守卫不能把「排除项删干净」与「漏写标记」混为一谈")
|
||||
|
||||
# ── 反向:空体没有任何标记 ⇒ 必须红(这就是 ID:19 的假绿入口)──
|
||||
for _bad_name, _bad_inner in [
|
||||
#
|
||||
# ★ 样本数必须被断言(ID:19 变异 M8 抓出来的缺口):
|
||||
# 上面这组反向自测自己也可能被改坏 —— 把容器换成 `[] and [...]`
|
||||
# 或 `[] or [...]` 后循环空转、一条都不跑,而**没人发现**。
|
||||
# 实测:那份变异下本脚本 exit=0、零失败(自测静默死掉)。
|
||||
# 所以先把样本集固化成一个常量,再断言它的长度,
|
||||
# 这样"改坏容器"与"删掉样本"都会红。
|
||||
_EMPTY_BAD_CASES = [
|
||||
("完全空体", ""),
|
||||
("只有空行", "\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:
|
||||
fails.append(
|
||||
"空表形态「%s」竟通过 ⇒ 空表显式声明守卫已失效"
|
||||
"(表被删空与有意清空无法区分,排除项漏删会静默变绿)" % _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"
|
||||
# 只打 reason:reason 空、ticket 有效
|
||||
|
||||
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -225,7 +225,7 @@ jobs:
|
||||
set -euo pipefail
|
||||
# 列名:粒度|目标|原因|修复单号 (用 | 分隔,原因内可含空格)
|
||||
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
|
||||
|
||||
tests=""; pkgs=""; n=0
|
||||
|
||||
Reference in New Issue
Block a user