Guard g10 directory staging

This commit is contained in:
2026-06-13 09:23:36 +08:00
parent a6baa14ddf
commit 8f47c95bca
3 changed files with 83 additions and 36 deletions

View File

@@ -4755,6 +4755,16 @@
return wasmDir;
}
function assertG10RegressionStaging(name, files, wasmDir) {
if (files.length === 0 || new Set(files).size !== files.length) {
throw new Error(`browser_interp_g10_${name}_fixture_coverage: list drift`);
}
const g10StagedRelativeFiles = files.map((file) => `${wasmDir}/${file}`.replace(`/work/browser-interp/g10/${name}/`, ""));
if (g10StagedRelativeFiles.join(",") !== files.join(",")) {
throw new Error(`browser_interp_g10_${name}_staging_manifest: list drift`);
}
}
async function runVendorNcFile(interp, filename) {
const wasmPath = `/work/browser-nc-files/${filename}`;
await writeFetchedTextFile(
@@ -8439,6 +8449,7 @@
"test.ngc",
"test.tbl",
]);
assertG10RegressionStaging("g10-l1-l10", ["test.ngc", "test.tbl"], g10L1L10Dir);
verifyExpectedOutput(
"browser_interp_g10_l1_l10",
interp.runFileWithIni(`${g10L1L10Dir}/test.ngc`, `${g10L1L10Dir}/test.ini`),
@@ -8461,6 +8472,7 @@
"test.ngc",
"test.tbl",
]);
assertG10RegressionStaging("g10-l11", ["test.ngc", "test.tbl"], g10L11Dir);
verifyExpectedOutput(
"browser_interp_g10_l11",
interp.runFileWithIni(`${g10L11Dir}/test.ngc`, `${g10L11Dir}/test.ini`),
@@ -8482,14 +8494,7 @@
"g10-l2-while-active",
["test.ngc"],
);
const g10InitialStagedNgcFiles = [
`${g10L1L10Dir}/test.ngc`,
`${g10L11Dir}/test.ngc`,
`${g10L2WhileActiveDir}/test.ngc`,
].map((path) => path.replace("/work/browser-interp/g10/", ""));
if (g10InitialStagedNgcFiles.join(",") !== g10RegressionFiles.slice(0, 3).join(",")) {
throw new Error("browser_interp_g10_initial_staging_manifest: list drift");
}
assertG10RegressionStaging("g10-l2-while-active", ["test.ngc"], g10L2WhileActiveDir);
verifyExpectedOutput(
"browser_interp_g10_l2_while_active",
interp.runFile(`${g10L2WhileActiveDir}/test.ngc`),
@@ -8512,6 +8517,7 @@
"g10-l20-while-active",
["test.ngc"],
);
assertG10RegressionStaging("g10-l20-while-active", ["test.ngc"], g10L20WhileActiveDir);
verifyExpectedOutput(
"browser_interp_g10_l20_while_active",
interp.runFile(`${g10L20WhileActiveDir}/test.ngc`),
@@ -8532,13 +8538,7 @@
"test.ngc",
"test.tbl",
]);
const g10FinalStagedNgcFiles = [
`${g10L20WhileActiveDir}/test.ngc`,
`${g10WithG92Dir}/test.ngc`,
].map((path) => path.replace("/work/browser-interp/g10/", ""));
if (g10FinalStagedNgcFiles.join(",") !== g10RegressionFiles.slice(3, 5).join(",")) {
throw new Error("browser_interp_g10_final_staging_manifest: list drift");
}
assertG10RegressionStaging("g10-with-g92", ["test.ngc", "test.tbl"], g10WithG92Dir);
verifyExpectedOutput(
"browser_interp_g10_with_g92",
interp.runFileWithIni(`${g10WithG92Dir}/test.ngc`, `${g10WithG92Dir}/test.ini`),