mirror of
https://github.com/block/buzz.git
synced 2026-11-11 20:01:09 +00:00
The startup_steps log-capture tests flaked in parallel runs: the panic test dropped its record in 60 of 150 runs of `telemetry:: startup_steps:: config::` on Blox. tracing-core caches each callsite's interest process-wide from whichever dispatchers are live when it is first hit or rebuilt; while at most one dispatcher is registered it asks only the hitting thread's. The gauge tests fire the same step callsites with no dispatcher, so whichever test hit a callsite first could cache it as disabled for the log-capture tests. Running the gauge tests under a dispatcher instead made telemetry's trace_context_lookup_does_not_enable_callsites fail every time, because it relies on no enabling dispatcher being live. Add a crate test lock and take it in the tests whose assertions depend on live dispatchers: the startup_steps helpers (including the gauge tests, which fire the asserted callsites), the two telemetry dispatcher tests, and the config and bridge log-capture helpers. router.rs's async otel-export test is left out because the guard would cross an await. Also reword the large-roster startup log so it no longer says "repaired" when only failures occurred. Signed-off-by: Elrond <28d6302a099e5225b02c4155ac4236e4912603df2ab08dbfc2f4fef08ce598c8@buzz.block.builderlab.xyz>