From 6266887fec13921e1710056558ffa72679910628 Mon Sep 17 00:00:00 2001 From: cnc Date: Tue, 2 Jun 2026 15:17:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E6=8C=89=20align-linuxcnc=20?= =?UTF-8?q?=E7=BA=A6=E6=9D=9F=EF=BC=9A=E9=94=81=E5=AE=9A=20INI=20remap=20s?= =?UTF-8?q?moke=20=E8=BF=87=E6=BB=A4=E4=BE=9D=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 结论:Node/browser generated switchkins smoke 的 INI_FILE_NAME 过滤已用 LinuxCNC rs274ngc_pre.cc ini_load 来源注释标明,并由 native/all-native guardrail 锁定;native/source-link/表检查均通过。 --- test-all-native.sh | 2 ++ test-native.sh | 2 ++ test-web-wasm-node-smoke.cjs | 2 ++ web/test-browser-wasm-smoke-linuxcnc-sections.js | 2 ++ 4 files changed, 8 insertions(+) diff --git a/test-all-native.sh b/test-all-native.sh index 751dfc0..0b9b4be 100755 --- a/test-all-native.sh +++ b/test-all-native.sh @@ -109,6 +109,8 @@ grep -F 'switchkins config aliases.' docs/linuxcnc-source-policy.md >/dev/null grep -F 'check-linuxcnc-switchkins-remap-table-cached.sh --cache-dir "$preflight_cache_dir" linuxcnc-kinematics-source-files.txt' test-native.sh >/dev/null grep -F 'check-linuxcnc-switchkins-remap-table-cached.sh --cache-dir "$preflight_cache_dir" linuxcnc-kinematics-source-files.txt' test-linuxcnc-source-link.sh >/dev/null grep -F 'check-linuxcnc-switchkins-remap-table-cached.sh --cache-dir "$preflight_cache_dir" linuxcnc-kinematics-source-files.txt' build-wasm.sh >/dev/null +grep -F "grep -F 'rs274ngc_pre.cc ini_load() consumes INI_FILE_NAME' test-web-wasm-node-smoke.cjs >/dev/null" test-native.sh >/dev/null +grep -F "grep -F 'rs274ngc_pre.cc ini_load() consumes INI_FILE_NAME' web/test-browser-wasm-smoke-linuxcnc-sections.js >/dev/null" test-native.sh >/dev/null grep -F 'CNC_SIM_PREFLIGHT_CACHE_DIR="$preflight_cache_dir"' build-wasm.sh >/dev/null grep -F 'CNC_SIM_PREFLIGHT_CACHE_DIR="$preflight_cache_dir"' test-linuxcnc-source-link.sh >/dev/null grep -F 'CNC_SIM_PREFLIGHT_CACHE_DIR="$preflight_cache_dir"' test-linuxcnc-source-syntax.sh >/dev/null diff --git a/test-native.sh b/test-native.sh index 5a3071c..41b926b 100755 --- a/test-native.sh +++ b/test-native.sh @@ -140,6 +140,8 @@ grep -F 'expected LinuxCNC INI PARAMETER_FILE to restore numbered parameters' co grep -F 'expected LinuxCNC config INI_FILE_NAME to back #<_ini[]> named parameters' core/tests/cnc_sim_api_linuxcnc_rs274_smoke.cpp >/dev/null grep -F 'interp->ini_load(options.ini_file_name.c_str())' core/src/linuxcnc_rs274_backend.cpp >/dev/null grep -F 'ScopedEnvironmentVariable ini_file_env("INI_FILE_NAME", options.ini_file_name)' core/src/linuxcnc_rs274_backend.cpp >/dev/null +grep -F 'rs274ngc_pre.cc ini_load() consumes INI_FILE_NAME' test-web-wasm-node-smoke.cjs >/dev/null +grep -F 'rs274ngc_pre.cc ini_load() consumes INI_FILE_NAME' web/test-browser-wasm-smoke-linuxcnc-sections.js >/dev/null grep -F 'metadata:src/emc/nml_intf/emcops.cc:source basis for native source-link EMC status constructor support object' linuxcnc-rs274-source-files.txt >/dev/null grep -F 'metadata:src/emc/sai/dummyemcstat.cc:source basis for native source-link emcStatus singleton support object' linuxcnc-rs274-source-files.txt >/dev/null grep -F 'metadata:src/emc/sai/Submakefile:LinuxCNC SAI build metadata defining dummyemcstat support object' linuxcnc-rs274-source-files.txt >/dev/null diff --git a/test-web-wasm-node-smoke.cjs b/test-web-wasm-node-smoke.cjs index fd4e04d..8a41b57 100644 --- a/test-web-wasm-node-smoke.cjs +++ b/test-web-wasm-node-smoke.cjs @@ -108,6 +108,8 @@ function near(actual, expected) { let completedSteps = 0; function isIniFileNameField(field) { + // LinuxCNC source basis: rs274ngc_pre.cc ini_load() consumes INI_FILE_NAME + // and parses [RS274NGC] REMAP entries before Interp::init(). return field === "ini" || field === "iniFile" || field === "inifile" || diff --git a/web/test-browser-wasm-smoke-linuxcnc-sections.js b/web/test-browser-wasm-smoke-linuxcnc-sections.js index 80976e2..8e22ef6 100644 --- a/web/test-browser-wasm-smoke-linuxcnc-sections.js +++ b/web/test-browser-wasm-smoke-linuxcnc-sections.js @@ -5,6 +5,8 @@ export async function runLinuxCncBrowserSections(context, simulator) { near, runSection, } = context; + // LinuxCNC source basis: rs274ngc_pre.cc ini_load() consumes INI_FILE_NAME + // and parses [RS274NGC] REMAP entries before Interp::init(). const isIniFileNameField = (field) => field === "ini" || field === "iniFile" || field === "inifile" ||