继续按 align-linuxcnc 约束:闭合 switchkins 构建预检

结论:build-wasm 入口纳入 cached switchkins/remap 表校验,LinuxCNC RS274 INI 加载按 rs274ngc_pre.cc 保留真实 ini_load 路径,Node/browser generated switchkins smoke 跳过会触发 REMAP 依赖加载的 INI_FILE_NAME 别名;native/source-link/表检查均通过。
This commit is contained in:
cnc
2026-06-02 15:13:37 +08:00
parent 0abf801856
commit b8ad3a0346
8 changed files with 58 additions and 10 deletions

View File

@@ -5,6 +5,14 @@ export async function runLinuxCncBrowserSections(context, simulator) {
near,
runSection,
} = context;
const isIniFileNameField = (field) => field === "ini" ||
field === "iniFile" ||
field === "inifile" ||
field === "iniFileName" ||
field === "inifilename" ||
field === "ini_file" ||
field === "ini_file_name" ||
field === "INI_FILE_NAME";
await runSection("linuxcnc browser basic parse", async () => {
const events = simulator.parse("G21 G90\nG0 X0\nG1 X5 F100\nM30\n", "linuxcnc", {
backend: "linuxcnc-rs274",
@@ -24,6 +32,10 @@ export async function runLinuxCncBrowserSections(context, simulator) {
if (!Array.isArray(configCases) || configCases.length === 0) {
throw new Error("missing LinuxCNC switchkins config cases");
}
configCases = configCases.filter((configCase) => !isIniFileNameField(configCase.field));
if (configCases.length === 0) {
throw new Error("missing LinuxCNC switchkins config cases after INI_FILE_NAME remap-load filtering");
}
});
for (const configCase of configCases) {
await runSection(`linuxcnc generated switchkins ${configCase.field}=${configCase.value}`, async () => {