Guard fiveaxis staging manifests
This commit is contained in:
@@ -131,61 +131,78 @@ function stageInterpIniContext(name, programFile = "test.ngc") {
|
||||
return plan;
|
||||
}
|
||||
|
||||
function assertFiveAxisMachineNgcCoverage(name, sourceDir, subdir, files) {
|
||||
const expectedFiles = files
|
||||
.filter((file) => file.startsWith(`${subdir}/`) && file.endsWith(".ngc"))
|
||||
.map((file) => file.slice(subdir.length + 1))
|
||||
.sort();
|
||||
assert.deepEqual(
|
||||
readdirSync(resolve(sourceDir, subdir))
|
||||
.filter((filename) => filename.endsWith(".ngc"))
|
||||
.sort(),
|
||||
expectedFiles,
|
||||
`fiveaxis ${name}/${subdir} fixture coverage drift`,
|
||||
);
|
||||
}
|
||||
|
||||
function assertFiveAxisMachineFilesStaging(name, files, wasmDir, expectedWasmDir) {
|
||||
assert.equal(wasmDir, expectedWasmDir, `fiveaxis ${name} staging root drift`);
|
||||
assert.equal(new Set(files).size, files.length, `fiveaxis ${name} staging manifest duplicate`);
|
||||
for (const file of files) {
|
||||
assert.equal(
|
||||
`${wasmDir}/${file}`,
|
||||
`${expectedWasmDir}/${file}`,
|
||||
`fiveaxis ${name}/${file} staging manifest drift`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function writeFiveAxisMachineFiles(name, sourceDir, wasmDir, expectedWasmDir, files) {
|
||||
assertFiveAxisMachineFilesStaging(name, files, wasmDir, expectedWasmDir);
|
||||
for (const file of files) {
|
||||
writeVendorTextFile(resolve(sourceDir, file), `${wasmDir}/${file}`);
|
||||
}
|
||||
return wasmDir;
|
||||
}
|
||||
|
||||
function writeFiveAxisTrtMachineFiles() {
|
||||
const sourceDir = resolve(
|
||||
rootDir,
|
||||
"vendor/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting",
|
||||
);
|
||||
const wasmDir = "/work/fiveaxis/table-rotary-tilting";
|
||||
const files = [
|
||||
"xyzac-trt.ini",
|
||||
"xyzbc-trt.ini",
|
||||
"xyzac-trt.tbl",
|
||||
"xyzbc-trt.tbl",
|
||||
"remap_subs/428remap.ngc",
|
||||
"remap_subs/429remap.ngc",
|
||||
"remap_subs/430remap.ngc",
|
||||
"remap_subs/centering.ngc",
|
||||
"remap_subs/helix_ac.ngc",
|
||||
"remap_subs/helix_bc.ngc",
|
||||
"remap_subs/xyzac_switchkins_sub.ngc",
|
||||
"remap_subs/xyzbc_switchkins_sub.ngc",
|
||||
"demos/xyzac_switchkins.ngc",
|
||||
"demos/xyzbc_switchkins.ngc",
|
||||
"demos/xyzac_switchkins_test_1.ngc",
|
||||
"demos/xyzac_switchkins_test_2.ngc",
|
||||
"demos/xyzac_switchkins_test_3.ngc",
|
||||
"demos/boat-xyzac.ngc",
|
||||
"demos/boat-xyzbc.ngc",
|
||||
"demos/impeller-7bl-xyzac.ngc",
|
||||
];
|
||||
|
||||
writeVendorTextFile(resolve(sourceDir, "xyzac-trt.ini"), `${wasmDir}/xyzac-trt.ini`);
|
||||
writeVendorTextFile(resolve(sourceDir, "xyzbc-trt.ini"), `${wasmDir}/xyzbc-trt.ini`);
|
||||
writeVendorTextFile(resolve(sourceDir, "xyzac-trt.tbl"), `${wasmDir}/xyzac-trt.tbl`);
|
||||
writeVendorTextFile(resolve(sourceDir, "xyzbc-trt.tbl"), `${wasmDir}/xyzbc-trt.tbl`);
|
||||
|
||||
for (const filename of readdirSync(resolve(sourceDir, "remap_subs"))) {
|
||||
if (filename.endsWith(".ngc")) {
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "remap_subs", filename),
|
||||
`${wasmDir}/remap_subs/${filename}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "demos/xyzac_switchkins.ngc"),
|
||||
`${wasmDir}/demos/xyzac_switchkins.ngc`,
|
||||
assertFiveAxisMachineNgcCoverage("table-rotary-tilting", sourceDir, "remap_subs", files);
|
||||
assertFiveAxisMachineNgcCoverage("table-rotary-tilting", sourceDir, "demos", files);
|
||||
return writeFiveAxisMachineFiles(
|
||||
"table-rotary-tilting",
|
||||
sourceDir,
|
||||
wasmDir,
|
||||
"/work/fiveaxis/table-rotary-tilting",
|
||||
files,
|
||||
);
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "demos/xyzbc_switchkins.ngc"),
|
||||
`${wasmDir}/demos/xyzbc_switchkins.ngc`,
|
||||
);
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "demos/xyzac_switchkins_test_1.ngc"),
|
||||
`${wasmDir}/demos/xyzac_switchkins_test_1.ngc`,
|
||||
);
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "demos/xyzac_switchkins_test_2.ngc"),
|
||||
`${wasmDir}/demos/xyzac_switchkins_test_2.ngc`,
|
||||
);
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "demos/xyzac_switchkins_test_3.ngc"),
|
||||
`${wasmDir}/demos/xyzac_switchkins_test_3.ngc`,
|
||||
);
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "demos/boat-xyzac.ngc"),
|
||||
`${wasmDir}/demos/boat-xyzac.ngc`,
|
||||
);
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "demos/boat-xyzbc.ngc"),
|
||||
`${wasmDir}/demos/boat-xyzbc.ngc`,
|
||||
);
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "demos/impeller-7bl-xyzac.ngc"),
|
||||
`${wasmDir}/demos/impeller-7bl-xyzac.ngc`,
|
||||
);
|
||||
|
||||
return wasmDir;
|
||||
}
|
||||
|
||||
function writeFiveAxisTdrMachineFiles() {
|
||||
@@ -194,23 +211,23 @@ function writeFiveAxisTdrMachineFiles() {
|
||||
"vendor/linuxcnc/configs/sim/axis/vismach/5axis/table-dual-rotary",
|
||||
);
|
||||
const wasmDir = "/work/fiveaxis/table-dual-rotary";
|
||||
const files = [
|
||||
"xyzab-tdr.ini",
|
||||
"xyzab-tdr.tbl",
|
||||
"remap_subs/428remap.ngc",
|
||||
"remap_subs/429remap.ngc",
|
||||
"demos/xyzab-tdr-demo.ngc",
|
||||
];
|
||||
|
||||
writeVendorTextFile(resolve(sourceDir, "xyzab-tdr.ini"), `${wasmDir}/xyzab-tdr.ini`);
|
||||
writeVendorTextFile(resolve(sourceDir, "xyzab-tdr.tbl"), `${wasmDir}/xyzab-tdr.tbl`);
|
||||
for (const filename of readdirSync(resolve(sourceDir, "remap_subs"))) {
|
||||
if (filename.endsWith(".ngc")) {
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "remap_subs", filename),
|
||||
`${wasmDir}/remap_subs/${filename}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "demos/xyzab-tdr-demo.ngc"),
|
||||
`${wasmDir}/demos/xyzab-tdr-demo.ngc`,
|
||||
assertFiveAxisMachineNgcCoverage("table-dual-rotary", sourceDir, "remap_subs", files);
|
||||
assertFiveAxisMachineNgcCoverage("table-dual-rotary", sourceDir, "demos", files);
|
||||
return writeFiveAxisMachineFiles(
|
||||
"table-dual-rotary",
|
||||
sourceDir,
|
||||
wasmDir,
|
||||
"/work/fiveaxis/table-dual-rotary",
|
||||
files,
|
||||
);
|
||||
|
||||
return wasmDir;
|
||||
}
|
||||
|
||||
function writeFiveAxisBridgeMillMachineFiles() {
|
||||
@@ -219,20 +236,23 @@ function writeFiveAxisBridgeMillMachineFiles() {
|
||||
"vendor/linuxcnc/configs/sim/axis/vismach/5axis/bridgemill",
|
||||
);
|
||||
const wasmDir = "/work/fiveaxis/bridgemill";
|
||||
const files = [
|
||||
"5axis.ini",
|
||||
"5axis.tbl",
|
||||
"remap_subs/428remap.ngc",
|
||||
"remap_subs/429remap.ngc",
|
||||
"remap_subs/430remap.ngc",
|
||||
"5axisgui.ngc",
|
||||
];
|
||||
|
||||
writeVendorTextFile(resolve(sourceDir, "5axis.ini"), `${wasmDir}/5axis.ini`);
|
||||
writeVendorTextFile(resolve(sourceDir, "5axis.tbl"), `${wasmDir}/5axis.tbl`);
|
||||
for (const filename of readdirSync(resolve(sourceDir, "remap_subs"))) {
|
||||
if (filename.endsWith(".ngc")) {
|
||||
writeVendorTextFile(
|
||||
resolve(sourceDir, "remap_subs", filename),
|
||||
`${wasmDir}/remap_subs/${filename}`,
|
||||
);
|
||||
}
|
||||
}
|
||||
writeVendorTextFile(resolve(sourceDir, "5axisgui.ngc"), `${wasmDir}/5axisgui.ngc`);
|
||||
|
||||
return wasmDir;
|
||||
assertFiveAxisMachineNgcCoverage("bridgemill", sourceDir, "remap_subs", files);
|
||||
return writeFiveAxisMachineFiles(
|
||||
"bridgemill",
|
||||
sourceDir,
|
||||
wasmDir,
|
||||
"/work/fiveaxis/bridgemill",
|
||||
files,
|
||||
);
|
||||
}
|
||||
|
||||
function writeRemapRegressionFiles(name, files) {
|
||||
|
||||
Reference in New Issue
Block a user