Guard rotation direct-file staging
This commit is contained in:
45
text6.txt
45
text6.txt
@@ -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 语义实现。
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user