From 1702bbb816ce184397ae391dedf25f852bb3c6db Mon Sep 17 00:00:00 2001 From: Ethan <39577870+ethanndickson@users.noreply.github.com> Date: Wed, 5 Aug 2026 11:40:00 +1000 Subject: [PATCH] test(coderd/x/chatd): accept query cancellation in subagent wait (#27818) Closes CODAGT-877 Closes https://github.com/coder/internal/issues/1437 The linked flake happens because the context deadline can be observed as `context.DeadlineExceeded`, or as a PostgreSQL query cancellation when a database call is in flight. The fix is just to assert that the deadline expired and the returned error is a recognised query cancellation, rather than depending on which layer notices it first. --- coderd/x/chatd/subagent_internal_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/coderd/x/chatd/subagent_internal_test.go b/coderd/x/chatd/subagent_internal_test.go index 1d2aeb86fc..4ab9ab431e 100644 --- a/coderd/x/chatd/subagent_internal_test.go +++ b/coderd/x/chatd/subagent_internal_test.go @@ -4237,7 +4237,8 @@ func TestAwaitSubagentCompletion(t *testing.T) { _, _, err = server.awaitSubagentCompletion( shortCtx, parent.ID, child.ID, 5*time.Second, ) - require.ErrorIs(t, err, context.DeadlineExceeded) + require.ErrorIs(t, shortCtx.Err(), context.DeadlineExceeded) + require.True(t, database.IsQueryCanceledError(err)) }) t.Run("ZeroTimeoutUsesDefault", func(t *testing.T) {