diff --git a/text8.txt b/text8.txt index a4451fe..48fae1e 100644 --- a/text8.txt +++ b/text8.txt @@ -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/` 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 字符串或保存/读取行为。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index 6bcab98..128b679 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -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,