Guard browser OPFS INI-named session file group

This commit is contained in:
2026-06-14 02:41:05 +08:00
parent bc70d026bd
commit ee4c4e10af
2 changed files with 67 additions and 4 deletions

View File

@@ -1584,3 +1584,52 @@ host_wasm_opfs_browser_smokes=ok
继续小批量 browser OPFS test glue guard。优先扫描 custom session 中 filename groups
是否还能和 path/load/staging helper 对齐为 locals只改测试胶水不改变 custom
filename 输入、OPFS path、WASM path 字符串或保存/读取行为。
三十四、2026-06-14 继续执行记录browser OPFS INI-named session file group helper guard
本轮按上一条下一步建议继续收敛 custom session filename groups范围仍只触及
`wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
完成内容:
- 新增 `opfsCustomSessionFiles(...)`,统一 custom session parameter/tool-table
filename 与对应 WASM path 的派生;
- INI-named session 的 `browser-custom.var` 与 `browser-custom-tool.tbl` 改为通过
`opfsCustomSessionFiles(...)` 生成 filename group
- INI-named session 的 parameter/tool-table WASM paths 改为复用该 filename group
派生出的 `/work/<filename>` paths
- 实际 custom filename 输入、OPFS path、WASM path 字符串与 save/read 行为均未改变;
- 未改变 staging path 模型、OPFS bridge behavior、file-service、SDK planner、
interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
验证已通过:
```bash
git diff --check
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_interp_wasm.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
wasm-port/tests/host/verify_host_smokes.sh
```
关键输出:
```text
browser_interp_smoke=ok
vendor sync up to date
standalone CNC semantics guard complete
interp_wasm_node_smoke=ok
sim_configs_wasm_node_inventory_executed=28
sim_configs_wasm_node_inventory_passed=28
sim_configs_wasm_node_inventory_skipped=131
sim_configs_wasm_node_inventory_unexpected_fail=0
host_wasm_opfs_browser_smokes=ok
```
下一步建议:
继续小批量 browser OPFS test glue guard。优先扫描 explicit override session 的
filename group 是否也能复用 `opfsCustomSessionFiles(...)`;只改测试胶水,不改变
custom filename 输入、OPFS path、WASM path 字符串或保存/读取行为。

View File

@@ -4672,6 +4672,19 @@
return `/work/${filename}`;
}
function opfsCustomSessionFiles(parameterFilename, toolTableFilename) {
return {
filenames: {
parameters: parameterFilename,
toolTable: toolTableFilename,
},
wasm: {
parameters: opfsCustomSessionWasmPath(parameterFilename),
toolTable: opfsCustomSessionWasmPath(toolTableFilename),
},
};
}
function opfsMachineIniWasmPath(machineId) {
return `/work/${machineId}.ini`;
}
@@ -9543,11 +9556,12 @@
);
const iniFileMachineId = "browser-ini-file-session";
const iniFileParameterFilename = "browser-custom.var";
const iniFileToolTableFilename = "browser-custom-tool.tbl";
const iniFileSessionFiles = opfsCustomSessionFiles("browser-custom.var", "browser-custom-tool.tbl");
const iniFileIniWasmPath = opfsMachineIniWasmPath(iniFileMachineId);
const iniFileParameterWasmPath = opfsCustomSessionWasmPath(iniFileParameterFilename);
const iniFileToolTableWasmPath = opfsCustomSessionWasmPath(iniFileToolTableFilename);
const iniFileParameterFilename = iniFileSessionFiles.filenames.parameters;
const iniFileToolTableFilename = iniFileSessionFiles.filenames.toolTable;
const iniFileParameterWasmPath = iniFileSessionFiles.wasm.parameters;
const iniFileToolTableWasmPath = iniFileSessionFiles.wasm.toolTable;
const browserIniFileTextPaths = await saveMachineTextFiles(iniFileMachineId, {
ini: opfsCustomSessionIniText(
iniFileMachineId,