参考所有分组,完成尽量多的内容。禁止顺手扩功能 smoke:锁定OPFS参数保存顺序
结论:按 LinuxCNC rs274ngc_pre.cc save_parameters() 的 .new、.bak、unlink/link/rename 顺序补强 OPFS/app/browser smoke 守卫,并验证临时参数文件不会残留在 OPFS。
This commit is contained in:
@@ -22,6 +22,12 @@ grep -F 'std::string tempfile = std::string(filename) + ".new";' \
|
||||
"$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null
|
||||
grep -F '+ RS274NGC_PARAMETER_FILE_BACKUP_SUFFIX;' \
|
||||
"$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null
|
||||
grep -F 'unlink(bakfile.c_str());' \
|
||||
"$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null
|
||||
grep -F 'if(link(filename, bakfile.c_str()) < 0)' \
|
||||
"$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null
|
||||
grep -F 'if(rename(tempfile.c_str(), filename) < 0)' \
|
||||
"$linuxcnc_root/src/emc/rs274ngc/rs274ngc_pre.cc" >/dev/null
|
||||
|
||||
grep -F 'RS274NGC_PARAMETER_FILE_NAME_DEFAULT` as `rs274ngc.var`' \
|
||||
docs/linuxcnc-opfs-source-map.md >/dev/null
|
||||
@@ -31,6 +37,8 @@ grep -F '`Interp::restore_parameters()` for parameter-file reads' \
|
||||
docs/linuxcnc-opfs-source-map.md >/dev/null
|
||||
grep -F '`Interp::save_parameters()` for `filename + ".new"`' \
|
||||
docs/linuxcnc-opfs-source-map.md >/dev/null
|
||||
grep -F 'unlinks `filename + ".bak"`, links the' \
|
||||
docs/linuxcnc-opfs-source-map.md >/dev/null
|
||||
grep -F 'must not add independent filesystem behavior or expand the temporary smoke parser' \
|
||||
docs/linuxcnc-opfs-source-map.md >/dev/null
|
||||
grep -F 'parseFileWithParameterFile()' docs/linuxcnc-opfs-source-map.md >/dev/null
|
||||
@@ -47,6 +55,8 @@ grep -F '`${LINUXCNC_DEFAULT_PARAMETER_FILE}.new`' web/src/wasm-core.js >/dev/nu
|
||||
grep -F '`${LINUXCNC_DEFAULT_PARAMETER_FILE}.bak`' web/src/wasm-core.js >/dev/null
|
||||
grep -F 'LinuxCNC source basis: rs274ngc_pre.cc restore_parameters() reads the' web/src/wasm-core.js >/dev/null
|
||||
grep -F 'before replacing the main file and managing filename + ".bak".' web/src/wasm-core.js >/dev/null
|
||||
grep -F 'app frame did not clean up LinuxCNC temporary parameter file in OPFS' \
|
||||
web/test-browser-wasm-smoke-app-sections.js >/dev/null
|
||||
grep -F 'OPFS cannot be disabled in browser contexts with OPFS support' web/src/wasm-core.js >/dev/null
|
||||
grep -F 'const events = await simulator.parseFileWithParameterFile(programPath, parameterPath, "linuxcnc", parseOptions);' \
|
||||
web/src/app.js >/dev/null
|
||||
@@ -83,6 +93,7 @@ required_phrases = [
|
||||
"parameters/rs274ngc.var",
|
||||
"LinuxCNC `read_text()`",
|
||||
"`.new`, `.bak`, failure, and stale-state semantics",
|
||||
'unlinks `filename + ".bak"`',
|
||||
"OPFS/WASM mirror persistence",
|
||||
"app-level OPFS program, parameter, backup, and reload behavior",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user