Guard browser OPFS direct session load options
This commit is contained in:
53
text8.txt
53
text8.txt
@@ -1684,3 +1684,56 @@ host_wasm_opfs_browser_smokes=ok
|
|||||||
继续小批量 browser OPFS test glue guard。优先扫描 OPFS save result
|
继续小批量 browser OPFS test glue guard。优先扫描 OPFS save result
|
||||||
`verifyExpectedOutput(...)` 的重复 result verification 是否还能收敛为小 helper;
|
`verifyExpectedOutput(...)` 的重复 result verification 是否还能收敛为小 helper;
|
||||||
只改测试胶水,不改变保存结果内容、OPFS path、WASM path 字符串或保存/读取行为。
|
只改测试胶水,不改变保存结果内容、OPFS path、WASM path 字符串或保存/读取行为。
|
||||||
|
|
||||||
|
三十六、2026-06-14 继续执行记录:browser OPFS direct session load options helper guard
|
||||||
|
|
||||||
|
本轮按防重检查确认 save/load result helper 已存在,避免重复做旧批次;改为继续收敛
|
||||||
|
direct browser session 的 `loadMachineSessionFromOpfs(...)` options object,范围仍只
|
||||||
|
触及 `wasm-port/tests/browser/interp_smoke.html` 的 browser/OPFS test glue。
|
||||||
|
|
||||||
|
完成内容:
|
||||||
|
|
||||||
|
- 新增 `opfsSessionLoadOptions(...)`,统一 direct browser session 中
|
||||||
|
`iniWasmPath`、`parameterWasmPath`、`toolTableWasmPath` 的 load options 构造;
|
||||||
|
- `browser-interp` session 的 load options 改为复用
|
||||||
|
`opfsSessionLoadOptions(browserInterpWasmPaths)`;
|
||||||
|
- `browser-random-toolchanger` session 的 load options 改为复用
|
||||||
|
`opfsSessionLoadOptions(browserRandomWasmPaths, { iniSdk: ini })`;
|
||||||
|
- custom session override 继续保留 `opfsCustomSessionLoadOptions(...)`,未混合
|
||||||
|
custom filename override 边界;
|
||||||
|
- 实际 OPFS path、WASM path 字符串、save/read/load 行为均未改变;
|
||||||
|
- 未改变 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。优先扫描 direct browser session 的
|
||||||
|
parameter fixture value groups 是否能像 custom session 一样收敛为局部常量或复用
|
||||||
|
现有 parameter helper;只改测试胶水,不改变参数值、OPFS path、WASM path 字符串或
|
||||||
|
保存/读取行为。
|
||||||
|
|||||||
@@ -4647,6 +4647,15 @@
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function opfsSessionLoadOptions(wasmPaths, extraOptions = {}) {
|
||||||
|
return {
|
||||||
|
...extraOptions,
|
||||||
|
iniWasmPath: wasmPaths.ini,
|
||||||
|
parameterWasmPath: wasmPaths.parameters,
|
||||||
|
toolTableWasmPath: wasmPaths.toolTable,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
async function verifyOpfsSavedText(label, loadActualText, expectedLines) {
|
async function verifyOpfsSavedText(label, loadActualText, expectedLines) {
|
||||||
verifyExpectedOutput(label, await loadActualText(), expectedLines.join("\n"));
|
verifyExpectedOutput(label, await loadActualText(), expectedLines.join("\n"));
|
||||||
}
|
}
|
||||||
@@ -9322,11 +9331,7 @@
|
|||||||
const loadedSession = await loadMachineSessionFromOpfs(
|
const loadedSession = await loadMachineSessionFromOpfs(
|
||||||
interp,
|
interp,
|
||||||
browserInterpMachineId,
|
browserInterpMachineId,
|
||||||
{
|
opfsSessionLoadOptions(browserInterpWasmPaths),
|
||||||
iniWasmPath: browserInterpWasmPaths.ini,
|
|
||||||
parameterWasmPath: browserInterpWasmPaths.parameters,
|
|
||||||
toolTableWasmPath: browserInterpWasmPaths.toolTable,
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
assertOpfsSessionStaging(
|
assertOpfsSessionStaging(
|
||||||
"opfs_load_session_staging",
|
"opfs_load_session_staging",
|
||||||
@@ -9486,12 +9491,7 @@
|
|||||||
const loadedRandomSession = await loadMachineSessionFromOpfs(
|
const loadedRandomSession = await loadMachineSessionFromOpfs(
|
||||||
interp,
|
interp,
|
||||||
browserRandomMachineId,
|
browserRandomMachineId,
|
||||||
{
|
opfsSessionLoadOptions(browserRandomWasmPaths, { iniSdk: ini }),
|
||||||
iniSdk: ini,
|
|
||||||
iniWasmPath: browserRandomWasmPaths.ini,
|
|
||||||
parameterWasmPath: browserRandomWasmPaths.parameters,
|
|
||||||
toolTableWasmPath: browserRandomWasmPaths.toolTable,
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
assertOpfsSessionStaging(
|
assertOpfsSessionStaging(
|
||||||
"opfs_load_random_session_staging",
|
"opfs_load_random_session_staging",
|
||||||
|
|||||||
Reference in New Issue
Block a user