From fe07e2f09c0aac8e0c8a42ad22425fbfa71ccf4d Mon Sep 17 00:00:00 2001 From: wangdequan Date: Sat, 13 Jun 2026 13:11:02 +0800 Subject: [PATCH] Guard more remap per-file staging paths --- text6.txt | 51 +++++++++++++++++++ wasm-port/tests/browser/interp_smoke.html | 6 +-- .../tests/wasm/node/verify_interp_wasm.mjs | 9 ++-- 3 files changed, 60 insertions(+), 6 deletions(-) diff --git a/text6.txt b/text6.txt index c824afb..58cccf2 100644 --- a/text6.txt +++ b/text6.txt @@ -2021,3 +2021,54 @@ wasm-port/tests/host/verify_host_smokes.sh 仍暂缓 `nested-remaps-oword`,因为它含 expected-unstaged 文件,需要单独保留 staged/unstaged overlap guard。继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。 + +四十六、2026-06-13 继续执行记录:more remap per-file staging helper guard + +本批继续处理没有 expected-unstaged 额外清单的 remap fixture: + +- `fail/args.2` +- `fail/body-ngc` +- `m30-interaction` + +完成内容: + +- Node 侧将上述 3 个 fixture 从 `assertRemapRegressionStaging(...)` 切换为 + `assertRemapRegressionCoverage(...)` 加 + `assertRemapRegressionFilesStaging(...)`; +- browser 侧同步将上述 3 个 fixture 切换为 + `assertRemapRegressionFilesStaging(...)`; +- 这三组 fixed file list 均为 `test.ini`、`test.ngc`、`rm400.ngc`; +- Node 侧继续用 coverage helper 对 vendored `.ini/.ngc` manifest 做精确对账; +- browser 侧仍不枚举目录; +- 仅整理 host/filesystem staging guard,不改变 remap argument error、body-ngc + failure、M30 interaction 或 interpreter 语义。 + +已运行验证: + +```bash +git diff --check +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_interp_wasm.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh +SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh +wasm-port/tests/host/verify_host_smokes.sh +``` + +结果:全部通过。 + +下一步建议: + +继续处理剩余 remap fixture。优先候选: + +- `posargs.0` +- `sequencing` + +这两组没有 expected-unstaged 额外清单,可继续切换到 coverage helper 加 per-file +staging helper。暂缓: + +- `remap-io`,因为它还有运行时生成的 `simpockets.tbl` 单独 staged path guard; +- `nested-remaps-oword`,因为它含 expected-unstaged `testsub.ngc`,需要单独保留 + staged/unstaged overlap guard。 + +继续避免 blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index 90f23e4..5b4e44e 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -6107,7 +6107,7 @@ "rm400.ngc", ]; const failArgs2Dir = await writeRemapRegressionFiles(interp, "fail/args.2", failArgs2Files); - assertRemapRegressionStaging("fail/args.2", failArgs2Files, failArgs2Dir); + assertRemapRegressionFilesStaging("fail/args.2", failArgs2Files, failArgs2Dir); verifyExpectedOutput( "browser_fail_args_2_remap", interp.runRemapFileContinueOnError( @@ -6132,7 +6132,7 @@ "rm400.ngc", ]; const failBodyNgcDir = await writeRemapRegressionFiles(interp, "fail/body-ngc", failBodyNgcFiles); - assertRemapRegressionStaging("fail/body-ngc", failBodyNgcFiles, failBodyNgcDir); + assertRemapRegressionFilesStaging("fail/body-ngc", failBodyNgcFiles, failBodyNgcDir); verifyExpectedOutput( "browser_fail_body_ngc_remap", interp.runRemapFileContinueOnError( @@ -6160,7 +6160,7 @@ "rm400.ngc", ]; const m30InteractionDir = await writeRemapRegressionFiles(interp, "m30-interaction", m30InteractionFiles); - assertRemapRegressionStaging("m30-interaction", m30InteractionFiles, m30InteractionDir); + assertRemapRegressionFilesStaging("m30-interaction", m30InteractionFiles, m30InteractionDir); verifyExpectedOutput( "browser_m30_interaction_remap", interp.runRemapFile( diff --git a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs index e70e2e0..faf0b1e 100644 --- a/wasm-port/tests/wasm/node/verify_interp_wasm.mjs +++ b/wasm-port/tests/wasm/node/verify_interp_wasm.mjs @@ -1116,7 +1116,8 @@ const failArgs2Files = [ "rm400.ngc", ]; const failArgs2Dir = writeRemapRegressionFiles("fail/args.2", failArgs2Files); -assertRemapRegressionStaging("fail/args.2", failArgs2Files, failArgs2Dir); +assertRemapRegressionCoverage("fail/args.2", failArgs2Files); +assertRemapRegressionFilesStaging("fail/args.2", failArgs2Files, failArgs2Dir); verifyExpectedOutput( "fail_args_2_remap_wasm", interp.runRemapFileContinueOnError( @@ -1141,7 +1142,8 @@ const failBodyNgcFiles = [ "rm400.ngc", ]; const failBodyNgcDir = writeRemapRegressionFiles("fail/body-ngc", failBodyNgcFiles); -assertRemapRegressionStaging("fail/body-ngc", failBodyNgcFiles, failBodyNgcDir); +assertRemapRegressionCoverage("fail/body-ngc", failBodyNgcFiles); +assertRemapRegressionFilesStaging("fail/body-ngc", failBodyNgcFiles, failBodyNgcDir); verifyExpectedOutput( "fail_body_ngc_remap_wasm", interp.runRemapFileContinueOnError( @@ -1169,7 +1171,8 @@ const m30InteractionFiles = [ "rm400.ngc", ]; const m30InteractionDir = writeRemapRegressionFiles("m30-interaction", m30InteractionFiles); -assertRemapRegressionStaging("m30-interaction", m30InteractionFiles, m30InteractionDir); +assertRemapRegressionCoverage("m30-interaction", m30InteractionFiles); +assertRemapRegressionFilesStaging("m30-interaction", m30InteractionFiles, m30InteractionDir); verifyExpectedOutput( "m30_interaction_remap_wasm", interp.runRemapFile(