test: avoid max port in browser server tests

This commit is contained in:
Peter Steinberger
2026-01-05 02:50:48 +01:00
parent 8791e46cf3
commit 849a008f34

View File

@@ -128,14 +128,17 @@ vi.mock("./screenshot.js", () => ({
}));
async function getFreePort(): Promise<number> {
return await new Promise((resolve, reject) => {
const s = createServer();
s.once("error", reject);
s.listen(0, "127.0.0.1", () => {
const port = (s.address() as AddressInfo).port;
s.close((err) => (err ? reject(err) : resolve(port)));
while (true) {
const port = await new Promise<number>((resolve, reject) => {
const s = createServer();
s.once("error", reject);
s.listen(0, "127.0.0.1", () => {
const assigned = (s.address() as AddressInfo).port;
s.close((err) => (err ? reject(err) : resolve(assigned)));
});
});
});
if (port < 65535) return port;
}
}
function makeResponse(