Guard initial remap per-file staging paths
This commit is contained in:
@@ -4660,6 +4660,17 @@
|
||||
}
|
||||
}
|
||||
|
||||
function assertRemapRegressionFilesStaging(name, files, wasmDir) {
|
||||
if (files.length === 0 || new Set(files).size !== files.length) {
|
||||
throw new Error(`browser_remap_${name}_fixture_coverage: list drift`);
|
||||
}
|
||||
for (const file of files) {
|
||||
if (`${wasmDir}/${file}` !== `/work/browser-remap/${name}/${file}`) {
|
||||
throw new Error(`browser_remap_${name}_${file}_staging_manifest: list drift`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function writeInterpRegressionFile(interp, name, filename) {
|
||||
const sourceDir = `../../vendor/linuxcnc/tests/interp/${name}`;
|
||||
const wasmDir = `/work/browser-interp/${name}`;
|
||||
@@ -6008,7 +6019,7 @@
|
||||
"rm208.ngc",
|
||||
];
|
||||
const duplicateOwordDir = await writeRemapRegressionFiles(interp, "duplicate-o-word", duplicateOwordFiles);
|
||||
assertRemapRegressionStaging("duplicate-o-word", duplicateOwordFiles, duplicateOwordDir);
|
||||
assertRemapRegressionFilesStaging("duplicate-o-word", duplicateOwordFiles, duplicateOwordDir);
|
||||
verifyExpectedOutput(
|
||||
"browser_duplicate_oword_remap",
|
||||
interp.runRemapFile(
|
||||
@@ -6042,7 +6053,7 @@
|
||||
"rm400.ngc",
|
||||
];
|
||||
const failArgs0Dir = await writeRemapRegressionFiles(interp, "fail/args.0", failArgs0Files);
|
||||
assertRemapRegressionStaging("fail/args.0", failArgs0Files, failArgs0Dir);
|
||||
assertRemapRegressionFilesStaging("fail/args.0", failArgs0Files, failArgs0Dir);
|
||||
verifyExpectedOutput(
|
||||
"browser_fail_args_0_remap",
|
||||
interp.runRemapFile(
|
||||
@@ -6071,7 +6082,7 @@
|
||||
"rm400.ngc",
|
||||
];
|
||||
const failArgs1Dir = await writeRemapRegressionFiles(interp, "fail/args.1", failArgs1Files);
|
||||
assertRemapRegressionStaging("fail/args.1", failArgs1Files, failArgs1Dir);
|
||||
assertRemapRegressionFilesStaging("fail/args.1", failArgs1Files, failArgs1Dir);
|
||||
verifyExpectedOutput(
|
||||
"browser_fail_args_1_remap",
|
||||
interp.runRemapFileContinueOnError(
|
||||
|
||||
@@ -246,7 +246,7 @@ function writeRemapRegressionFiles(name, files) {
|
||||
return wasmDir;
|
||||
}
|
||||
|
||||
function assertRemapRegressionStaging(name, files, wasmDir, expectedUnstagedFiles = []) {
|
||||
function assertRemapRegressionCoverage(name, files, expectedUnstagedFiles = []) {
|
||||
const sourceDir = resolve(rootDir, "vendor/linuxcnc/tests/remap", name);
|
||||
assert.deepEqual(
|
||||
readdirSync(sourceDir)
|
||||
@@ -260,6 +260,20 @@ function assertRemapRegressionStaging(name, files, wasmDir, expectedUnstagedFile
|
||||
[],
|
||||
`remap ${name} unstaged fixture overlap drift`,
|
||||
);
|
||||
}
|
||||
|
||||
function assertRemapRegressionFilesStaging(name, files, wasmDir) {
|
||||
for (const file of files) {
|
||||
assert.equal(
|
||||
`${wasmDir}/${file}`,
|
||||
`/work/remap/${name}/${file}`,
|
||||
`remap ${name}/${file} staging manifest drift`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function assertRemapRegressionStaging(name, files, wasmDir, expectedUnstagedFiles = []) {
|
||||
assertRemapRegressionCoverage(name, files, expectedUnstagedFiles);
|
||||
assert.deepEqual(
|
||||
files.map((file) => `${wasmDir}/${file}`),
|
||||
files.map((file) => `/work/remap/${name}/${file}`),
|
||||
@@ -1011,7 +1025,8 @@ const duplicateOwordFiles = [
|
||||
"rm208.ngc",
|
||||
];
|
||||
const duplicateOwordDir = writeRemapRegressionFiles("duplicate-o-word", duplicateOwordFiles);
|
||||
assertRemapRegressionStaging("duplicate-o-word", duplicateOwordFiles, duplicateOwordDir);
|
||||
assertRemapRegressionCoverage("duplicate-o-word", duplicateOwordFiles);
|
||||
assertRemapRegressionFilesStaging("duplicate-o-word", duplicateOwordFiles, duplicateOwordDir);
|
||||
verifyExpectedOutput(
|
||||
"duplicate_oword_remap_wasm",
|
||||
interp.runRemapFile(
|
||||
@@ -1045,7 +1060,8 @@ const failArgs0Files = [
|
||||
"rm400.ngc",
|
||||
];
|
||||
const failArgs0Dir = writeRemapRegressionFiles("fail/args.0", failArgs0Files);
|
||||
assertRemapRegressionStaging("fail/args.0", failArgs0Files, failArgs0Dir);
|
||||
assertRemapRegressionCoverage("fail/args.0", failArgs0Files);
|
||||
assertRemapRegressionFilesStaging("fail/args.0", failArgs0Files, failArgs0Dir);
|
||||
verifyExpectedOutput(
|
||||
"fail_args_0_remap_wasm",
|
||||
interp.runRemapFile(
|
||||
@@ -1074,7 +1090,8 @@ const failArgs1Files = [
|
||||
"rm400.ngc",
|
||||
];
|
||||
const failArgs1Dir = writeRemapRegressionFiles("fail/args.1", failArgs1Files);
|
||||
assertRemapRegressionStaging("fail/args.1", failArgs1Files, failArgs1Dir);
|
||||
assertRemapRegressionCoverage("fail/args.1", failArgs1Files);
|
||||
assertRemapRegressionFilesStaging("fail/args.1", failArgs1Files, failArgs1Dir);
|
||||
verifyExpectedOutput(
|
||||
"fail_args_1_remap_wasm",
|
||||
interp.runRemapFileContinueOnError(
|
||||
|
||||
Reference in New Issue
Block a user