Guard more earlier direct-file staging
This commit is contained in:
49
text6.txt
49
text6.txt
@@ -1483,3 +1483,52 @@ wasm-port/tests/host/verify_host_smokes.sh
|
|||||||
这些已有 Node/browser coverage 和 fixed `.ngc` manifest,可继续用
|
这些已有 Node/browser coverage 和 fixed `.ngc` manifest,可继续用
|
||||||
`assertInterpRegressionFileStaging(...)` 替换内联 staged path 对账。继续避免 blocked
|
`assertInterpRegressionFileStaging(...)` 替换内联 staged path 对账。继续避免 blocked
|
||||||
runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
||||||
|
|
||||||
|
三十五、2026-06-13 继续执行记录:more earlier direct-file staging guard
|
||||||
|
|
||||||
|
本批继续收敛 earlier direct-file guard,处理 5 个已有 Node/browser coverage 的
|
||||||
|
single-file fixture:
|
||||||
|
|
||||||
|
- `subs-follow-main/test.ngc`
|
||||||
|
- `fractional-linenumbers/test.ngc`
|
||||||
|
- `crazy-paths/test.ngc`
|
||||||
|
- `namedparam-bug424/test.ngc`
|
||||||
|
- `flowsnake/flowsnake.ngc`
|
||||||
|
|
||||||
|
完成内容:
|
||||||
|
|
||||||
|
- Node 侧保留各 fixture 的 upstream `.ngc` manifest coverage check;
|
||||||
|
- Node 侧将 5 处内联 staged path 对账替换为
|
||||||
|
`assertInterpRegressionFileStaging(...)`;
|
||||||
|
- browser 侧保留 fixed manifest duplicate-free guard;
|
||||||
|
- browser 侧将 5 处 `replace(...)` staged path 对账替换为 single-file helper;
|
||||||
|
- browser 侧仍不枚举目录;
|
||||||
|
- 仅整理 host/filesystem staging guard,不改变 subs-follow-main、fractional line
|
||||||
|
number、cutter-comp/crazy-path、namedparam 或 flowsnake 执行语义。
|
||||||
|
|
||||||
|
已运行验证:
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
|
||||||
|
结果:全部通过。
|
||||||
|
|
||||||
|
下一步建议:
|
||||||
|
|
||||||
|
继续处理相邻的 single-file direct-file guard。优先候选:
|
||||||
|
|
||||||
|
- `inside-corners/test.ngc`
|
||||||
|
- `inverse-time-with-comp/test.ngc`
|
||||||
|
- `iniparam/test.ngc`
|
||||||
|
- `iniparam-failassign/test.ngc`
|
||||||
|
|
||||||
|
其中 `iniparam` 与 `iniparam-failassign` 可能有 INI/context staging 细节,下一批可先处理
|
||||||
|
`inside-corners` 和 `inverse-time-with-comp` 两个简单 direct-file case。继续避免 blocked
|
||||||
|
runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
||||||
|
|||||||
@@ -6504,12 +6504,7 @@
|
|||||||
if (subsFollowMainNgcFiles.length !== 1 || new Set(subsFollowMainNgcFiles).size !== subsFollowMainNgcFiles.length) {
|
if (subsFollowMainNgcFiles.length !== 1 || new Set(subsFollowMainNgcFiles).size !== subsFollowMainNgcFiles.length) {
|
||||||
throw new Error("browser_interp_subs_follow_main_fixture_coverage: list drift");
|
throw new Error("browser_interp_subs_follow_main_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const subsFollowMainStagedNgcFiles = [
|
assertInterpRegressionFileStaging("subs-follow-main", "test.ngc", subsFollowMainPath);
|
||||||
subsFollowMainPath,
|
|
||||||
].map((path) => path.replace("/work/browser-interp/subs-follow-main/", ""));
|
|
||||||
if (subsFollowMainStagedNgcFiles.join(",") !== subsFollowMainNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_subs_follow_main_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_subs_follow_main",
|
"browser_interp_subs_follow_main",
|
||||||
interp.runFile(subsFollowMainPath),
|
interp.runFile(subsFollowMainPath),
|
||||||
@@ -6534,12 +6529,7 @@
|
|||||||
if (fractionalLinenumbersNgcFiles.length !== 1 || new Set(fractionalLinenumbersNgcFiles).size !== fractionalLinenumbersNgcFiles.length) {
|
if (fractionalLinenumbersNgcFiles.length !== 1 || new Set(fractionalLinenumbersNgcFiles).size !== fractionalLinenumbersNgcFiles.length) {
|
||||||
throw new Error("browser_interp_fractional_linenumbers_fixture_coverage: list drift");
|
throw new Error("browser_interp_fractional_linenumbers_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const fractionalLinenumbersStagedNgcFiles = [
|
assertInterpRegressionFileStaging("fractional-linenumbers", "test.ngc", fractionalLinenumbersPath);
|
||||||
fractionalLinenumbersPath,
|
|
||||||
].map((path) => path.replace("/work/browser-interp/fractional-linenumbers/", ""));
|
|
||||||
if (fractionalLinenumbersStagedNgcFiles.join(",") !== fractionalLinenumbersNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_fractional_linenumbers_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_fractional_linenumbers",
|
"browser_interp_fractional_linenumbers",
|
||||||
interp.runFile(fractionalLinenumbersPath),
|
interp.runFile(fractionalLinenumbersPath),
|
||||||
@@ -6565,12 +6555,7 @@
|
|||||||
if (crazyPathsNgcFiles.length !== 1 || new Set(crazyPathsNgcFiles).size !== crazyPathsNgcFiles.length) {
|
if (crazyPathsNgcFiles.length !== 1 || new Set(crazyPathsNgcFiles).size !== crazyPathsNgcFiles.length) {
|
||||||
throw new Error("browser_interp_crazy_paths_fixture_coverage: list drift");
|
throw new Error("browser_interp_crazy_paths_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const crazyPathsStagedNgcFiles = [
|
assertInterpRegressionFileStaging("crazy-paths", "test.ngc", crazyPathsPath);
|
||||||
crazyPathsPath,
|
|
||||||
].map((path) => path.replace("/work/browser-interp/crazy-paths/", ""));
|
|
||||||
if (crazyPathsStagedNgcFiles.join(",") !== crazyPathsNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_crazy_paths_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_crazy_paths",
|
"browser_interp_crazy_paths",
|
||||||
interp.runFile(crazyPathsPath),
|
interp.runFile(crazyPathsPath),
|
||||||
@@ -6667,12 +6652,7 @@
|
|||||||
if (namedparamBug424NgcFiles.length !== 1 || new Set(namedparamBug424NgcFiles).size !== namedparamBug424NgcFiles.length) {
|
if (namedparamBug424NgcFiles.length !== 1 || new Set(namedparamBug424NgcFiles).size !== namedparamBug424NgcFiles.length) {
|
||||||
throw new Error("browser_interp_namedparam_bug424_fixture_coverage: list drift");
|
throw new Error("browser_interp_namedparam_bug424_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const namedparamBug424StagedNgcFiles = [
|
assertInterpRegressionFileStaging("namedparam-bug424", "test.ngc", namedparamBug424Path);
|
||||||
namedparamBug424Path,
|
|
||||||
].map((path) => path.replace("/work/browser-interp/namedparam-bug424/", ""));
|
|
||||||
if (namedparamBug424StagedNgcFiles.join(",") !== namedparamBug424NgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_namedparam_bug424_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_namedparam_bug424",
|
"browser_interp_namedparam_bug424",
|
||||||
interp.runFile(namedparamBug424Path),
|
interp.runFile(namedparamBug424Path),
|
||||||
@@ -6700,12 +6680,7 @@
|
|||||||
if (flowsnakeNgcFiles.length !== 1 || new Set(flowsnakeNgcFiles).size !== flowsnakeNgcFiles.length) {
|
if (flowsnakeNgcFiles.length !== 1 || new Set(flowsnakeNgcFiles).size !== flowsnakeNgcFiles.length) {
|
||||||
throw new Error("browser_interp_flowsnake_fixture_coverage: list drift");
|
throw new Error("browser_interp_flowsnake_fixture_coverage: list drift");
|
||||||
}
|
}
|
||||||
const flowsnakeStagedNgcFiles = [
|
assertInterpRegressionFileStaging("flowsnake", "flowsnake.ngc", flowsnakePath);
|
||||||
flowsnakePath,
|
|
||||||
].map((path) => path.replace("/work/browser-interp/flowsnake/", ""));
|
|
||||||
if (flowsnakeStagedNgcFiles.join(",") !== flowsnakeNgcFiles.join(",")) {
|
|
||||||
throw new Error("browser_interp_flowsnake_staging_manifest: list drift");
|
|
||||||
}
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"browser_interp_flowsnake",
|
"browser_interp_flowsnake",
|
||||||
interp.runFile(flowsnakePath),
|
interp.runFile(flowsnakePath),
|
||||||
|
|||||||
@@ -1487,13 +1487,7 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("subs-follow-main"),
|
interpRegressionNgcFilesRecursive("subs-follow-main"),
|
||||||
"interp subs-follow-main fixture coverage drift",
|
"interp subs-follow-main fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpRegressionFileStaging("subs-follow-main", "test.ngc", subsFollowMainPath);
|
||||||
[
|
|
||||||
subsFollowMainPath,
|
|
||||||
],
|
|
||||||
subsFollowMainNgcFiles.map((file) => `/work/interp/subs-follow-main/${file}`),
|
|
||||||
"interp subs-follow-main staging manifest drift",
|
|
||||||
);
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_subs_follow_main_wasm",
|
"interp_subs_follow_main_wasm",
|
||||||
interp.runFile(subsFollowMainPath),
|
interp.runFile(subsFollowMainPath),
|
||||||
@@ -1519,13 +1513,7 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("fractional-linenumbers"),
|
interpRegressionNgcFilesRecursive("fractional-linenumbers"),
|
||||||
"interp fractional-linenumbers fixture coverage drift",
|
"interp fractional-linenumbers fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpRegressionFileStaging("fractional-linenumbers", "test.ngc", fractionalLinenumbersPath);
|
||||||
[
|
|
||||||
fractionalLinenumbersPath,
|
|
||||||
],
|
|
||||||
fractionalLinenumbersNgcFiles.map((file) => `/work/interp/fractional-linenumbers/${file}`),
|
|
||||||
"interp fractional-linenumbers staging manifest drift",
|
|
||||||
);
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_fractional_linenumbers_wasm",
|
"interp_fractional_linenumbers_wasm",
|
||||||
interp.runFile(fractionalLinenumbersPath),
|
interp.runFile(fractionalLinenumbersPath),
|
||||||
@@ -1549,13 +1537,7 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("crazy-paths"),
|
interpRegressionNgcFilesRecursive("crazy-paths"),
|
||||||
"interp crazy-paths fixture coverage drift",
|
"interp crazy-paths fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpRegressionFileStaging("crazy-paths", "test.ngc", crazyPathsPath);
|
||||||
[
|
|
||||||
crazyPathsPath,
|
|
||||||
],
|
|
||||||
crazyPathsNgcFiles.map((file) => `/work/interp/crazy-paths/${file}`),
|
|
||||||
"interp crazy-paths staging manifest drift",
|
|
||||||
);
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_crazy_paths_wasm",
|
"interp_crazy_paths_wasm",
|
||||||
interp.runFile(crazyPathsPath),
|
interp.runFile(crazyPathsPath),
|
||||||
@@ -1644,13 +1626,7 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("namedparam-bug424"),
|
interpRegressionNgcFilesRecursive("namedparam-bug424"),
|
||||||
"interp namedparam-bug424 fixture coverage drift",
|
"interp namedparam-bug424 fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpRegressionFileStaging("namedparam-bug424", "test.ngc", namedparamBug424Path);
|
||||||
[
|
|
||||||
namedparamBug424Path,
|
|
||||||
],
|
|
||||||
namedparamBug424NgcFiles.map((file) => `/work/interp/namedparam-bug424/${file}`),
|
|
||||||
"interp namedparam-bug424 staging manifest drift",
|
|
||||||
);
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_namedparam_bug424_wasm",
|
"interp_namedparam_bug424_wasm",
|
||||||
interp.runFile(namedparamBug424Path),
|
interp.runFile(namedparamBug424Path),
|
||||||
@@ -1676,13 +1652,7 @@ assert.deepEqual(
|
|||||||
interpRegressionNgcFilesRecursive("flowsnake"),
|
interpRegressionNgcFilesRecursive("flowsnake"),
|
||||||
"interp flowsnake fixture coverage drift",
|
"interp flowsnake fixture coverage drift",
|
||||||
);
|
);
|
||||||
assert.deepEqual(
|
assertInterpRegressionFileStaging("flowsnake", "flowsnake.ngc", flowsnakePath);
|
||||||
[
|
|
||||||
flowsnakePath,
|
|
||||||
],
|
|
||||||
flowsnakeNgcFiles.map((file) => `/work/interp/flowsnake/${file}`),
|
|
||||||
"interp flowsnake staging manifest drift",
|
|
||||||
);
|
|
||||||
verifyExpectedOutput(
|
verifyExpectedOutput(
|
||||||
"interp_flowsnake_wasm",
|
"interp_flowsnake_wasm",
|
||||||
interp.runFile(flowsnakePath),
|
interp.runFile(flowsnakePath),
|
||||||
|
|||||||
Reference in New Issue
Block a user