Guard local gcode fixture staging
This commit is contained in:
@@ -4320,6 +4320,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
async function writeLocalGcodeFixture(interp, fixtureName, wasmPath, expectedWasmPath) {
|
||||
if (wasmPath !== expectedWasmPath) {
|
||||
throw new Error(`browser_${fixtureName}_local_gcode_staging: path drift`);
|
||||
}
|
||||
interp.writeTextFile(wasmPath, await fetchText(`../fixtures/gcode/${fixtureName}.ngc`));
|
||||
return wasmPath;
|
||||
}
|
||||
|
||||
async function loadSimMachineFiles(machineRel, iniFile, programFile = null) {
|
||||
const iniText = await fetchText(
|
||||
`../../vendor/linuxcnc/configs/sim/${machineRel}/${iniFile}`,
|
||||
@@ -5228,11 +5236,12 @@
|
||||
spindleOrientOffsetExpectedText,
|
||||
);
|
||||
|
||||
const coordinateOffsetsText = await fetchText(
|
||||
`../fixtures/gcode/${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}.ngc`,
|
||||
const coordinateOffsetsPath = await writeLocalGcodeFixture(
|
||||
interp,
|
||||
INTERP_COORDINATE_OFFSETS_FILE_FIXTURE,
|
||||
`/work/${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}.ngc`,
|
||||
`/work/${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}.ngc`,
|
||||
);
|
||||
const coordinateOffsetsPath = `/work/${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}.ngc`;
|
||||
interp.writeTextFile(coordinateOffsetsPath, coordinateOffsetsText);
|
||||
verifyExpectedOutput(
|
||||
`${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}_file`,
|
||||
interp.runFile(coordinateOffsetsPath),
|
||||
@@ -5243,11 +5252,12 @@
|
||||
).trimEnd(),
|
||||
);
|
||||
|
||||
const positionParamsText = await fetchText(
|
||||
`../fixtures/gcode/${INTERP_POSITION_PARAMS_FILE_FIXTURE}.ngc`,
|
||||
const positionParamsPath = await writeLocalGcodeFixture(
|
||||
interp,
|
||||
INTERP_POSITION_PARAMS_FILE_FIXTURE,
|
||||
`/work/${INTERP_POSITION_PARAMS_FILE_FIXTURE}.ngc`,
|
||||
`/work/${INTERP_POSITION_PARAMS_FILE_FIXTURE}.ngc`,
|
||||
);
|
||||
const positionParamsPath = `/work/${INTERP_POSITION_PARAMS_FILE_FIXTURE}.ngc`;
|
||||
interp.writeTextFile(positionParamsPath, positionParamsText);
|
||||
verifyExpectedOutput(
|
||||
`${INTERP_POSITION_PARAMS_FILE_FIXTURE}_file`,
|
||||
interp.runFile(positionParamsPath),
|
||||
|
||||
@@ -106,6 +106,15 @@ function writeVendorTextFile(sourcePath, wasmPath, targetInterp = interp) {
|
||||
targetInterp.writeTextFile(wasmPath, readFileSync(sourcePath, "utf8"));
|
||||
}
|
||||
|
||||
function writeLocalGcodeFixture(fixtureName, wasmPath, expectedWasmPath, targetInterp = interp) {
|
||||
assert.equal(wasmPath, expectedWasmPath, `${fixtureName} local gcode staging path drift`);
|
||||
targetInterp.writeTextFile(
|
||||
wasmPath,
|
||||
readFileSync(resolve(rootDir, `tests/fixtures/gcode/${fixtureName}.ngc`), "utf8"),
|
||||
);
|
||||
return wasmPath;
|
||||
}
|
||||
|
||||
function stageInterpIniContext(name, programFile = "test.ngc") {
|
||||
const sourceRootRel = `tests/interp/${name}`;
|
||||
const iniText = readFileSync(
|
||||
@@ -767,13 +776,10 @@ verifyExpectedOutput(
|
||||
].join("\n"),
|
||||
);
|
||||
|
||||
const coordinateOffsetsFilePath = `/work/${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}.ngc`;
|
||||
interp.writeTextFile(
|
||||
coordinateOffsetsFilePath,
|
||||
readFileSync(
|
||||
resolve(rootDir, `tests/fixtures/gcode/${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}.ngc`),
|
||||
"utf8",
|
||||
),
|
||||
const coordinateOffsetsFilePath = writeLocalGcodeFixture(
|
||||
INTERP_COORDINATE_OFFSETS_FILE_FIXTURE,
|
||||
`/work/${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}.ngc`,
|
||||
`/work/${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}.ngc`,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
`${INTERP_COORDINATE_OFFSETS_FILE_FIXTURE}_file`,
|
||||
@@ -787,13 +793,10 @@ verifyExpectedOutput(
|
||||
).trimEnd(),
|
||||
);
|
||||
|
||||
const positionParamsFilePath = "/work/position_params.ngc";
|
||||
interp.writeTextFile(
|
||||
positionParamsFilePath,
|
||||
readFileSync(
|
||||
resolve(rootDir, `tests/fixtures/gcode/${INTERP_POSITION_PARAMS_FILE_FIXTURE}.ngc`),
|
||||
"utf8",
|
||||
),
|
||||
const positionParamsFilePath = writeLocalGcodeFixture(
|
||||
INTERP_POSITION_PARAMS_FILE_FIXTURE,
|
||||
`/work/${INTERP_POSITION_PARAMS_FILE_FIXTURE}.ngc`,
|
||||
`/work/${INTERP_POSITION_PARAMS_FILE_FIXTURE}.ngc`,
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
`${INTERP_POSITION_PARAMS_FILE_FIXTURE}_file`,
|
||||
|
||||
Reference in New Issue
Block a user