Guard m98m99 interp directory staging
This commit is contained in:
45
text6.txt
45
text6.txt
@@ -932,3 +932,48 @@ wasm-port/tests/host/verify_host_smokes.sh
|
|||||||
这两个已有固定 file list 和 Node/browser coverage,适合把现有 m98m99 aggregate
|
这两个已有固定 file list 和 Node/browser coverage,适合把现有 m98m99 aggregate
|
||||||
slice guard 拆出更直接的 per-directory staged path guard。仍不推进 blocked runtime
|
slice guard 拆出更直接的 per-directory staged path guard。仍不推进 blocked runtime
|
||||||
promotion、browser full inventory 扩面或 JS CNC 语义实现。
|
promotion、browser full inventory 扩面或 JS CNC 语义实现。
|
||||||
|
|
||||||
|
二十三、2026-06-13 继续执行记录:m98m99 interp directory staging guard
|
||||||
|
|
||||||
|
本批继续复用 `assertInterpRegressionStaging(...)`,把两个已有 m98m99 目录从
|
||||||
|
aggregate slice guard 拆成更直接的 per-directory staged path guard:
|
||||||
|
|
||||||
|
- `m98m99/09-disable-fanuc-subs`
|
||||||
|
- `m98m99/11-main-program-oword`
|
||||||
|
|
||||||
|
完成内容:
|
||||||
|
|
||||||
|
- Node 侧对 `09-disable-fanuc-subs` 的 `.ini/.ngc` fixed manifest 与 vendored
|
||||||
|
文件清单精确对账;
|
||||||
|
- Node 侧对 `11-main-program-oword` 的 `.ngc` fixed manifest 与 vendored 文件清单
|
||||||
|
精确对账;
|
||||||
|
- Node 侧保留相邻 direct-file smoke 的 slice guard,但不再让该 slice 夹带目录
|
||||||
|
file-list 对账;
|
||||||
|
- browser 侧复用同名 helper 检查 fixed manifest duplicate-free;
|
||||||
|
- browser 侧检查 staged path 去掉 `/work/browser-interp/<name>/` 前缀后与 fixed
|
||||||
|
manifest 一致;
|
||||||
|
- browser 侧仍不枚举目录;
|
||||||
|
- 仅整理 host/filesystem staging guard,不改变 Fanuc sub、main-program oword 或
|
||||||
|
interpreter 语义。
|
||||||
|
|
||||||
|
已运行验证:
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
|
||||||
|
结果:全部通过。
|
||||||
|
|
||||||
|
下一步建议:
|
||||||
|
|
||||||
|
继续扫描 `writeInterpRegressionFiles(...)` 与 m98m99 剩余 direct-file aggregate guard。
|
||||||
|
优先候选是把 `m98m99/13-named-program` 的 fixed file list 提成 per-directory guard,
|
||||||
|
同时保留 `m98m99/14-o-expression-call` direct-file slice guard;如继续小批量,
|
||||||
|
也可处理 `m98m99/09`、`11` 后续文档索引。继续避免 blocked runtime promotion、
|
||||||
|
browser full inventory 扩面和 JS CNC 语义实现。
|
||||||
|
|||||||
@@ -8133,14 +8133,16 @@
|
|||||||
"m98m99/09-disable-fanuc-subs",
|
"m98m99/09-disable-fanuc-subs",
|
||||||
m98m99DisableFanucSubsFiles,
|
m98m99DisableFanucSubsFiles,
|
||||||
);
|
);
|
||||||
|
assertInterpRegressionStaging(
|
||||||
|
"m98m99/09-disable-fanuc-subs",
|
||||||
|
m98m99DisableFanucSubsFiles,
|
||||||
|
m98m99DisableFanucSubsDir,
|
||||||
|
);
|
||||||
const m98m99NestedStagedNgcFiles = [
|
const m98m99NestedStagedNgcFiles = [
|
||||||
m98m99NestedSubsPath,
|
m98m99NestedSubsPath,
|
||||||
m98m99SubFollowsMainPath,
|
m98m99SubFollowsMainPath,
|
||||||
...m98m99DisableFanucSubsFiles
|
|
||||||
.filter((file) => file.endsWith(".ngc"))
|
|
||||||
.map((file) => `${m98m99DisableFanucSubsDir}/${file}`),
|
|
||||||
].map((path) => path.replace("/work/browser-interp/m98m99/", ""));
|
].map((path) => path.replace("/work/browser-interp/m98m99/", ""));
|
||||||
if (m98m99NestedStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(9, 13).join(",")) {
|
if (m98m99NestedStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(9, 11).join(",")) {
|
||||||
throw new Error("browser_interp_m98m99_nested_staging_manifest: list drift");
|
throw new Error("browser_interp_m98m99_nested_staging_manifest: list drift");
|
||||||
}
|
}
|
||||||
for (const disableFanucCase of [
|
for (const disableFanucCase of [
|
||||||
@@ -8267,11 +8269,15 @@
|
|||||||
"m98m99/11-main-program-oword",
|
"m98m99/11-main-program-oword",
|
||||||
m98m99MainProgramOwordFiles,
|
m98m99MainProgramOwordFiles,
|
||||||
);
|
);
|
||||||
const m98m99MainProgramStagedNgcFiles = [
|
assertInterpRegressionStaging(
|
||||||
m98m99M98P001Path,
|
"m98m99/11-main-program-oword",
|
||||||
...m98m99MainProgramOwordFiles.map((file) => `${m98m99MainProgramOwordDir}/${file}`),
|
m98m99MainProgramOwordFiles,
|
||||||
].map((path) => path.replace("/work/browser-interp/m98m99/", ""));
|
m98m99MainProgramOwordDir,
|
||||||
if (m98m99MainProgramStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(13, 21).join(",")) {
|
);
|
||||||
|
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");
|
throw new Error("browser_interp_m98m99_main_program_staging_manifest: list drift");
|
||||||
}
|
}
|
||||||
for (const mainProgramFixture of [
|
for (const mainProgramFixture of [
|
||||||
|
|||||||
@@ -3115,18 +3115,20 @@ const m98m99DisableFanucSubsDir = writeInterpRegressionFiles(
|
|||||||
"m98m99/09-disable-fanuc-subs",
|
"m98m99/09-disable-fanuc-subs",
|
||||||
m98m99DisableFanucSubsFiles,
|
m98m99DisableFanucSubsFiles,
|
||||||
);
|
);
|
||||||
|
assertInterpRegressionStaging(
|
||||||
|
"m98m99/09-disable-fanuc-subs",
|
||||||
|
m98m99DisableFanucSubsFiles,
|
||||||
|
m98m99DisableFanucSubsDir,
|
||||||
|
);
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
[
|
[
|
||||||
m98m99NestedSubsPath,
|
m98m99NestedSubsPath,
|
||||||
m98m99SubFollowsMainPath,
|
m98m99SubFollowsMainPath,
|
||||||
...m98m99DisableFanucSubsFiles
|
|
||||||
.filter((file) => file.endsWith(".ngc"))
|
|
||||||
.map((file) => `${m98m99DisableFanucSubsDir}/${file}`),
|
|
||||||
],
|
],
|
||||||
m98m99RegressionFiles
|
m98m99RegressionFiles
|
||||||
.slice(9, 13)
|
.slice(9, 11)
|
||||||
.map((file) => `/work/interp/m98m99/${file}`),
|
.map((file) => `/work/interp/m98m99/${file}`),
|
||||||
"interp m98m99 nested/disable-fanuc staging manifest drift",
|
"interp m98m99 nested direct-file staging manifest drift",
|
||||||
);
|
);
|
||||||
for (const disableFanucCase of [
|
for (const disableFanucCase of [
|
||||||
{
|
{
|
||||||
@@ -3245,15 +3247,17 @@ const m98m99MainProgramOwordDir = writeInterpRegressionFiles(
|
|||||||
"m98m99/11-main-program-oword",
|
"m98m99/11-main-program-oword",
|
||||||
m98m99MainProgramOwordFiles,
|
m98m99MainProgramOwordFiles,
|
||||||
);
|
);
|
||||||
|
assertInterpRegressionStaging(
|
||||||
|
"m98m99/11-main-program-oword",
|
||||||
|
m98m99MainProgramOwordFiles,
|
||||||
|
m98m99MainProgramOwordDir,
|
||||||
|
);
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
[
|
[m98m99M98P001Path],
|
||||||
m98m99M98P001Path,
|
|
||||||
...m98m99MainProgramOwordFiles.map((file) => `${m98m99MainProgramOwordDir}/${file}`),
|
|
||||||
],
|
|
||||||
m98m99RegressionFiles
|
m98m99RegressionFiles
|
||||||
.slice(13, 21)
|
.slice(13, 14)
|
||||||
.map((file) => `/work/interp/m98m99/${file}`),
|
.map((file) => `/work/interp/m98m99/${file}`),
|
||||||
"interp m98m99 main-program staging manifest drift",
|
"interp m98m99 m98-p001 direct-file staging manifest drift",
|
||||||
);
|
);
|
||||||
for (const mainProgramFixture of [
|
for (const mainProgramFixture of [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user