diff --git a/itest/rcmgr_test.go b/itest/rcmgr_test.go index 0fd99b9836..90caff667f 100644 --- a/itest/rcmgr_test.go +++ b/itest/rcmgr_test.go @@ -99,6 +99,7 @@ func TestResourceManagerServiceInbound(t *testing.T) { *ready1 = make(chan struct{}) *ready2 = make(chan struct{}) + var once sync.Once var wg sync.WaitGroup for i := 1; i < 5; i++ { wg.Add(1) @@ -108,7 +109,9 @@ func TestResourceManagerServiceInbound(t *testing.T) { err := echos[i].Echo(echos[0].Host.ID(), "hello libp2p") if err != nil { t.Log(err) - close(*ready2) + once.Do(func() { + close(*ready2) + }) } }(i) } @@ -178,6 +181,7 @@ func TestResourceManagerServicePeerInbound(t *testing.T) { *ready2 = make(chan struct{}) echos[0].BeforeRead = waitForChannel(ready2) + var once sync.Once for i := 0; i < 3; i++ { wg.Add(1) go func() { @@ -186,7 +190,9 @@ func TestResourceManagerServicePeerInbound(t *testing.T) { err := echos[2].Echo(echos[0].Host.ID(), "hello libp2p") if err != nil { t.Log(err) - close(*ready2) + once.Do(func() { + close(*ready2) + }) } }() }