Bobby Ho and McKayla はな
c029869a04
fix(coderd): deflake TestHealthSettings dismissal subtests ( #28501 )
...
Fixes
https://linear.app/codercom/issue/PLAT-514/flake-testhealthsettingsdismisssection
Both TestHealthSettings dismissal subtests built their server with
coderdtest.New(t, nil), so GET /api/v2/debug/health ran the real
healthcheck, DERP probe included, only to assert that dismissed sections
come back as dismissed.
- Raising the timeout would not fix it. The healthcheck runs on a
context detached from the request (30s HealthcheckTimeout), and
derphealth's 10s per-node cap is skipped whenever a deadline already
exists, which is always true from that call site. Both subtests share
one 10s WaitShort across setup and four round trips, so the server may
spend 3x the test's entire lifetime on one request.
- Fix: inject a stub HealthcheckFunc in both subtests, as the six
TestDebugHealth subtests already do.
- The stub reports nothing dismissed, so the assertions still prove the
flags are applied per request in formatHealthcheck rather than read from
the cached report, which is what 38ed816207 fixed.
- Endpoint drops from ~55ms to ~2ms, and three real DERP connections per
health call are gone.
Out of scope: all four TestHealthSettings subtests, including the two
that never call /debug/health, still budget server construction from the
same 10s WaitShort. That is a separate exposure from the one PLAT-514
reported.
---------
Co-authored-by: McKayla はな <mckayla@hey.com >
2026-08-24 12:06:56 -07:00
..
2026-08-21 23:46:27 -06:00
2026-08-20 14:04:23 -04:00
2026-08-24 13:27:22 +01:00
2026-08-20 14:38:33 +01:00
2026-08-04 16:57:16 +02:00
2026-06-16 09:01:43 +00:00
2026-08-24 17:39:52 +02:00
2026-08-24 11:53:47 +01:00
2026-08-21 23:46:27 -06:00
2026-07-01 21:24:42 -05:00
2026-06-26 07:24:21 -04:00
2026-06-25 15:41:09 -06:00
2026-08-24 11:20:25 +01:00
2026-08-18 19:15:30 +02:00
2026-08-24 16:17:55 +02:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-24 11:20:25 +01:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-13 18:32:47 +02:00
2026-08-21 23:46:27 -06:00
2026-08-20 12:49:47 -07:00
2026-07-30 08:37:45 +01:00
2026-08-21 23:46:27 -06:00
2026-08-10 14:43:16 -05:00
2026-08-21 23:46:27 -06:00
2026-08-11 11:04:51 -05:00
2026-08-24 09:43:45 +00:00
2026-08-21 23:46:27 -06:00
2026-06-23 17:32:47 -05:00
2026-08-16 18:18:02 +05:00
2026-05-07 17:10:50 +01:00
2026-08-24 11:20:26 +01:00
2026-07-15 14:05:18 -04:00
2026-05-21 09:19:29 -06:00
2026-08-21 23:46:27 -06:00
2026-07-30 08:37:45 +01:00
2026-06-10 02:18:44 -05:00
2026-08-24 11:20:26 +01:00
2026-06-17 00:22:41 +10:00
2026-08-21 23:46:27 -06:00
2026-08-03 15:56:56 -05:00
2026-08-21 03:14:55 +03:00
2026-05-21 09:19:29 -06:00
2026-07-07 09:18:30 -07:00
2026-07-07 09:18:30 -07:00
2026-08-24 17:39:52 +02:00
2026-07-01 15:59:55 +03:00
2026-07-06 23:00:09 +01:00
2026-07-01 20:44:15 +00:00
2026-07-06 23:00:09 +01:00
2026-07-06 23:00:09 +01:00
2026-05-27 11:58:43 +02:00
2026-08-24 13:27:22 +01:00
2026-08-24 13:27:22 +01:00
2026-05-25 18:04:12 +02:00
2026-08-21 23:46:27 -06:00
2026-08-19 14:46:10 -05:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-05-28 18:37:57 +01:00
2026-08-19 19:46:23 +00:00
2026-08-19 19:46:23 +00:00
2026-08-06 09:18:46 -04:00
2026-08-06 09:18:46 -04:00
2026-08-06 09:18:46 -04:00
2026-07-07 10:42:01 +00:00
2026-05-12 22:13:55 +10:00
2026-07-01 20:15:03 +01:00
2026-08-21 23:46:27 -06:00
2026-08-24 11:20:26 +01:00
2026-07-14 12:29:38 -07:00
2026-08-18 12:54:45 -07:00
2026-08-24 12:06:56 -07:00
2026-08-21 23:46:27 -06:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-08-24 09:43:45 +00:00
2026-07-06 13:15:58 +01:00
2026-08-24 09:43:45 +00:00
2026-08-24 09:43:45 +00:00
2026-08-20 16:36:57 +02:00
2026-08-24 11:20:25 +01:00
2026-08-24 11:20:25 +01:00
2026-08-24 11:20:26 +01:00
2026-08-24 11:20:26 +01:00
2026-08-24 17:39:52 +02:00
2026-08-24 17:39:52 +02:00
2026-05-05 02:54:03 +05:00
2026-06-22 19:26:34 -06:00
2026-07-15 12:16:25 -08:00
2026-08-19 13:00:31 -08:00
2026-06-02 10:11:49 -07:00
2026-08-18 12:54:45 -07:00
2026-06-02 08:36:01 -06:00
2026-07-06 13:15:58 +01:00
2026-07-06 13:15:58 +01:00
2026-05-05 02:54:03 +05:00
2026-05-05 02:54:03 +05:00
2026-08-19 19:25:18 +00:00
2026-08-13 18:32:47 +02:00
2026-05-03 11:31:48 -04:00
2026-08-11 12:02:34 +02:00
2026-08-11 12:02:34 +02:00
2026-08-24 09:43:45 +00:00
2026-08-19 19:36:59 +00:00
2026-08-21 23:46:27 -06:00
2026-05-05 02:54:03 +05:00
2026-07-28 16:59:33 -07:00
2026-07-28 16:59:33 -07:00
2026-07-28 16:59:33 -07:00
2026-08-12 13:36:52 -07:00
2026-08-13 09:58:51 -07:00
2026-07-28 16:59:33 -07:00
2026-05-05 02:54:03 +05:00
2026-05-21 09:19:29 -06:00
2026-06-03 10:46:07 +01:00
2026-08-21 10:31:01 -04:00
2026-08-21 10:31:01 -04:00
2026-05-05 02:54:03 +05:00
2026-07-14 13:39:58 -04:00
2026-06-03 10:46:07 +01:00
2026-04-10 09:50:11 -05:00
2026-07-14 13:39:58 -04:00
2026-05-05 02:54:03 +05: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-08-21 23:46:27 -06:00
2026-06-15 11:07:16 -04:00
2026-07-27 16:10:40 -04:00
2026-08-06 14:04:23 +10:00
2026-08-06 14:14:37 +10:00
2026-08-06 14:14:37 +10:00
2026-08-21 23:46:27 -06:00
2026-08-06 14:14:37 +10:00
2026-08-19 16:16:51 -06:00
2026-08-21 23:46:27 -06:00
2026-05-05 02:54:03 +05:00
2026-06-04 14:37:19 -04:00
2026-08-18 12:54:45 -07:00
2026-07-23 11:56:07 -06:00
2026-08-21 23:46:27 -06:00
2026-08-16 18:18:02 +05:00
2026-07-28 09:58:33 -06:00
2026-08-21 23:46:27 -06:00
2026-08-18 12:54:45 -07:00
2026-08-18 12:54:45 -07:00
2026-05-20 19:50:50 +02:00
2026-08-18 12:54:45 -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-05-05 02:54:03 +05:00
2026-07-01 15:59:55 +03:00
2026-07-14 13:50:25 +01:00
2026-08-21 03:14:55 +03:00
2026-08-21 23:46:27 -06:00
2026-05-11 14:27:40 -05:00
2026-08-21 23:46:27 -06:00
2026-07-28 13:20:59 -07:00
2026-05-05 02:54:03 +05:00
2026-08-18 11:33:01 -05:00
2026-08-21 23:46:27 -06:00
2026-08-19 16:16:51 -06:00
2026-08-24 16:17:55 +02:00
2026-05-05 02:54:03 +05:00
2026-05-18 08:33:29 -04:00
2026-05-13 14:14:07 +00:00
2026-05-11 11:03:38 +02:00
2026-08-21 23:46:27 -06:00
2026-08-21 23:46:27 -06:00
2026-08-24 16:17:55 +02:00
2026-08-20 10:40:31 +02:00