Michael Suchacz
60779ad2ec
test(coderd/x/chatd): stop waking acquireLoop in TestResolveExploreToolSnapshot ( #25129 )
...
Fixes [CODAGT-367](https://linear.app/codercom/issue/CODAGT-367 ).
`TestResolveExploreToolSnapshot/*` flaked on CI (Linux and Windows) with
`context deadline exceeded` on the `GetMCPServerConfigsByIDs` call
inside `resolveExploreToolSnapshot`.
Each test setup called `server.CreateChat` twice with `MCPServerIDs` set
to fake `.example.com` URLs. `CreateChat` marks the chat pending and
calls `signalWake`, which causes the chatd background `acquireLoop` to
pick the chat up. That goroutine then dialed the fake MCP URLs
(NXDOMAIN, slower on Windows) and made an OpenAI request with the dbgen
default test key (401). Under CI load, that activity racing the 4
parallel subtests' `GetMCPServerConfigsByIDs` calls was enough to exceed
the 25s test context deadline. The failure logs in the issue showed both
side effects firing in the same job.
`resolveExploreToolSnapshot` only reads `ID`, `MCPServerIDs`,
`PlanMode`, `ParentChatID`, and `Mode` off the parent argument, so the
chats do not need to be persisted. Build them as in-memory
`database.Chat` values instead. The MCP server configs remain in the DB
because the function still queries them via `GetMCPServerConfigsByIDs`.
Verified locally with `go test ./coderd/x/chatd -run
TestResolveExploreToolSnapshot -count=100 -race` (passes, ~5s total) and
the surrounding `TestResolve*` / `TestCreateChildSubagentChat*` /
`TestSpawnAgent_Explore*` tests.
---
_Made by Coder Agents on behalf of @ibetitsmike. [Linear
session](https://linear.app/codercom/issue/CODAGT-367/flake-testresolveexploretoolsnapshot#agent-session-0730f3fe )._
2026-05-11 19:46:59 +02:00
..
2026-05-11 08:41:17 -06:00
2025-06-20 13:16:55 -06:00
2026-05-08 16:45:14 -04:00
2026-03-16 12:36:26 -05:00
2026-05-11 12:43:52 -05:00
2026-03-02 16:02:01 +01:00
2024-09-18 21:47:53 +10:00
2026-04-29 12:57:47 -06:00
2026-05-11 12:43:52 -05:00
2023-10-30 19:44:29 +00:00
2025-12-15 13:44:44 -09:00
2026-02-06 09:52:17 -07:00
2026-03-13 00:22:55 +11:00
2026-05-11 11:03:38 +02:00
2026-04-03 15:47:26 -05:00
2026-01-08 15:24:11 +04:00
2026-05-11 09:07:30 -06:00
2026-02-19 09:02:19 +00:00
2026-04-29 16:38:26 -07:00
2026-01-29 13:50:15 +01:00
2026-05-07 08:38:20 -06:00
2026-01-08 15:24:11 +04:00
2026-01-08 15:24:11 +04:00
2026-04-28 13:06:45 -07:00
2026-03-29 20:11:30 -04:00
2026-05-11 08:41:17 -06:00
2026-03-05 20:29:49 +00:00
2026-03-19 21:51:26 +00:00
2025-06-20 13:16:55 -06:00
2026-04-22 12:34:17 +02:00
2026-01-08 15:24:11 +04:00
2026-04-28 08:56:36 +01:00
2026-04-27 23:26:17 +03:00
2025-10-15 17:37:37 +00:00
2024-05-13 14:37:51 -04:00
2026-03-18 09:30:22 -05:00
2026-04-02 23:51:02 +02:00
2026-04-15 12:48:38 +00:00
2026-01-30 13:30:06 +01:00
2026-04-27 08:26:07 -06:00
2025-10-23 15:38:49 -05:00
2025-06-17 09:00:32 -08:00
2026-05-05 12:56:06 +10:00
2026-05-08 16:45:14 -04:00
2025-06-20 13:16:55 -06:00
2025-07-08 14:31:05 +00:00
2026-02-19 09:02:19 +00:00
2026-04-07 07:24:53 -07:00
2026-05-07 17:10:50 +01:00
2026-05-11 09:07:30 -06:00
2026-04-29 16:38:26 -07:00
2026-05-11 08:41:17 -06:00
2026-01-08 15:24:11 +04:00
2026-03-18 09:30:22 -05:00
2025-06-20 13:16:55 -06:00
2026-05-06 09:27:24 -07:00
2026-03-25 22:15:27 +00:00
2026-04-26 14:49:10 -07:00
2026-05-05 02:54:03 +05:00
2026-04-15 19:53:10 +01:00
2026-05-11 08:41:17 -06:00
2026-03-13 20:37:41 -07:00
2026-05-11 19:46:59 +02:00
2026-03-12 18:07:52 +02:00
2025-11-17 13:24:12 +00:00
2026-03-23 09:52:34 +00:00
2026-05-05 02:54:03 +05:00
2025-09-26 11:56:34 +02:00
2026-04-01 09:54:59 -04:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-04-21 11:11:56 +01:00
2026-01-08 15:24:11 +04:00
2026-05-05 02:54:03 +05:00
2025-10-27 17:14:16 -06:00
2026-05-05 02:54:03 +05:00
2025-06-20 13:16:55 -06:00
2026-05-11 08:41:17 -06:00
2026-05-11 09:48:55 -04:00
2026-05-05 02:54:03 +05:00
2026-03-13 14:09:39 +00:00
2026-05-05 02:54:03 +05:00
2024-02-27 16:33:32 +00:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-04-21 11:36:20 +10:00
2026-05-11 16:23:07 +10:00
2026-05-11 16:23:07 +10:00
2025-04-22 16:21:15 +00:00
2026-05-05 02:54:03 +05:00
2026-05-11 16:23:07 +10:00
2026-01-12 18:19:19 -08:00
2026-05-05 02:54:03 +05:00
2026-03-23 19:54:43 +00:00
2026-05-05 02:54:03 +05:00
2025-12-15 11:26:41 -06:00
2026-05-05 02:54:03 +05:00
2025-06-20 13:16:55 -06:00
2025-06-20 13:16:55 -06:00
2026-05-05 02:54:03 +05:00
2026-03-23 19:54:43 +00:00
2026-05-05 02:54:03 +05:00
2025-06-20 13:16:55 -06:00
2026-03-04 18:01:56 -08:00
2026-05-05 02:54:03 +05:00
2026-04-22 12:34:17 +02:00
2026-05-03 11:31:48 -04:00
2026-05-03 11:31:48 -04:00
2026-05-03 11:31:48 -04:00
2026-04-07 12:25:32 -06:00
2026-05-05 02:54:03 +05:00
2026-02-13 08:19:07 -06:00
2026-05-05 02:54:03 +05:00
2026-03-25 09:53:06 +00:00
2026-01-15 12:41:28 +03:00
2026-03-23 21:03:34 +00:00
2026-03-25 09:53:06 +00:00
2026-03-06 09:14:11 +00:00
2026-05-05 02:54:03 +05:00
2024-07-25 16:07:53 -05:00
2026-05-05 02:54:03 +05:00
2025-07-15 14:55:34 +10:00
2025-07-15 14:55:34 +10:00
2026-05-06 09:27:24 -07:00
2026-05-06 09:27:24 -07:00
2026-05-06 09:27:24 -07:00
2026-02-19 09:02:19 +00:00
2026-05-05 02:54:03 +05:00
2025-08-21 16:03:34 -04:00
2026-05-05 02:54:03 +05:00
2025-06-20 13:16:55 -06:00
2026-04-10 09:50:11 -05:00
2026-05-05 02:54:03 +05:00
2024-07-25 16:07:53 -05:00
2026-05-05 02:54:03 +05:00
2025-09-26 11:43:32 +02:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-05-11 08:41:17 -06:00
2026-05-06 14:14:10 -05:00
2026-05-11 12:43:52 -05:00
2026-05-11 12:43:52 -05:00
2026-05-11 12:43:52 -05:00
2026-05-11 12:43:52 -05:00
2026-04-23 06:20:35 +10:00
2026-05-05 02:54:03 +05:00
2025-06-20 13:16:55 -06:00
2026-05-05 02:54:03 +05:00
2026-03-25 09:53:06 +00:00
2026-05-05 02:54:03 +05:00
2026-05-07 20:15:28 +01:00
2026-05-07 20:15:28 +01:00
2026-04-29 12:57:47 -06:00
2026-04-13 07:24:34 -06:00
2026-05-06 09:27:24 -07:00
2026-04-15 11:31:43 +02:00
2026-04-26 14:49:10 -07:00
2026-05-05 02:54:03 +05:00
2026-01-12 18:19:19 -08:00
2026-05-05 02:54:03 +05:00
2026-05-01 13:29:33 +01:00
2026-05-01 13:29:33 +01:00
2026-05-01 13:29:33 +01:00
2026-04-20 21:33:35 +10:00
2026-05-11 12:43:52 -05:00
2026-05-05 02:54:03 +05:00
2025-12-22 10:21:39 +04:00
2026-03-12 18:07:52 +02:00
2026-05-05 02:54:03 +05:00
2025-06-20 13:16:55 -06:00
2026-05-05 02:54:03 +05:00
2026-02-03 09:45:23 +00:00
2026-05-05 02:54:03 +05:00
2024-01-18 09:44:05 -06:00
2026-05-05 02:54:03 +05:00
2026-04-16 13:59:09 +02:00
2026-05-05 15:15:39 -04:00
2026-05-11 11:03:38 +02:00
2026-05-11 12:43:52 -05:00
2026-05-05 02:54:03 +05:00
2025-04-16 10:37:09 -06:00
2026-01-08 15:24:11 +04:00