fix(ci): close speculative browser fixture connections

This commit is contained in:
morluto
2026-10-11 11:05:08 +08:00
parent 38221cb12e
commit e5bc4e85ec
2 changed files with 7 additions and 0 deletions
@@ -176,6 +176,9 @@ const startStorageSite = async () => {
origin: `http://127.0.0.1:${port}`, origin: `http://127.0.0.1:${port}`,
close: async () => { close: async () => {
server.close(); server.close();
// Chrome can leave speculative TCP connections without an HTTP request;
// server.close() alone waits indefinitely for those owned sockets.
server.closeAllConnections();
await once(server, "close"); await once(server, "close");
}, },
}; };
+4
View File
@@ -277,11 +277,13 @@ try {
throw new Error("Scenario attachment terminated its external browser"); throw new Error("Scenario attachment terminated its external browser");
const profilesBefore = await scenarioProfiles(); const profilesBefore = await scenarioProfiles();
process.stderr.write("Browser verifier: scenario environment\n");
const scenarioEnvironment = await verifyScenarioEnvironment( const scenarioEnvironment = await verifyScenarioEnvironment(
endpoint, endpoint,
target, target,
site.origin, site.origin,
); );
process.stderr.write("Browser verifier: scenario storage\n");
const scenarioStorage = await verifyScenarioStorage({ const scenarioStorage = await verifyScenarioStorage({
executable, executable,
endpoint, endpoint,
@@ -339,7 +341,9 @@ try {
`Browser scenario included unselected structured value: ${unselectedValue}`, `Browser scenario included unselected structured value: ${unselectedValue}`,
); );
process.stderr.write("Browser verifier: large screenshot\n");
const largeScreenshot = await verifyLargeScreenshotE2e(endpoint, site.origin); const largeScreenshot = await verifyLargeScreenshotE2e(endpoint, site.origin);
process.stderr.write("Browser verifier: popup coverage\n");
const popupEvents = await verifyPopupEventCoverage(executable); const popupEvents = await verifyPopupEventCoverage(executable);
const networkEvidence = await verifyBrowserNetworkEvidence( const networkEvidence = await verifyBrowserNetworkEvidence(
executable, executable,