From 7011bbb953916d8461a8ee35610f60e667f8eee2 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 8 May 2026 19:43:57 +0100 Subject: [PATCH] test: require logging async callbacks --- .../diagnostic-stuck-session-recovery.runtime.test.ts | 5 ++++- src/logging/diagnostic.test.ts | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/logging/diagnostic-stuck-session-recovery.runtime.test.ts b/src/logging/diagnostic-stuck-session-recovery.runtime.test.ts index bd719460a46..c3d5a241681 100644 --- a/src/logging/diagnostic-stuck-session-recovery.runtime.test.ts +++ b/src/logging/diagnostic-stuck-session-recovery.runtime.test.ts @@ -324,7 +324,7 @@ describe("stuck session recovery", () => { }); it("coalesces duplicate recovery attempts for the same session", async () => { - let resolveWait!: (value: boolean) => void; + let resolveWait: ((value: boolean) => void) | undefined; const waitPromise = new Promise((resolve) => { resolveWait = resolve; }); @@ -346,6 +346,9 @@ describe("stuck session recovery", () => { }); expect(mocks.abortEmbeddedPiRun).toHaveBeenCalledTimes(1); + if (!resolveWait) { + throw new Error("Expected diagnostic recovery wait resolver to be initialized"); + } resolveWait(true); await first; }); diff --git a/src/logging/diagnostic.test.ts b/src/logging/diagnostic.test.ts index 79b371316d4..12b71fbe89b 100644 --- a/src/logging/diagnostic.test.ts +++ b/src/logging/diagnostic.test.ts @@ -903,7 +903,7 @@ describe("stuck session diagnostics threshold", () => { const warnSpy = vi.spyOn(diagnosticLogger, "warn").mockImplementation(() => undefined); const events: DiagnosticEventPayload[] = []; const unsubscribe = onDiagnosticEvent((event) => events.push(event)); - let finishPhase!: () => void; + let finishPhase: (() => void) | undefined; const phase = withDiagnosticPhase( "startup.plugins.load", () => @@ -911,6 +911,10 @@ describe("stuck session diagnostics threshold", () => { finishPhase = resolve; }), ); + if (!finishPhase) { + throw new Error("Expected diagnostic phase finish callback to be initialized"); + } + const completePhase = finishPhase; try { startDiagnosticHeartbeat( @@ -933,7 +937,7 @@ describe("stuck session diagnostics threshold", () => { logMessageQueued({ sessionId: "s1", sessionKey: "main", source: "telegram" }); vi.advanceTimersByTime(30_000); } finally { - finishPhase(); + completePhase(); await phase; unsubscribe(); }