Guard browser nc-files staging
This commit is contained in:
@@ -4790,8 +4790,35 @@
|
||||
}
|
||||
}
|
||||
|
||||
function assertVendorNcFileStaging(filename, wasmPath, expectedRoot) {
|
||||
if (wasmPath !== `${expectedRoot}/${filename}`) {
|
||||
throw new Error(`browser_nc_files_${filename}_staging_manifest: path drift`);
|
||||
}
|
||||
}
|
||||
|
||||
function assertVendorNcFileContextStaging(filename, wasmDir, files) {
|
||||
const expectedRoot = "/work/browser-nc-files-context";
|
||||
const expectedFiles = [filename, "tool.tbl", "nc_files_context.ini"];
|
||||
if (wasmDir !== expectedRoot) {
|
||||
throw new Error(`browser_nc_files_${filename}_context_root: path drift`);
|
||||
}
|
||||
if (
|
||||
files.length !== expectedFiles.length ||
|
||||
new Set(files).size !== files.length ||
|
||||
files.join(",") !== expectedFiles.join(",")
|
||||
) {
|
||||
throw new Error(`browser_nc_files_${filename}_context_manifest: list drift`);
|
||||
}
|
||||
for (const file of files) {
|
||||
if (`${wasmDir}/${file}` !== `${expectedRoot}/${file}`) {
|
||||
throw new Error(`browser_nc_files_${filename}_${file}_context_staging: path drift`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function runVendorNcFile(interp, filename) {
|
||||
const wasmPath = `/work/browser-nc-files/${filename}`;
|
||||
assertVendorNcFileStaging(filename, wasmPath, "/work/browser-nc-files");
|
||||
await writeFetchedTextFile(
|
||||
interp,
|
||||
`../../vendor/linuxcnc/nc_files/${filename}`,
|
||||
@@ -4802,8 +4829,10 @@
|
||||
|
||||
async function runVendorNcFileWithToolTable(interp, filename) {
|
||||
const wasmDir = "/work/browser-nc-files-context";
|
||||
const files = [filename, "tool.tbl", "nc_files_context.ini"];
|
||||
const wasmPath = `${wasmDir}/${filename}`;
|
||||
const iniPath = `${wasmDir}/nc_files_context.ini`;
|
||||
assertVendorNcFileContextStaging(filename, wasmDir, files);
|
||||
await writeFetchedTextFile(
|
||||
interp,
|
||||
`../../vendor/linuxcnc/nc_files/${filename}`,
|
||||
|
||||
Reference in New Issue
Block a user