Guard main-program m98m99 staging paths
This commit is contained in:
107
text5.txt
107
text5.txt
@@ -7289,3 +7289,110 @@ Guard nested m98m99 staging paths
|
|||||||
|
|
||||||
`11-main-program-oword` 有 7 个 `.ngc`,已在 Node/browser 分组执行;下一批仍只
|
`11-main-program-oword` 有 7 个 `.ngc`,已在 Node/browser 分组执行;下一批仍只
|
||||||
做 staged path 与 fixed manifest 对账,不扩大到 blocked runtime。
|
做 staged path 与 fixed manifest 对账,不扩大到 blocked runtime。
|
||||||
|
|
||||||
|
七十七、2026-06-13 继续执行记录:m98m99 main-program staging path guard
|
||||||
|
|
||||||
|
本轮继续拆 `tests/interp/m98m99`,仍保持小批量 staging guard。当前 host 仍按
|
||||||
|
blocked runtime 规则处理,不执行任何 `ENABLE_*_RUNTIME_PROBE=1` opt-in native
|
||||||
|
probe。
|
||||||
|
|
||||||
|
1. 候选选择。
|
||||||
|
|
||||||
|
选择上一节建议的第四小批:
|
||||||
|
|
||||||
|
- `m98m99/10-M98-P001/test.ngc`
|
||||||
|
- `m98m99/11-main-program-oword/test-illegal-end-main-with-eof.ngc`
|
||||||
|
- `m98m99/11-main-program-oword/test-illegal-no-m30-before-osub.ngc`
|
||||||
|
- `m98m99/11-main-program-oword/test-illegal-sub-after-percent.ngc`
|
||||||
|
- `m98m99/11-main-program-oword/test-legal-end-main-with-m02.ngc`
|
||||||
|
- `m98m99/11-main-program-oword/test-legal-end-main-with-m2.ngc`
|
||||||
|
- `m98m99/11-main-program-oword/test-legal-end-main-with-m30.ngc`
|
||||||
|
- `m98m99/11-main-program-oword/test-legal-end-main-with-percent.ngc`
|
||||||
|
|
||||||
|
这些 case 已在 Node/browser 单独执行,不需要 INI/HAL/task/tool DB/Python
|
||||||
|
remap/user-M process runtime。本轮只固定 staged path 与既有 fixed `.ngc`
|
||||||
|
manifest 第 14 到第 21 项的一致性,不新增 CNC 语义。
|
||||||
|
|
||||||
|
2. 覆盖对账。
|
||||||
|
|
||||||
|
`tests/interp/m98m99` 当前 upstream `.ngc` manifest 已由既有 fixed list 覆盖,
|
||||||
|
本轮新增对账的 manifest slice 为:
|
||||||
|
|
||||||
|
```text
|
||||||
|
10-M98-P001/test.ngc
|
||||||
|
11-main-program-oword/test-illegal-end-main-with-eof.ngc
|
||||||
|
11-main-program-oword/test-illegal-no-m30-before-osub.ngc
|
||||||
|
11-main-program-oword/test-illegal-sub-after-percent.ngc
|
||||||
|
11-main-program-oword/test-legal-end-main-with-m02.ngc
|
||||||
|
11-main-program-oword/test-legal-end-main-with-m2.ngc
|
||||||
|
11-main-program-oword/test-legal-end-main-with-m30.ngc
|
||||||
|
11-main-program-oword/test-legal-end-main-with-percent.ngc
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 更新。
|
||||||
|
|
||||||
|
更新:
|
||||||
|
|
||||||
|
- `wasm-port/tests/wasm/node/verify_interp_wasm.mjs`
|
||||||
|
- `wasm-port/tests/browser/interp_smoke.html`
|
||||||
|
|
||||||
|
Node 新增:
|
||||||
|
|
||||||
|
- 将 `11-main-program-oword` staged file list 提成
|
||||||
|
`m98m99MainProgramOwordFiles`,并按 fixed manifest 顺序排列;
|
||||||
|
- 检查 `10-M98-P001` direct-file staged path,加上 `11` staged `.ngc` path,
|
||||||
|
与 `m98m99RegressionFiles.slice(13, 21)` 推导出的
|
||||||
|
`/work/interp/m98m99/...` path 一致。
|
||||||
|
|
||||||
|
Browser 新增:
|
||||||
|
|
||||||
|
- 同步提取 `m98m99MainProgramOwordFiles`;
|
||||||
|
- 检查 `10` 和 `11` staged `.ngc` path 去掉
|
||||||
|
`/work/browser-interp/m98m99/` 前缀后,与
|
||||||
|
`m98m99RegressionFiles.slice(13, 21)` 一致;
|
||||||
|
- browser 仍不枚举目录。
|
||||||
|
|
||||||
|
4. 已执行验证。
|
||||||
|
|
||||||
|
```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_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
|
||||||
|
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
|
||||||
|
wasm-port/tests/host/verify_host_smokes.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
结果:
|
||||||
|
|
||||||
|
- `git diff --check` clean。
|
||||||
|
- `vendor sync up to date`
|
||||||
|
- `standalone CNC semantics guard complete`
|
||||||
|
- `interp_wasm_node_smoke=ok`
|
||||||
|
- Node inventory 保持:
|
||||||
|
- `executed=28`
|
||||||
|
- `passed=28`
|
||||||
|
- `skipped=131`
|
||||||
|
- `unexpected_fail=0`
|
||||||
|
- `browser_interp_smoke=ok`
|
||||||
|
- `host_wasm_opfs_browser_smokes=ok`
|
||||||
|
|
||||||
|
5. 下一步工作建议。
|
||||||
|
|
||||||
|
当前工作集已稳定。建议先做小提交,message:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Guard main-program m98m99 staging paths
|
||||||
|
```
|
||||||
|
|
||||||
|
提交后继续拆 `m98m99`,下一小批建议选择:
|
||||||
|
|
||||||
|
```text
|
||||||
|
13-named-program/test-named.ngc
|
||||||
|
13-named-program/test-numbered.ngc
|
||||||
|
14-o-expression-call/test.ngc
|
||||||
|
```
|
||||||
|
|
||||||
|
这将覆盖 `m98m99` fixed manifest 的最后 3 个 `.ngc`。本批仍只做 staged path
|
||||||
|
与 fixed manifest 对账,不扩大到 blocked runtime。
|
||||||
|
|||||||
@@ -7969,19 +7969,27 @@
|
|||||||
].join("\n"),
|
].join("\n"),
|
||||||
);
|
);
|
||||||
|
|
||||||
const m98m99MainProgramOwordDir = await writeInterpRegressionFiles(
|
const m98m99MainProgramOwordFiles = [
|
||||||
interp,
|
|
||||||
"m98m99/11-main-program-oword",
|
|
||||||
[
|
|
||||||
"test-legal-end-main-with-m2.ngc",
|
|
||||||
"test-legal-end-main-with-m02.ngc",
|
|
||||||
"test-legal-end-main-with-m30.ngc",
|
|
||||||
"test-legal-end-main-with-percent.ngc",
|
|
||||||
"test-illegal-end-main-with-eof.ngc",
|
"test-illegal-end-main-with-eof.ngc",
|
||||||
"test-illegal-no-m30-before-osub.ngc",
|
"test-illegal-no-m30-before-osub.ngc",
|
||||||
"test-illegal-sub-after-percent.ngc",
|
"test-illegal-sub-after-percent.ngc",
|
||||||
],
|
"test-legal-end-main-with-m02.ngc",
|
||||||
|
"test-legal-end-main-with-m2.ngc",
|
||||||
|
"test-legal-end-main-with-m30.ngc",
|
||||||
|
"test-legal-end-main-with-percent.ngc",
|
||||||
|
];
|
||||||
|
const m98m99MainProgramOwordDir = await writeInterpRegressionFiles(
|
||||||
|
interp,
|
||||||
|
"m98m99/11-main-program-oword",
|
||||||
|
m98m99MainProgramOwordFiles,
|
||||||
);
|
);
|
||||||
|
const m98m99MainProgramStagedNgcFiles = [
|
||||||
|
m98m99M98P001Path,
|
||||||
|
...m98m99MainProgramOwordFiles.map((file) => `${m98m99MainProgramOwordDir}/${file}`),
|
||||||
|
].map((path) => path.replace("/work/browser-interp/m98m99/", ""));
|
||||||
|
if (m98m99MainProgramStagedNgcFiles.join(",") !== m98m99RegressionFiles.slice(13, 21).join(",")) {
|
||||||
|
throw new Error("browser_interp_m98m99_main_program_staging_manifest: list drift");
|
||||||
|
}
|
||||||
for (const mainProgramFixture of [
|
for (const mainProgramFixture of [
|
||||||
{
|
{
|
||||||
name: "legal_m2",
|
name: "legal_m2",
|
||||||
|
|||||||
@@ -2866,17 +2866,28 @@ verifyExpectedOutput(
|
|||||||
].join("\n"),
|
].join("\n"),
|
||||||
);
|
);
|
||||||
|
|
||||||
const m98m99MainProgramOwordDir = writeInterpRegressionFiles(
|
const m98m99MainProgramOwordFiles = [
|
||||||
"m98m99/11-main-program-oword",
|
|
||||||
[
|
|
||||||
"test-legal-end-main-with-m2.ngc",
|
|
||||||
"test-legal-end-main-with-m02.ngc",
|
|
||||||
"test-legal-end-main-with-m30.ngc",
|
|
||||||
"test-legal-end-main-with-percent.ngc",
|
|
||||||
"test-illegal-end-main-with-eof.ngc",
|
"test-illegal-end-main-with-eof.ngc",
|
||||||
"test-illegal-no-m30-before-osub.ngc",
|
"test-illegal-no-m30-before-osub.ngc",
|
||||||
"test-illegal-sub-after-percent.ngc",
|
"test-illegal-sub-after-percent.ngc",
|
||||||
|
"test-legal-end-main-with-m02.ngc",
|
||||||
|
"test-legal-end-main-with-m2.ngc",
|
||||||
|
"test-legal-end-main-with-m30.ngc",
|
||||||
|
"test-legal-end-main-with-percent.ngc",
|
||||||
|
];
|
||||||
|
const m98m99MainProgramOwordDir = writeInterpRegressionFiles(
|
||||||
|
"m98m99/11-main-program-oword",
|
||||||
|
m98m99MainProgramOwordFiles,
|
||||||
|
);
|
||||||
|
assert.deepEqual(
|
||||||
|
[
|
||||||
|
m98m99M98P001Path,
|
||||||
|
...m98m99MainProgramOwordFiles.map((file) => `${m98m99MainProgramOwordDir}/${file}`),
|
||||||
],
|
],
|
||||||
|
m98m99RegressionFiles
|
||||||
|
.slice(13, 21)
|
||||||
|
.map((file) => `/work/interp/m98m99/${file}`),
|
||||||
|
"interp m98m99 main-program staging manifest drift",
|
||||||
);
|
);
|
||||||
for (const mainProgramFixture of [
|
for (const mainProgramFixture of [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user