From b917d69b3c6b5b2c130bd3d25d19c83879e3f1e1 Mon Sep 17 00:00:00 2001 From: kenzox <3385667+kenzox@users.noreply.github.com> Date: Thu, 27 Aug 2026 12:40:32 +0300 Subject: [PATCH] fix: apply withStartupTimeout() to the port-binding pre-wait `GenericContainer.start()` waits for host port bindings via `inspectContainerUntilPortsExposed` before the wait strategy runs, but neither call site passed `this.startupTimeoutMs`, so that pre-wait was always capped at the util's 10 s default and `withStartupTimeout()` did not apply to it. Pass the configured value at both call sites; when no startup timeout was configured the argument is `undefined` and the 10 s default still applies. Fixes #1446 Co-Authored-By: Claude Fable 5 --- .../src/generic-container/generic-container.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/testcontainers/src/generic-container/generic-container.ts b/packages/testcontainers/src/generic-container/generic-container.ts index 7d8aba8f5..523dc2a0d 100644 --- a/packages/testcontainers/src/generic-container/generic-container.ts +++ b/packages/testcontainers/src/generic-container/generic-container.ts @@ -160,7 +160,11 @@ export class GenericContainer implements TestContainer { if (!inspectResult.State.Running) { log.debug("Reused container is not running, attempting to start it"); await client.container.start(container); - inspectResult = await inspectContainerUntilPortsExposed(() => client.container.inspect(container), container.id); + inspectResult = await inspectContainerUntilPortsExposed( + () => client.container.inspect(container), + container.id, + this.startupTimeoutMs + ); } const mappedInspectResult = mapInspectResult(inspectResult); @@ -217,7 +221,8 @@ export class GenericContainer implements TestContainer { const inspectResult = await inspectContainerUntilPortsExposed( () => client.container.inspect(container), - container.id + container.id, + this.startupTimeoutMs ); const mappedInspectResult = mapInspectResult(inspectResult); const boundPorts = BoundPorts.fromInspectResult(client.info.containerRuntime.hostIps, mappedInspectResult).filter(