Guard browser OPFS parameter staging
This commit is contained in:
@@ -4459,6 +4459,16 @@
|
||||
return checkedPath;
|
||||
}
|
||||
|
||||
function assertOpfsParameterStaging(label, parameters, expectedOpfsPath, expectedWasmPath, expectedBackupOpfsPath = undefined) {
|
||||
if (parameters.opfsPath !== expectedOpfsPath) {
|
||||
throw new Error(`${label}: unexpected parameter OPFS path ${parameters.opfsPath}`);
|
||||
}
|
||||
generatedParameterPath(parameters.wasmPath, expectedWasmPath);
|
||||
if (expectedBackupOpfsPath !== undefined && parameters.backupOpfsPath !== expectedBackupOpfsPath) {
|
||||
throw new Error(`${label}: unexpected parameter backup OPFS path ${parameters.backupOpfsPath}`);
|
||||
}
|
||||
}
|
||||
|
||||
function generatedToolTablePath(wasmPath, expectedWasmPath) {
|
||||
if (wasmPath !== expectedWasmPath) {
|
||||
throw new Error(`browser_tool_table_fixture_${expectedWasmPath}: path drift`);
|
||||
@@ -8990,6 +9000,12 @@
|
||||
"linuxcnc/machines/browser-interp/tool.tbl",
|
||||
"/work/browser-tool.tbl",
|
||||
);
|
||||
assertOpfsParameterStaging(
|
||||
"opfs_restore_parameters_staging",
|
||||
loadedSession.parameters,
|
||||
"linuxcnc/machines/browser-interp/linuxcnc.var",
|
||||
"/work/browser-linuxcnc.var",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_restore_parameters",
|
||||
loadedSession.parameters.result,
|
||||
@@ -9029,6 +9045,13 @@
|
||||
},
|
||||
{ wasmPath: "/work/browser-linuxcnc.var" },
|
||||
);
|
||||
assertOpfsParameterStaging(
|
||||
"opfs_save_parameters_staging",
|
||||
savedParameters,
|
||||
"linuxcnc/machines/browser-interp/linuxcnc.var",
|
||||
"/work/browser-linuxcnc.var",
|
||||
"linuxcnc/machines/browser-interp/linuxcnc.var.bak",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_save_parameters",
|
||||
savedParameters.result,
|
||||
@@ -9052,12 +9075,6 @@
|
||||
"absent=<_named_param>",
|
||||
].join("\n"),
|
||||
);
|
||||
if (
|
||||
savedParameters.backupOpfsPath !==
|
||||
"linuxcnc/machines/browser-interp/linuxcnc.var.bak"
|
||||
) {
|
||||
throw new Error(`unexpected parameter backup path: ${savedParameters.backupOpfsPath}`);
|
||||
}
|
||||
verifyExpectedOutput(
|
||||
"opfs_saved_parameter_backup_text",
|
||||
await loadTextFile(savedParameters.backupOpfsPath),
|
||||
@@ -9144,12 +9161,12 @@
|
||||
"linuxcnc/machines/browser-random-toolchanger/tool.tbl",
|
||||
"/work/browser-random-tool.tbl",
|
||||
);
|
||||
if (
|
||||
loadedRandomSession.parameters.opfsPath !==
|
||||
"linuxcnc/machines/browser-random-toolchanger/linuxcnc.var"
|
||||
) {
|
||||
throw new Error(`unexpected default parameter path: ${loadedRandomSession.parameters.opfsPath}`);
|
||||
}
|
||||
assertOpfsParameterStaging(
|
||||
"opfs_load_random_parameters_staging",
|
||||
loadedRandomSession.parameters,
|
||||
"linuxcnc/machines/browser-random-toolchanger/linuxcnc.var",
|
||||
"/work/browser-random-linuxcnc.var",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_load_random_tool_table",
|
||||
loadedRandomSession.toolTable.result,
|
||||
@@ -9249,12 +9266,12 @@
|
||||
"linuxcnc/machines/browser-ini-file-session/browser-custom-tool.tbl",
|
||||
"/work/browser-custom-tool.tbl",
|
||||
);
|
||||
if (
|
||||
loadedIniFileSession.parameters.opfsPath !==
|
||||
"linuxcnc/machines/browser-ini-file-session/browser-custom.var"
|
||||
) {
|
||||
throw new Error(`unexpected custom parameter path: ${loadedIniFileSession.parameters.opfsPath}`);
|
||||
}
|
||||
assertOpfsParameterStaging(
|
||||
"opfs_load_ini_named_parameters_staging",
|
||||
loadedIniFileSession.parameters,
|
||||
"linuxcnc/machines/browser-ini-file-session/browser-custom.var",
|
||||
"/work/browser-custom.var",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_load_ini_named_parameter_file",
|
||||
loadedIniFileSession.parameters.result,
|
||||
@@ -9281,18 +9298,13 @@
|
||||
wasmPath: loadedIniFileSession.parameters.wasmPath,
|
||||
},
|
||||
);
|
||||
if (
|
||||
savedIniNamedParameters.opfsPath !==
|
||||
"linuxcnc/machines/browser-ini-file-session/browser-custom.var"
|
||||
) {
|
||||
throw new Error(`unexpected custom saved parameter path: ${savedIniNamedParameters.opfsPath}`);
|
||||
}
|
||||
if (
|
||||
savedIniNamedParameters.backupOpfsPath !==
|
||||
"linuxcnc/machines/browser-ini-file-session/browser-custom.var.bak"
|
||||
) {
|
||||
throw new Error(`unexpected custom parameter backup path: ${savedIniNamedParameters.backupOpfsPath}`);
|
||||
}
|
||||
assertOpfsParameterStaging(
|
||||
"opfs_save_ini_named_parameters_staging",
|
||||
savedIniNamedParameters,
|
||||
"linuxcnc/machines/browser-ini-file-session/browser-custom.var",
|
||||
"/work/browser-custom.var",
|
||||
"linuxcnc/machines/browser-ini-file-session/browser-custom.var.bak",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_save_ini_named_parameter_file",
|
||||
savedIniNamedParameters.result,
|
||||
@@ -9417,12 +9429,12 @@
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit-tool.tbl",
|
||||
"/work/browser-explicit-tool.tbl",
|
||||
);
|
||||
if (
|
||||
loadedIniOverrideSession.parameters.opfsPath !==
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit.var"
|
||||
) {
|
||||
throw new Error(`unexpected explicit parameter path: ${loadedIniOverrideSession.parameters.opfsPath}`);
|
||||
}
|
||||
assertOpfsParameterStaging(
|
||||
"opfs_load_explicit_parameters_staging",
|
||||
loadedIniOverrideSession.parameters,
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit.var",
|
||||
"/work/browser-explicit.var",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_load_explicit_parameter_file",
|
||||
loadedIniOverrideSession.parameters.result,
|
||||
@@ -9461,18 +9473,13 @@
|
||||
wasmPath: loadedIniOverrideSession.parameters.wasmPath,
|
||||
},
|
||||
);
|
||||
if (
|
||||
savedExplicitParameters.opfsPath !==
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit.var"
|
||||
) {
|
||||
throw new Error(`unexpected explicit saved parameter path: ${savedExplicitParameters.opfsPath}`);
|
||||
}
|
||||
if (
|
||||
savedExplicitParameters.backupOpfsPath !==
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit.var.bak"
|
||||
) {
|
||||
throw new Error(`unexpected explicit backup path: ${savedExplicitParameters.backupOpfsPath}`);
|
||||
}
|
||||
assertOpfsParameterStaging(
|
||||
"opfs_save_explicit_parameters_staging",
|
||||
savedExplicitParameters,
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit.var",
|
||||
"/work/browser-explicit.var",
|
||||
"linuxcnc/machines/browser-ini-override-session/browser-explicit.var.bak",
|
||||
);
|
||||
verifyExpectedOutput(
|
||||
"opfs_save_explicit_parameter_file",
|
||||
savedExplicitParameters.result,
|
||||
|
||||
Reference in New Issue
Block a user