Guard final interp per-file staging paths

This commit is contained in:
2026-06-13 12:49:17 +08:00
parent 6f95135093
commit 08e10c7b5a
3 changed files with 69 additions and 27 deletions

View File

@@ -4705,16 +4705,6 @@
return wasmDir;
}
function assertInterpRegressionStaging(name, files, wasmDir) {
if (files.length === 0 || new Set(files).size !== files.length) {
throw new Error(`browser_interp_${name}_fixture_coverage: list drift`);
}
const interpStagedRelativeFiles = files.map((file) => `${wasmDir}/${file}`.replace(`/work/browser-interp/${name}/`, ""));
if (interpStagedRelativeFiles.join(",") !== files.join(",")) {
throw new Error(`browser_interp_${name}_staging_manifest: list drift`);
}
}
async function writeCcompRegressionFiles(interp, name) {
const sourceDir = `../../vendor/linuxcnc/tests/ccomp/${name}`;
const wasmDir = `/work/browser-ccomp/${name}`;
@@ -6374,7 +6364,7 @@
"do-while-break",
doWhileBreakNgcFiles,
);
assertInterpRegressionStaging("do-while-break", doWhileBreakNgcFiles, doWhileBreakDir);
assertInterpRegressionFilesStaging("do-while-break", doWhileBreakNgcFiles, doWhileBreakDir);
const doWhileBreakPath = `${doWhileBreakDir}/test.ngc`;
verifyExpectedOutput(
"browser_interp_do_while_break",
@@ -6599,7 +6589,7 @@
"test.tbl",
];
const camNisleyDir = await writeInterpRegressionFiles(interp, "cam-nisley", camNisleyFiles);
assertInterpRegressionStaging("cam-nisley", camNisleyFiles, camNisleyDir);
assertInterpRegressionFilesStaging("cam-nisley", camNisleyFiles, camNisleyDir);
interp.writeTextFile(
`${camNisleyDir}/test.ini`,
[
@@ -7296,7 +7286,7 @@
"test.tbl",
];
const g76Dir = await writeInterpRegressionFiles(interp, "g76", g76Files);
assertInterpRegressionStaging("g76", g76Files, g76Dir);
assertInterpRegressionFilesStaging("g76", g76Files, g76Dir);
interp.writeTextFile(
`${g76Dir}/test.ini`,
[
@@ -8292,7 +8282,7 @@
"m98m99/13-named-program",
m98m99NamedProgramFiles,
);
assertInterpRegressionStaging(
assertInterpRegressionFilesStaging(
"m98m99/13-named-program",
m98m99NamedProgramFiles,
m98m99NamedProgramDir,