@@ -889,6 +889,8 @@ BMI 坏掉时报错会指向一个和你的改动毫无关系的模块,极难归
889889| 快路径扫描 ` .ixx ` | ✅ 加 ` import ` 后强制全量 prepare(e2e 218) |
890890| 指纹包含 ` module_extensions ` | ✅ ` 65e7cc0a ` → ` 497632df ` |
891891| manifest 超时键 | ✅ 2s 生效、env=1 覆盖它、负数硬错误(e2e 186) |
892+ | ** CI 全绿** | ✅ ** 19/19,0 失败** (linux/windows/macOS 的 unit+e2e、cross、mingw、hermetic、bare-Windows、xlings 集成) |
893+ | 本机全量 e2e | 198 过 / 12 败;** 12 条全部用已发布 2026.8.10.3 跑同样红** ⇒ 环境性(本机共享 gcc payload specs 被历次安装污染),唯一真问题是 218 自身的脆弱断言,已修 |
892894| 超时报错指名 manifest | ✅ 打印该包 ` mcpp.toml ` 的绝对路径 |
893895
894896---
@@ -932,6 +934,25 @@ BMI 坏掉时报错会指向一个和你的改动毫无关系的模块,极难归
932934
933935---
934936
937+ ## 7.5 我自己写的测试,又踩了一次同一个坑
938+
939+ ` 218 ` 的第 2 部分用 ` find target -name build.ninja | head -1 ` 推指纹目录。
940+ ** 单跑绿,进全量套件红。**
941+
942+ 原因:第 2 部分改了 ` module_extensions ` 之后 ` target/ ` 下有** 两个** 输出目录,
943+ ` head -1 ` 取到的是 ` find ` 恰好先走到的那个。
944+
945+ 这与记忆里那条「指纹目录随版本变,` ls | head -1 ` 会自查到旧二进制」是** 同一形状**
946+ —— 而且我在这次实施里已经踩过一次(取错 mcpp 二进制,误以为自己改了指纹),
947+ 然后** 在一个专门用来抓这类问题的测试里又踩了第二次** 。
948+
949+ 修法:不去推目录,直接问 ` mcpp build --print-fingerprint ` 要那个值,断言值本身。
950+
951+ > ** 判据** :一个断言如果依赖「目录里恰好只有一个东西」,它就不是断言,是运气。
952+ > 能问到值就别去列目录。
953+
954+ ---
955+
935956## 8.1 本次不做,但已排期
936957
937958| 项 | 状态 | 说明 |
0 commit comments