Make tests that wait for concurrent work wait on the event or a condition with a long deadline (issue 1814)

A test that slept a fixed time and then asserted what a goroutine, process or
watcher did failed under the checker's load. Each now waits for its positive
evidence (a started baseline, a call counted, a state reached) within 30 s, and
the concurrency-limit tests meet at a barrier instead of overlapping by sleep.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
This commit is contained in:
2026-11-01 17:24:19 +01:00
parent 3d1a450406
commit b3fcf408f2
52 changed files with 144 additions and 91 deletions
@@ -882,7 +882,7 @@ func TestBreakGlassIsAFileRootMadeAndTheMinuteGoesOn(t *testing.T) {
go func() { h.Tick(); close(done) }()
select {
case <-done:
case <-time.After(5 * time.Second):
case <-time.After(30 * time.Second):
t.Fatal("the router's minute hung on a break-glass file")
}
}
@@ -552,7 +552,7 @@ func TestTheRootFreeWordIsNotAskedWhileTheWorkIsHeld(t *testing.T) {
}()
select {
case <-linked:
case <-time.After(2 * time.Second):
case <-time.After(30 * time.Second):
close(slow)
t.Fatal("a link waited for the controller's root-free word: the work was held while it was asked")
}