From 2bb52564f2ad9cec0174f2a5c74cadae98d508cd Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Tue, 26 May 2026 14:49:30 -0400 Subject: [PATCH] fix(server): release pooled DB on test shutdown so Windows can clean temp dir --- internal/server/e2e_test.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/internal/server/e2e_test.go b/internal/server/e2e_test.go index 2798e460a51627f8c0534042da4a65deb13706dd..08aaedf66c95edd704f18b62d83d64e79966564e 100644 --- a/internal/server/e2e_test.go +++ b/internal/server/e2e_test.go @@ -16,6 +16,7 @@ import ( "github.com/charmbracelet/crush/internal/app" "github.com/charmbracelet/crush/internal/backend" + "github.com/charmbracelet/crush/internal/db" "github.com/charmbracelet/crush/internal/message" "github.com/charmbracelet/crush/internal/permission" "github.com/charmbracelet/crush/internal/proto" @@ -357,9 +358,14 @@ func TestE2E_TwoClientsReceiveSameMessage(t *testing.T) { ws, err := h.backend.GetWorkspace(wsRespA.ID) require.NoError(t, err) // Override the shutdown callback so test cleanup doesn't run - // the full app.Shutdown path (which would tear down LSP/MCP/DB - // resources the test doesn't need to exercise). - backend.SetWorkspaceShutdownFnForTest(ws, func() {}) + // the full app.Shutdown path (which would tear down LSP/MCP + // resources the test doesn't need to exercise), but still + // release the pooled DB connection so Windows can clean up + // the temp data directory. + wsDataDir := ws.Cfg.Config().Options.DataDirectory + backend.SetWorkspaceShutdownFnForTest(ws, func() { + _ = db.Release(wsDataDir) + }) evcA, cancelA := h.subscribeSSE(t, ctx, ws.ID, cidA) t.Cleanup(cancelA)