From fb9efc3e2865c2dbcc015bd5a1774541db4f5d39 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 13 Apr 2026 22:53:29 +0200 Subject: [PATCH] Address review feedback for waitForReady and helpers Change lastError type to unknown to match catch clause semantics, and disconnect failed Keyv instances in attemptKeyvConnection to avoid leaking sockets/handles during readiness polling. Signed-off-by: Patrik Oldsberg Made-with: Cursor --- .../backend-test-utils/src/cache/helpers.ts | 20 +++++++++++++++---- .../src/util/waitForReady.ts | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/packages/backend-test-utils/src/cache/helpers.ts b/packages/backend-test-utils/src/cache/helpers.ts index 3f13bc8d0e..7a18240fc8 100644 --- a/packages/backend-test-utils/src/cache/helpers.ts +++ b/packages/backend-test-utils/src/cache/helpers.ts @@ -31,10 +31,22 @@ export async function attemptKeyvConnection( await waitForReady(async () => { const store = createStore(connection); - keyv = new Keyv({ store }); - const value = uuid(); - await keyv.set('test', value); - return (await keyv.get('test')) === value; + const attemptKeyv = new Keyv({ store }); + let succeeded = false; + + try { + const value = uuid(); + await attemptKeyv.set('test', value); + succeeded = (await attemptKeyv.get('test')) === value; + if (succeeded) { + keyv = attemptKeyv; + } + return succeeded; + } finally { + if (!succeeded) { + await attemptKeyv.disconnect(); + } + } }, label); return keyv!; diff --git a/packages/backend-test-utils/src/util/waitForReady.ts b/packages/backend-test-utils/src/util/waitForReady.ts index 1aeaa109c5..b5c22e41cc 100644 --- a/packages/backend-test-utils/src/util/waitForReady.ts +++ b/packages/backend-test-utils/src/util/waitForReady.ts @@ -31,7 +31,7 @@ export async function waitForReady( ): Promise { const startTime = Date.now(); - let lastError: Error | undefined; + let lastError: unknown; let attempts = 0; for (;;) { attempts += 1;