diff --git a/test/harness.ts b/test/harness.ts index 1790a9e78ba..a0e615afc31 100644 --- a/test/harness.ts +++ b/test/harness.ts @@ -1046,7 +1046,11 @@ export async function describeWithContainer( _port = info.ports[servicePort]; console.log(`Container ready via docker-compose: ${image} at ${_host}:${_port}`); readyResolver!(); - }); + // Cold container start is bounded by `compose up --wait-timeout 60` plus + // a `compose build` step; the default 5s hook timeout fires first and the + // runner's auto-killer then SIGTERMs the in-flight compose subprocesses, + // surfacing as bogus `Failed to start service X: ... Creating` errors. + }, 120_000); fn(containerDescriptor); }); diff --git a/test/js/valkey/test-utils.ts b/test/js/valkey/test-utils.ts index a04907a1efa..63e82bdeb0e 100644 --- a/test/js/valkey/test-utils.ts +++ b/test/js/valkey/test-utils.ts @@ -436,7 +436,10 @@ if (isEnabled) { // if (!context.initialized) { // console.warn("Test initialization failed - tests may be skipped"); // } - }); + // Cold container start is bounded by `compose up --wait-timeout 60` plus + // a `compose build` step; the default 5s hook timeout fires long before + // that on a cold cache. + }, 120_000); } if (isEnabled) { diff --git a/test/js/valkey/valkey.test.ts b/test/js/valkey/valkey.test.ts index 6f0364d6ca3..6bc3888fe7a 100644 --- a/test/js/valkey/valkey.test.ts +++ b/test/js/valkey/valkey.test.ts @@ -26,7 +26,10 @@ for (const connectionType of [ConnectionType.TLS, ConnectionType.TCP]) { if (!ctx.redis) { ctx.redis = createClient(connectionType); } - }); + // setupDockerContainer() may cold-start the redis_unified container + // (compose up --wait-timeout 60); shielded by the file-level beforeAll's + // cached promise once that has run, but match its timeout for safety. + }, 120_000); beforeEach(async () => { if (!ctx.redis) { diff --git a/test/js/web/websocket/autobahn.test.ts b/test/js/web/websocket/autobahn.test.ts index 12070512be9..0f88f31549e 100644 --- a/test/js/web/websocket/autobahn.test.ts +++ b/test/js/web/websocket/autobahn.test.ts @@ -42,7 +42,10 @@ describe.skipIf(!isDockerEnabled())("autobahn", () => { wsOptions = process.env.BUN_AUTOBAHN_HOST_HEADER ? { headers: { Host: process.env.BUN_AUTOBAHN_HOST_HEADER } } : undefined; - }); + // Cold container start is bounded by `compose up --wait-timeout 60` plus + // a `compose build` step; the default 5s hook timeout fires long before + // that on a cold cache. + }, 120_000); function getCaseStatus(testID: number) { return new Promise((resolve, reject) => {