Guard rotation direct-file staging

This commit is contained in:
2026-06-13 08:56:13 +08:00
parent e953e5184c
commit 880810e5c0
3 changed files with 51 additions and 17 deletions

View File

@@ -1162,3 +1162,48 @@ m98m99 direct-file 与目录级 staging guard 已基本收束。下一批建议
这三个已有 Node/browser coverage 且属于同一 direct-file family适合复用
`assertInterpRegressionFileStaging(...)` 替换当前 rotation aggregate slice。继续避免
blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
二十八、2026-06-13 继续执行记录rotation direct-file staging guard
本批转向 `rotation` direct-file family复用 `assertInterpRegressionFileStaging(...)`
替换当前 rotation aggregate staged path guard
- `rotation/abs-pts/test.ngc`
- `rotation/g28/g28.ngc`
- `rotation/g53/g53.ngc`
完成内容:
- Node 侧为上述 3 个 direct-file case 增加局部 staged path guard
- Node 侧保留 `rotationRegressionFiles` 对 upstream `.ngc` manifest 的覆盖检查;
- Node 侧移除 aggregate staged path 对账;
- browser 侧同步增加 3 个局部 staged path guard
- browser 侧保留 fixed `.ngc` manifest duplicate-free 检查;
- browser 侧移除 aggregate staged path 对账,仍不枚举目录;
- 注意 `rotation/abs-pts` vendored 目录含 `test.tbl`,但当前 smoke 未 staging 该
文件;本批只收敛现有 `.ngc` direct-file path guard不扩大工具表语义。
已运行验证:
```bash
git diff --check
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
wasm-port/tools/verify_vendor_sync.sh
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
wasm-port/tests/host/verify_host_smokes.sh
```
结果:全部通过。
下一步建议:
继续处理其他 `writeInterpRegressionFile(...)` aggregate direct-file family。优先候选
- `g71/g72` direct-file loop
- 或 `good`/`bad` arc/error fixture loop。
建议先选 `g71/g72`,因为 file list 较短且已有 Node/browser coverage适合继续复用
single-file helper 收敛 staging path guard。继续避免 blocked runtime promotion、
browser full inventory 扩面和 JS CNC 语义实现。

View File

@@ -7396,6 +7396,7 @@
"rotation/abs-pts",
"test.ngc",
);
assertInterpRegressionFileStaging("rotation/abs-pts", "test.ngc", rotationAbsPtsPath);
const rotationRegressionFiles = [
"abs-pts/test.ngc",
"g28/g28.ngc",
@@ -7432,6 +7433,7 @@
}
const rotationG28Path = await writeInterpRegressionFile(interp, "rotation/g28", "g28.ngc");
assertInterpRegressionFileStaging("rotation/g28", "g28.ngc", rotationG28Path);
const rotationG28Output = interp.runFile(rotationG28Path);
verifyExpectedOutput(
"browser_interp_rotation_g28",
@@ -7454,14 +7456,7 @@
}
const rotationG53Path = await writeInterpRegressionFile(interp, "rotation/g53", "g53.ngc");
const rotationStagedNgcFiles = [
rotationAbsPtsPath,
rotationG28Path,
rotationG53Path,
].map((path) => path.replace("/work/browser-interp/rotation/", ""));
if (rotationStagedNgcFiles.join(",") !== rotationRegressionFiles.join(",")) {
throw new Error("browser_interp_rotation_staging_manifest: list drift");
}
assertInterpRegressionFileStaging("rotation/g53", "g53.ngc", rotationG53Path);
const rotationG53Output = interp.runFile(rotationG53Path);
verifyExpectedOutput(
"browser_interp_rotation_g53",

View File

@@ -2373,6 +2373,7 @@ verifyExpectedOutput(
);
const rotationAbsPtsPath = writeInterpRegressionFile("rotation/abs-pts", "test.ngc");
assertInterpRegressionFileStaging("rotation/abs-pts", "test.ngc", rotationAbsPtsPath);
const rotationRegressionFiles = [
"abs-pts/test.ngc",
"g28/g28.ngc",
@@ -2409,6 +2410,7 @@ assert.equal(
);
const rotationG28Path = writeInterpRegressionFile("rotation/g28", "g28.ngc");
assertInterpRegressionFileStaging("rotation/g28", "g28.ngc", rotationG28Path);
const rotationG28Output = interp.runFile(rotationG28Path);
verifyExpectedOutput(
"interp_rotation_g28_wasm",
@@ -2433,15 +2435,7 @@ assert.match(
);
const rotationG53Path = writeInterpRegressionFile("rotation/g53", "g53.ngc");
assert.deepEqual(
[
rotationAbsPtsPath,
rotationG28Path,
rotationG53Path,
],
rotationRegressionFiles.map((file) => `/work/interp/rotation/${file}`),
"interp rotation staging manifest drift",
);
assertInterpRegressionFileStaging("rotation/g53", "g53.ngc", rotationG53Path);
const rotationG53Output = interp.runFile(rotationG53Path);
verifyExpectedOutput(
"interp_rotation_g53_wasm",