Guard final special remap staging paths
This commit is contained in:
@@ -4647,19 +4647,6 @@
|
||||
return wasmDir;
|
||||
}
|
||||
|
||||
function assertRemapRegressionStaging(name, files, wasmDir, expectedUnstagedFiles = []) {
|
||||
if (files.length === 0 || new Set(files).size !== files.length) {
|
||||
throw new Error(`browser_remap_${name}_fixture_coverage: list drift`);
|
||||
}
|
||||
if (expectedUnstagedFiles.some((file) => files.includes(file))) {
|
||||
throw new Error(`browser_remap_${name}_unstaged_fixture_overlap: 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`);
|
||||
}
|
||||
}
|
||||
|
||||
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`);
|
||||
@@ -4671,6 +4658,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
function assertRemapRegressionUnstagedOverlap(name, files, expectedUnstagedFiles) {
|
||||
if (expectedUnstagedFiles.some((file) => files.includes(file))) {
|
||||
throw new Error(`browser_remap_${name}_unstaged_fixture_overlap: list drift`);
|
||||
}
|
||||
}
|
||||
|
||||
async function writeInterpRegressionFile(interp, name, filename) {
|
||||
const sourceDir = `../../vendor/linuxcnc/tests/interp/${name}`;
|
||||
const wasmDir = `/work/browser-interp/${name}`;
|
||||
@@ -6201,11 +6194,15 @@
|
||||
"nested-remaps-oword",
|
||||
nestedRemapsOwordFiles,
|
||||
);
|
||||
assertRemapRegressionStaging(
|
||||
assertRemapRegressionUnstagedOverlap(
|
||||
"nested-remaps-oword",
|
||||
nestedRemapsOwordFiles,
|
||||
nestedRemapsOwordUnstagedFiles,
|
||||
);
|
||||
assertRemapRegressionFilesStaging(
|
||||
"nested-remaps-oword",
|
||||
nestedRemapsOwordFiles,
|
||||
nestedRemapsOwordDir,
|
||||
nestedRemapsOwordUnstagedFiles,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"browser_nested_remaps_oword_remap",
|
||||
@@ -6333,7 +6330,7 @@
|
||||
"io_output_m68.ngc",
|
||||
];
|
||||
const remapIoDir = await writeRemapRegressionFiles(interp, "remap-io", remapIoFiles);
|
||||
assertRemapRegressionStaging("remap-io", remapIoFiles, remapIoDir);
|
||||
assertRemapRegressionFilesStaging("remap-io", remapIoFiles, remapIoDir);
|
||||
const remapIoGeneratedToolTablePath = `${remapIoDir}/simpockets.tbl`;
|
||||
if (remapIoGeneratedToolTablePath !== "/work/browser-remap/remap-io/simpockets.tbl") {
|
||||
throw new Error("browser_remap_remap_io_generated_tool_table_staging: path drift");
|
||||
|
||||
@@ -272,15 +272,6 @@ function assertRemapRegressionFilesStaging(name, files, wasmDir) {
|
||||
}
|
||||
}
|
||||
|
||||
function assertRemapRegressionStaging(name, files, wasmDir, expectedUnstagedFiles = []) {
|
||||
assertRemapRegressionCoverage(name, files, expectedUnstagedFiles);
|
||||
assert.deepEqual(
|
||||
files.map((file) => `${wasmDir}/${file}`),
|
||||
files.map((file) => `/work/remap/${name}/${file}`),
|
||||
`remap ${name} staging manifest drift`,
|
||||
);
|
||||
}
|
||||
|
||||
function writeInterpRegressionFile(name, filename) {
|
||||
const sourceDir = resolve(rootDir, "vendor/linuxcnc/tests/interp", name);
|
||||
const wasmDir = `/work/interp/${name}`;
|
||||
@@ -1212,11 +1203,15 @@ const nestedRemapsOwordDir = writeRemapRegressionFiles(
|
||||
"nested-remaps-oword",
|
||||
nestedRemapsOwordFiles,
|
||||
);
|
||||
assertRemapRegressionStaging(
|
||||
assertRemapRegressionCoverage(
|
||||
"nested-remaps-oword",
|
||||
nestedRemapsOwordFiles,
|
||||
nestedRemapsOwordUnstagedFiles,
|
||||
);
|
||||
assertRemapRegressionFilesStaging(
|
||||
"nested-remaps-oword",
|
||||
nestedRemapsOwordFiles,
|
||||
nestedRemapsOwordDir,
|
||||
nestedRemapsOwordUnstagedFiles,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"nested_remaps_oword_remap_wasm",
|
||||
@@ -1346,7 +1341,8 @@ const remapIoFiles = [
|
||||
"io_output_m68.ngc",
|
||||
];
|
||||
const remapIoDir = writeRemapRegressionFiles("remap-io", remapIoFiles);
|
||||
assertRemapRegressionStaging("remap-io", remapIoFiles, remapIoDir);
|
||||
assertRemapRegressionCoverage("remap-io", remapIoFiles);
|
||||
assertRemapRegressionFilesStaging("remap-io", remapIoFiles, remapIoDir);
|
||||
const remapIoGeneratedToolTablePath = `${remapIoDir}/simpockets.tbl`;
|
||||
assert.equal(
|
||||
remapIoGeneratedToolTablePath,
|
||||
|
||||
Reference in New Issue
Block a user