Guard early direct-file staging paths

This commit is contained in:
2026-06-13 07:08:01 +08:00
parent 17df47d68d
commit 675ee5fb6c
3 changed files with 277 additions and 0 deletions

View File

@@ -6288,6 +6288,20 @@
"do-while-break",
"bug.ngc",
);
const doWhileBreakNgcFiles = [
"bug.ngc",
"test.ngc",
];
if (doWhileBreakNgcFiles.length !== 2 || new Set(doWhileBreakNgcFiles).size !== doWhileBreakNgcFiles.length) {
throw new Error("browser_interp_do_while_break_fixture_coverage: list drift");
}
const doWhileBreakStagedNgcFiles = [
doWhileBreakBugPath,
doWhileBreakPath,
].map((path) => path.replace("/work/browser-interp/do-while-break/", ""));
if (doWhileBreakStagedNgcFiles.join(",") !== doWhileBreakNgcFiles.join(",")) {
throw new Error("browser_interp_do_while_break_staging_manifest: list drift");
}
verifyExpectedOutput(
"browser_interp_do_while_break_bug",
interp.runFile(doWhileBreakBugPath),
@@ -6341,6 +6355,18 @@
);
const existsPath = await writeInterpRegressionFile(interp, "exists", "test.ngc");
const existsNgcFiles = [
"test.ngc",
];
if (existsNgcFiles.length !== 1 || new Set(existsNgcFiles).size !== existsNgcFiles.length) {
throw new Error("browser_interp_exists_fixture_coverage: list drift");
}
const existsStagedNgcFiles = [
existsPath,
].map((path) => path.replace("/work/browser-interp/exists/", ""));
if (existsStagedNgcFiles.join(",") !== existsNgcFiles.join(",")) {
throw new Error("browser_interp_exists_staging_manifest: list drift");
}
verifyExpectedOutput(
"browser_interp_exists",
interp.runFile(existsPath),
@@ -6360,6 +6386,18 @@
"return-value",
"test.ngc",
);
const returnValueNgcFiles = [
"test.ngc",
];
if (returnValueNgcFiles.length !== 1 || new Set(returnValueNgcFiles).size !== returnValueNgcFiles.length) {
throw new Error("browser_interp_return_value_fixture_coverage: list drift");
}
const returnValueStagedNgcFiles = [
returnValuePath,
].map((path) => path.replace("/work/browser-interp/return-value/", ""));
if (returnValueStagedNgcFiles.join(",") !== returnValueNgcFiles.join(",")) {
throw new Error("browser_interp_return_value_staging_manifest: list drift");
}
verifyExpectedOutput(
"browser_interp_return_value",
interp.runFile(returnValuePath),