From 2f6d9417bd24faecd5fec6b4d40f835d0acf4270 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 17 Jan 2026 18:45:42 +0000 Subject: [PATCH] test(memory): await watch sync completion --- src/memory/manager.sync-errors-do-not-crash.test.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/memory/manager.sync-errors-do-not-crash.test.ts b/src/memory/manager.sync-errors-do-not-crash.test.ts index 0c1d91417..8f7ac3d7c 100644 --- a/src/memory/manager.sync-errors-do-not-crash.test.ts +++ b/src/memory/manager.sync-errors-do-not-crash.test.ts @@ -79,12 +79,17 @@ describe("memory manager sync failures", () => { expect(result.manager).not.toBeNull(); if (!result.manager) throw new Error("manager missing"); manager = result.manager; + const syncSpy = vi.spyOn(manager, "sync"); // Call the internal scheduler directly; it uses fire-and-forget sync. (manager as unknown as { scheduleWatchSync: () => void }).scheduleWatchSync(); await vi.runAllTimersAsync(); - await Promise.resolve(); + const syncPromise = syncSpy.mock.results[0]?.value as Promise | undefined; + if (syncPromise) { + await syncPromise.catch(() => undefined); + } + await vi.runOnlyPendingTimersAsync(); process.off("unhandledRejection", handler); expect(unhandled).toHaveLength(0);