fix: flaky tests caused by occasionally closing channel multiple times

This commit is contained in:
Toby
2024-03-23 11:17:51 -07:00
parent a037880f88
commit 89a99a08bf
2 changed files with 12 additions and 6 deletions

View File

@@ -2,6 +2,7 @@ package integration_tests
import (
"io"
"sync"
"testing"
"time"
@@ -46,6 +47,7 @@ func TestClientServerTrafficLoggerTCP(t *testing.T) {
sobConn := mocks.NewMockConn(t)
sobConnCh := make(chan []byte, 1)
sobConnChCloseFunc := sync.OnceFunc(func() { close(sobConnCh) })
sobConn.EXPECT().Read(mock.Anything).RunAndReturn(func(bs []byte) (int, error) {
b := <-sobConnCh
if b == nil {
@@ -55,9 +57,9 @@ func TestClientServerTrafficLoggerTCP(t *testing.T) {
}
})
sobConn.EXPECT().Close().RunAndReturn(func() error {
close(sobConnCh)
sobConnChCloseFunc()
return nil
}).Once()
})
serverOb.EXPECT().TCP(addr).Return(sobConn, nil).Once()
conn, err := c.TCP(addr)
@@ -125,6 +127,7 @@ func TestClientServerTrafficLoggerUDP(t *testing.T) {
sobConn := mocks.NewMockUDPConn(t)
sobConnCh := make(chan []byte, 1)
sobConnChCloseFunc := sync.OnceFunc(func() { close(sobConnCh) })
sobConn.EXPECT().ReadFrom(mock.Anything).RunAndReturn(func(bs []byte) (int, string, error) {
b := <-sobConnCh
if b == nil {
@@ -134,9 +137,9 @@ func TestClientServerTrafficLoggerUDP(t *testing.T) {
}
})
sobConn.EXPECT().Close().RunAndReturn(func() error {
close(sobConnCh)
sobConnChCloseFunc()
return nil
}).Once()
})
serverOb.EXPECT().UDP(addr).Return(sobConn, nil).Once()
conn, err := c.UDP()