From 5a4e4923f2ec1c7402c0b57e7e3a11520537f157 Mon Sep 17 00:00:00 2001 From: patriceckhart Date: Wed, 17 Jun 2026 16:38:56 +0200 Subject: [PATCH] test(swarm): wait for inbox listener before send --- packages/agent/modes/swarm_slash_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/agent/modes/swarm_slash_test.go b/packages/agent/modes/swarm_slash_test.go index 4031617..50063b5 100644 --- a/packages/agent/modes/swarm_slash_test.go +++ b/packages/agent/modes/swarm_slash_test.go @@ -102,6 +102,7 @@ func TestRunSwarmNewSpawnsAgent(t *testing.T) { func TestRunSwarmSendDeliversToAgentInbox(t *testing.T) { root := t.TempDir() recv := make(chan string, 4) + ready := make(chan error, 1) f := swarm.New(swarm.Config{ Root: root, RepoRoot: root, @@ -112,6 +113,7 @@ func TestRunSwarmSendDeliversToAgentInbox(t *testing.T) { // something to talk to. The runner-test stubs do the // same; this is the minimum to exercise the wire. ln, err := swarm.Listen(a.InboxPath) + ready <- err if err != nil { return err } @@ -138,6 +140,14 @@ func TestRunSwarmSendDeliversToAgentInbox(t *testing.T) { if err != nil { t.Fatalf("spawn: %v", err) } + select { + case err := <-ready: + if err != nil { + t.Fatalf("listen: %v", err) + } + case <-time.After(5 * time.Second): + t.Fatal("timed out waiting for agent inbox listener") + } // Run /swarm send . The dispatcher would have // already strings.Fields-ed the input; mirror that here.