Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion packages/workbench/tests/evals-real.e2e.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,6 @@ e2e('fails closed while replacing an active Eval client and ignores every late c
}).__evalClientScopeFixture.stats().eventsB)).toEqual(['run-b']);
expect(pageErrors).toEqual([]);
} finally {
await page.goto('about:blank');
await fixture.close();
}
});
Expand Down
8 changes: 8 additions & 0 deletions packages/workbench/tests/support/http.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
import type { Server } from 'node:http';

/**
* Teardown must not wait for the browser to release its connections: Node's
* `server.close()` blocks while any connection still has a request in flight,
* which hangs test teardown on two-core CI runners where the page can hold a
* request open at close time. Destroying connections first keeps `close()`
* deterministic regardless of browser state.
*/
export const closeServer = async (server: Server): Promise<void> => {
server.closeAllConnections();
Comment thread
ScriptedAlchemy marked this conversation as resolved.
await new Promise<void>((resolve, reject) => {
server.close((error) => error === undefined ? resolve() : reject(error));
});
Expand Down
Loading