diff --git a/active_tcp_test.go b/active_tcp_test.go index 7b79830..d26a1bd 100644 --- a/active_tcp_test.go +++ b/active_tcp_test.go @@ -160,6 +160,9 @@ func TestActiveTCP(t *testing.T) { passiveAgent, err := NewAgent(cfg) req.NoError(err) req.NotNil(passiveAgent) + defer func() { + req.NoError(passiveAgent.Close()) + }() activeAgent, err := NewAgent(&AgentConfig{ CandidateTypes: []CandidateType{CandidateTypeHost}, @@ -172,6 +175,9 @@ func TestActiveTCP(t *testing.T) { req.NoError(err) req.NotNil(activeAgent) + defer func() { + req.NoError(activeAgent.Close()) + }() passiveAgentConn, activeAgenConn := connect(t, passiveAgent, activeAgent) req.NotNil(passiveAgentConn) diff --git a/gather_test.go b/gather_test.go index d9195d6..7cd6c1a 100644 --- a/gather_test.go +++ b/gather_test.go @@ -275,17 +275,22 @@ func TestSTUNConcurrency(t *testing.T) { _ = listener.Close() }() + tcpMux := NewTCPMuxDefault( + TCPMuxParams{ + Listener: listener, + Logger: logging.NewDefaultLoggerFactory().NewLogger("ice"), + ReadBufferSize: 8, + }, + ) + defer func() { + _ = tcpMux.Close() + }() + agent, err := NewAgent(&AgentConfig{ NetworkTypes: supportedNetworkTypes(), Urls: urls, CandidateTypes: []CandidateType{CandidateTypeHost, CandidateTypeServerReflexive}, - TCPMux: NewTCPMuxDefault( - TCPMuxParams{ - Listener: listener, - Logger: logging.NewDefaultLoggerFactory().NewLogger("ice"), - ReadBufferSize: 8, - }, - ), + TCPMux: tcpMux, }) require.NoError(t, err) defer func() { @@ -770,10 +775,14 @@ func TestMultiTCPMuxUsage(t *testing.T) { }() expectedPorts = append(expectedPorts, port) - tcpMuxInstances = append(tcpMuxInstances, NewTCPMuxDefault(TCPMuxParams{ + tcpMux := NewTCPMuxDefault(TCPMuxParams{ Listener: listener, ReadBufferSize: 8, - })) + }) + defer func() { + _ = tcpMux.Close() + }() + tcpMuxInstances = append(tcpMuxInstances, tcpMux) } agent, err := NewAgent(&AgentConfig{ diff --git a/tcp_mux_multi_test.go b/tcp_mux_multi_test.go index 7fb0a09..aaba0a7 100644 --- a/tcp_mux_multi_test.go +++ b/tcp_mux_multi_test.go @@ -46,6 +46,9 @@ func TestMultiTCPMux_Recv(t *testing.T) { ReadBufferSize: 20, WriteBufferSize: bufSize, }) + defer func() { + _ = tcpMux.Close() + }() muxInstances = append(muxInstances, tcpMux) require.NotNil(t, tcpMux.LocalAddr(), "tcpMux.LocalAddr() is nil") } @@ -114,6 +117,9 @@ func TestMultiTCPMux_NoDeadlockWhenClosingUnusedPacketConn(t *testing.T) { Logger: loggerFactory.NewLogger("ice"), ReadBufferSize: 20, }) + defer func() { + _ = tcpMux.Close() + }() tcpMuxInstances = append(tcpMuxInstances, tcpMux) } muxMulti := NewMultiTCPMuxDefault(tcpMuxInstances...) @@ -150,6 +156,9 @@ func TestMultiTCPMux_GetConnByUfrag_FromAnyMux(t *testing.T) { Logger: logger, ReadBufferSize: 8, }) + defer func() { + _ = mux1.Close() + }() l2, err := net.ListenTCP("tcp", &net.TCPAddr{IP: net.IP{127, 0, 0, 1}, Port: 0}) require.NoError(t, err) @@ -162,6 +171,9 @@ func TestMultiTCPMux_GetConnByUfrag_FromAnyMux(t *testing.T) { Logger: logger, ReadBufferSize: 8, }) + defer func() { + _ = mux2.Close() + }() multi := NewMultiTCPMuxDefault(mux1, mux2) defer func() { _ = multi.Close() }() @@ -221,6 +233,9 @@ func TestMultiTCPMux_Close_PropagatesError_FromWrappedMux(t *testing.T) { Logger: logger, ReadBufferSize: 8, }) + defer func() { + _ = mux1.Close() + }() // second mux: Close() returns injected error l2, err := net.ListenTCP("tcp", &net.TCPAddr{IP: net.IP{127, 0, 0, 1}, Port: 0}) @@ -230,6 +245,9 @@ func TestMultiTCPMux_Close_PropagatesError_FromWrappedMux(t *testing.T) { Logger: logger, ReadBufferSize: 8, }) + defer func() { + _ = mux2Real.Close() + }() mux2 := &closeErrTCPMux{TCPMux: mux2Real, ret: errTCPMuxCloseBoom} multi := NewMultiTCPMuxDefault(mux1, mux2) @@ -249,6 +267,9 @@ func TestMultiTCPMux_Close_LastErrorWins_FromWrappedMuxes(t *testing.T) { Logger: logger, ReadBufferSize: 8, }) + defer func() { + _ = mux1Real.Close() + }() mux1 := &closeErrTCPMux{TCPMux: mux1Real, ret: errTCPMuxCloseFirst} // second mux: error2 (last error should be returned) @@ -259,6 +280,9 @@ func TestMultiTCPMux_Close_LastErrorWins_FromWrappedMuxes(t *testing.T) { Logger: logger, ReadBufferSize: 8, }) + defer func() { + _ = mux2Real.Close() + }() mux2 := &closeErrTCPMux{TCPMux: mux2Real, ret: errTCPMuxCloseSecond} multi := NewMultiTCPMuxDefault(mux1, mux2) diff --git a/tcp_mux_test.go b/tcp_mux_test.go index b33e399..986b1b0 100644 --- a/tcp_mux_test.go +++ b/tcp_mux_test.go @@ -147,6 +147,9 @@ func TestTCPMux_FirstPacketTimeout(t *testing.T) { ReadBufferSize: 20, FirstStunBindTimeout: time.Second, }) + defer func() { + _ = tcpMux.Close() + }() require.NotNil(t, tcpMux.LocalAddr(), "tcpMux.LocalAddr() is nil") diff --git a/transport_test.go b/transport_test.go index cdb4f6b..b16f54b 100644 --- a/transport_test.go +++ b/transport_test.go @@ -207,11 +207,17 @@ func pipe(t *testing.T, defaultConfig *AgentConfig) (*Conn, *Conn) { aAgent, err := NewAgent(cfg) require.NoError(t, err) require.NoError(t, aAgent.OnConnectionStateChange(aNotifier)) + t.Cleanup(func() { + require.NoError(t, aAgent.Close()) + }) bAgent, err := NewAgent(cfg) require.NoError(t, err) require.NoError(t, bAgent.OnConnectionStateChange(bNotifier)) + t.Cleanup(func() { + require.NoError(t, bAgent.Close()) + }) aConn, bConn := connect(t, aAgent, bAgent) @@ -240,10 +246,16 @@ func pipeWithTimeout(t *testing.T, disconnectTimeout time.Duration, iceKeepalive aAgent, err := NewAgent(cfg) require.NoError(t, err) require.NoError(t, aAgent.OnConnectionStateChange(aNotifier)) + t.Cleanup(func() { + require.NoError(t, aAgent.Close()) + }) bAgent, err := NewAgent(cfg) require.NoError(t, err) require.NoError(t, bAgent.OnConnectionStateChange(bNotifier)) + t.Cleanup(func() { + require.NoError(t, bAgent.Close()) + }) aConn, bConn := connect(t, aAgent, bAgent)