Guard remaining m98m99 direct-file staging
This commit is contained in:
46
text6.txt
46
text6.txt
@@ -1070,3 +1070,49 @@ wasm-port/tests/host/verify_host_smokes.sh
|
||||
|
||||
其中 `06-error-mixed-sub-styles` 有 4 个同目录文件,可单独作为一批继续处理。继续避免
|
||||
blocked runtime promotion、browser full inventory 扩面和 JS CNC 语义实现。
|
||||
|
||||
二十六、2026-06-13 继续执行记录:m98m99 remaining direct-file staging guard
|
||||
|
||||
本批继续复用 `assertInterpRegressionFileStaging(...)`,收敛 m98m99 剩余短小
|
||||
single-file direct-file guard:
|
||||
|
||||
- `m98m99/04-M98-but-no-sub/test.ngc`
|
||||
- `m98m99/05-M98-loops/test.ngc`
|
||||
- `m98m99/07-nested-subs/test.ngc`
|
||||
- `m98m99/08-sub-follows-main/test.ngc`
|
||||
- `m98m99/10-M98-P001/test.ngc`
|
||||
|
||||
完成内容:
|
||||
|
||||
- Node 侧为上述 5 个 direct-file case 增加局部 staged path guard;
|
||||
- Node 侧将 `06-error-mixed-sub-styles` 的 aggregate slice 收缩为只覆盖该目录
|
||||
4 个 mixed-sub-style 文件;
|
||||
- Node 侧移除 `07/08` 和 `10` 的临近 aggregate slice guard;
|
||||
- browser 侧同步增加 5 个局部 staged path guard;
|
||||
- browser 侧同步收缩 mixed-sub-style slice,并移除 `07/08` 和 `10` 的临近 slice;
|
||||
- browser 侧仍不枚举目录;
|
||||
- 仅整理 host/filesystem staging guard,不改变 M98 no-sub、loop、nested sub、
|
||||
sub-follows-main 或 M98-P001 执行语义。
|
||||
|
||||
已运行验证:
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
结果:全部通过。
|
||||
|
||||
下一步建议:
|
||||
|
||||
`m98m99` 剩余显性 aggregate slice 只剩 `06-error-mixed-sub-styles`。下一批可把这
|
||||
4 个文件改成固定 manifest 加 per-directory guard,或逐个使用 single-file helper;
|
||||
完成后 m98m99 direct-file staging guard 基本收束。之后建议转向其他
|
||||
`writeInterpRegressionFile(...)` families,例如 `bad`、`good`、`g71/g72` 或
|
||||
`rotation` 的 aggregate direct-file guard。继续避免 blocked runtime promotion、
|
||||
browser full inventory 扩面和 JS CNC 语义实现。
|
||||
|
||||
@@ -7939,6 +7939,11 @@
|
||||
"m98m99/04-M98-but-no-sub",
|
||||
"test.ngc",
|
||||
);
|
||||
assertInterpRegressionFileStaging(
|
||||
"m98m99/04-M98-but-no-sub",
|
||||
"test.ngc",
|
||||
m98m99M98ButNoSubPath,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_interp_m98m99_04_m98_but_no_sub",
|
||||
interp.runFile(m98m99M98ButNoSubPath),
|
||||
@@ -7960,6 +7965,7 @@
|
||||
"m98m99/05-M98-loops",
|
||||
"test.ngc",
|
||||
);
|
||||
assertInterpRegressionFileStaging("m98m99/05-M98-loops", "test.ngc", m98m99M98LoopsPath);
|
||||
const m98m99M98LoopsRun = runWithCapturedPrints(() =>
|
||||
interp.runFile(m98m99M98LoopsPath),
|
||||
);
|
||||
@@ -8064,11 +8070,9 @@
|
||||
}
|
||||
}
|
||||
const m98m99MixedStagedNgcFiles = [
|
||||
m98m99M98ButNoSubPath,
|
||||
m98m99M98LoopsPath,
|
||||
...m98m99MixedSubStylePaths,
|
||||
].map((path) => path.replace("/work/browser-interp/m98m99/", ""));
|
||||
if (m98m99MixedStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(3, 9).join(",")) {
|
||||
if (m98m99MixedStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(5, 9).join(",")) {
|
||||
throw new Error("browser_interp_m98m99_mixed_staging_manifest: list drift");
|
||||
}
|
||||
|
||||
@@ -8077,6 +8081,7 @@
|
||||
"m98m99/07-nested-subs",
|
||||
"test.ngc",
|
||||
);
|
||||
assertInterpRegressionFileStaging("m98m99/07-nested-subs", "test.ngc", m98m99NestedSubsPath);
|
||||
const m98m99NestedSubsRun = runWithCapturedPrints(() =>
|
||||
interp.runFile(m98m99NestedSubsPath),
|
||||
);
|
||||
@@ -8106,6 +8111,11 @@
|
||||
"m98m99/08-sub-follows-main",
|
||||
"test.ngc",
|
||||
);
|
||||
assertInterpRegressionFileStaging(
|
||||
"m98m99/08-sub-follows-main",
|
||||
"test.ngc",
|
||||
m98m99SubFollowsMainPath,
|
||||
);
|
||||
const m98m99SubFollowsMainRun = runWithCapturedPrints(() =>
|
||||
interp.runFile(m98m99SubFollowsMainPath),
|
||||
);
|
||||
@@ -8143,13 +8153,6 @@
|
||||
m98m99DisableFanucSubsFiles,
|
||||
m98m99DisableFanucSubsDir,
|
||||
);
|
||||
const m98m99NestedStagedNgcFiles = [
|
||||
m98m99NestedSubsPath,
|
||||
m98m99SubFollowsMainPath,
|
||||
].map((path) => path.replace("/work/browser-interp/m98m99/", ""));
|
||||
if (m98m99NestedStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(9, 11).join(",")) {
|
||||
throw new Error("browser_interp_m98m99_nested_staging_manifest: list drift");
|
||||
}
|
||||
for (const disableFanucCase of [
|
||||
{
|
||||
name: "fanuc_ini",
|
||||
@@ -8236,6 +8239,7 @@
|
||||
"m98m99/10-M98-P001",
|
||||
"test.ngc",
|
||||
);
|
||||
assertInterpRegressionFileStaging("m98m99/10-M98-P001", "test.ngc", m98m99M98P001Path);
|
||||
const m98m99M98P001Run = runWithCapturedPrints(() =>
|
||||
interp.runFile(m98m99M98P001Path),
|
||||
);
|
||||
@@ -8279,12 +8283,6 @@
|
||||
m98m99MainProgramOwordFiles,
|
||||
m98m99MainProgramOwordDir,
|
||||
);
|
||||
const m98m99M98P001StagedNgcFiles = [m98m99M98P001Path].map((path) =>
|
||||
path.replace("/work/browser-interp/m98m99/", ""),
|
||||
);
|
||||
if (m98m99M98P001StagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(13, 14).join(",")) {
|
||||
throw new Error("browser_interp_m98m99_main_program_staging_manifest: list drift");
|
||||
}
|
||||
for (const mainProgramFixture of [
|
||||
{
|
||||
name: "legal_m2",
|
||||
|
||||
@@ -2934,6 +2934,7 @@ const m98m99M98ButNoSubPath = writeInterpRegressionFile(
|
||||
"m98m99/04-M98-but-no-sub",
|
||||
"test.ngc",
|
||||
);
|
||||
assertInterpRegressionFileStaging("m98m99/04-M98-but-no-sub", "test.ngc", m98m99M98ButNoSubPath);
|
||||
verifyExpectedOutput(
|
||||
"interp_m98m99_04_m98_but_no_sub_wasm",
|
||||
interp.runFile(m98m99M98ButNoSubPath),
|
||||
@@ -2951,6 +2952,7 @@ verifyExpectedOutput(
|
||||
);
|
||||
|
||||
const m98m99M98LoopsPath = writeInterpRegressionFile("m98m99/05-M98-loops", "test.ngc");
|
||||
assertInterpRegressionFileStaging("m98m99/05-M98-loops", "test.ngc", m98m99M98LoopsPath);
|
||||
const m98m99M98LoopsRun = runWithCapturedPrints(() => interp.runFile(m98m99M98LoopsPath));
|
||||
verifyExpectedOutput(
|
||||
"interp_m98m99_05_m98_loops_wasm",
|
||||
@@ -3050,18 +3052,15 @@ for (const mixedSubStyleFixture of [
|
||||
}
|
||||
}
|
||||
assert.deepEqual(
|
||||
[
|
||||
m98m99M98ButNoSubPath,
|
||||
m98m99M98LoopsPath,
|
||||
...m98m99MixedSubStylePaths,
|
||||
],
|
||||
m98m99MixedSubStylePaths,
|
||||
m98m99RegressionFiles
|
||||
.slice(3, 9)
|
||||
.slice(5, 9)
|
||||
.map((file) => `/work/interp/m98m99/${file}`),
|
||||
"interp m98m99 mixed direct-file staging manifest drift",
|
||||
);
|
||||
|
||||
const m98m99NestedSubsPath = writeInterpRegressionFile("m98m99/07-nested-subs", "test.ngc");
|
||||
assertInterpRegressionFileStaging("m98m99/07-nested-subs", "test.ngc", m98m99NestedSubsPath);
|
||||
const m98m99NestedSubsRun = runWithCapturedPrints(() => interp.runFile(m98m99NestedSubsPath));
|
||||
verifyExpectedOutput(
|
||||
"interp_m98m99_07_nested_subs_wasm",
|
||||
@@ -3088,6 +3087,11 @@ const m98m99SubFollowsMainPath = writeInterpRegressionFile(
|
||||
"m98m99/08-sub-follows-main",
|
||||
"test.ngc",
|
||||
);
|
||||
assertInterpRegressionFileStaging(
|
||||
"m98m99/08-sub-follows-main",
|
||||
"test.ngc",
|
||||
m98m99SubFollowsMainPath,
|
||||
);
|
||||
const m98m99SubFollowsMainRun = runWithCapturedPrints(() =>
|
||||
interp.runFile(m98m99SubFollowsMainPath),
|
||||
);
|
||||
@@ -3124,16 +3128,6 @@ assertInterpRegressionStaging(
|
||||
m98m99DisableFanucSubsFiles,
|
||||
m98m99DisableFanucSubsDir,
|
||||
);
|
||||
assert.deepEqual(
|
||||
[
|
||||
m98m99NestedSubsPath,
|
||||
m98m99SubFollowsMainPath,
|
||||
],
|
||||
m98m99RegressionFiles
|
||||
.slice(9, 11)
|
||||
.map((file) => `/work/interp/m98m99/${file}`),
|
||||
"interp m98m99 nested direct-file staging manifest drift",
|
||||
);
|
||||
for (const disableFanucCase of [
|
||||
{
|
||||
name: "fanuc_ini",
|
||||
@@ -3216,6 +3210,7 @@ verifyExpectedOutput(
|
||||
);
|
||||
|
||||
const m98m99M98P001Path = writeInterpRegressionFile("m98m99/10-M98-P001", "test.ngc");
|
||||
assertInterpRegressionFileStaging("m98m99/10-M98-P001", "test.ngc", m98m99M98P001Path);
|
||||
const m98m99M98P001Run = runWithCapturedPrints(() => interp.runFile(m98m99M98P001Path));
|
||||
verifyExpectedOutput(
|
||||
"interp_m98m99_10_m98_p001_wasm",
|
||||
@@ -3256,13 +3251,6 @@ assertInterpRegressionStaging(
|
||||
m98m99MainProgramOwordFiles,
|
||||
m98m99MainProgramOwordDir,
|
||||
);
|
||||
assert.deepEqual(
|
||||
[m98m99M98P001Path],
|
||||
m98m99RegressionFiles
|
||||
.slice(13, 14)
|
||||
.map((file) => `/work/interp/m98m99/${file}`),
|
||||
"interp m98m99 m98-p001 direct-file staging manifest drift",
|
||||
);
|
||||
for (const mainProgramFixture of [
|
||||
{
|
||||
name: "legal_m2",
|
||||
|
||||
Reference in New Issue
Block a user