From 7a640757023ae87421c2b92e2b9bdec755b7f975 Mon Sep 17 00:00:00 2001 From: jochen Date: Sat, 24 Oct 2026 22:44:12 +0200 Subject: [PATCH] Let a later test's verb run after the served controller stops (issue 1945) serve marks the process as handing over once it stops, and refuses every verb from then on; the served tests run it in the test process, so the connection test's conditions verb was refused without its own process ever starting. --- cmd/mesh-controller/composed_served_integration_test.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cmd/mesh-controller/composed_served_integration_test.go b/cmd/mesh-controller/composed_served_integration_test.go index dce07570..41819d3d 100644 --- a/cmd/mesh-controller/composed_served_integration_test.go +++ b/cmd/mesh-controller/composed_served_integration_test.go @@ -230,6 +230,13 @@ func aServedMesh(t *testing.T) *servedMesh { case <-time.After(30 * time.Second): t.Log("the controller did not stop within 30 s") } + // A stopping controller refuses every verb from then on as a handover (issue 289), which its process exits + // after; this one is the test process, so a later test's verb would be refused without running (issue 1945: + // the conditions verb's own process was never started). Its stop marks it once the serving context ends. + for deadline := time.Now().Add(5 * time.Second); !handingOver.Load() && time.Now().Before(deadline); { + time.Sleep(10 * time.Millisecond) + } + handingOver.Store(false) }) // Served once both nodes have their own composition: the start's pass ran. for _, node := range []string{"anchor", "laptop"} {