Guard initial remap staging paths

This commit is contained in:
2026-06-13 08:11:55 +08:00
parent 0588cec429
commit 3b1e4129c4
3 changed files with 121 additions and 24 deletions

View File

@@ -4647,6 +4647,16 @@
return wasmDir;
}
function assertRemapRegressionStaging(name, files, wasmDir) {
if (files.length === 0 || new Set(files).size !== files.length) {
throw new Error(`browser_remap_${name}_fixture_coverage: list drift`);
}
const remapStagedRelativeFiles = files.map((file) => `${wasmDir}/${file}`.replace(`/work/browser-remap/${name}/`, ""));
if (remapStagedRelativeFiles.join(",") !== files.join(",")) {
throw new Error(`browser_remap_${name}_staging_manifest: list drift`);
}
}
async function writeInterpRegressionFile(interp, name, filename) {
const sourceDir = `../../vendor/linuxcnc/tests/interp/${name}`;
const wasmDir = `/work/browser-interp/${name}`;
@@ -5951,12 +5961,14 @@
].join("\n"),
);
const duplicateOwordDir = await writeRemapRegressionFiles(interp, "duplicate-o-word", [
const duplicateOwordFiles = [
"test.ini",
"test.ngc",
"rm207.ngc",
"rm208.ngc",
]);
];
const duplicateOwordDir = await writeRemapRegressionFiles(interp, "duplicate-o-word", duplicateOwordFiles);
assertRemapRegressionStaging("duplicate-o-word", duplicateOwordFiles, duplicateOwordDir);
verifyExpectedOutput(
"browser_duplicate_oword_remap",
interp.runRemapFile(
@@ -5984,11 +5996,13 @@
].join("\n"),
);
const failArgs0Dir = await writeRemapRegressionFiles(interp, "fail/args.0", [
const failArgs0Files = [
"test.ini",
"test.ngc",
"rm400.ngc",
]);
];
const failArgs0Dir = await writeRemapRegressionFiles(interp, "fail/args.0", failArgs0Files);
assertRemapRegressionStaging("fail/args.0", failArgs0Files, failArgs0Dir);
verifyExpectedOutput(
"browser_fail_args_0_remap",
interp.runRemapFile(
@@ -6011,11 +6025,13 @@
].join("\n"),
);
const failArgs1Dir = await writeRemapRegressionFiles(interp, "fail/args.1", [
const failArgs1Files = [
"test.ini",
"test.ngc",
"rm400.ngc",
]);
];
const failArgs1Dir = await writeRemapRegressionFiles(interp, "fail/args.1", failArgs1Files);
assertRemapRegressionStaging("fail/args.1", failArgs1Files, failArgs1Dir);
verifyExpectedOutput(
"browser_fail_args_1_remap",
interp.runRemapFileContinueOnError(
@@ -6034,11 +6050,13 @@
].join("\n"),
);
const failArgs2Dir = await writeRemapRegressionFiles(interp, "fail/args.2", [
const failArgs2Files = [
"test.ini",
"test.ngc",
"rm400.ngc",
]);
];
const failArgs2Dir = await writeRemapRegressionFiles(interp, "fail/args.2", failArgs2Files);
assertRemapRegressionStaging("fail/args.2", failArgs2Files, failArgs2Dir);
verifyExpectedOutput(
"browser_fail_args_2_remap",
interp.runRemapFileContinueOnError(
@@ -6057,11 +6075,13 @@
].join("\n"),
);
const failBodyNgcDir = await writeRemapRegressionFiles(interp, "fail/body-ngc", [
const failBodyNgcFiles = [
"test.ini",
"test.ngc",
"rm400.ngc",
]);
];
const failBodyNgcDir = await writeRemapRegressionFiles(interp, "fail/body-ngc", failBodyNgcFiles);
assertRemapRegressionStaging("fail/body-ngc", failBodyNgcFiles, failBodyNgcDir);
verifyExpectedOutput(
"browser_fail_body_ngc_remap",
interp.runRemapFileContinueOnError(
@@ -6083,11 +6103,13 @@
].join("\n"),
);
const m30InteractionDir = await writeRemapRegressionFiles(interp, "m30-interaction", [
const m30InteractionFiles = [
"test.ini",
"test.ngc",
"rm400.ngc",
]);
];
const m30InteractionDir = await writeRemapRegressionFiles(interp, "m30-interaction", m30InteractionFiles);
assertRemapRegressionStaging("m30-interaction", m30InteractionFiles, m30InteractionDir);
verifyExpectedOutput(
"browser_m30_interaction_remap",
interp.runRemapFile(