From 52f2075c2e91a4912adcf4a7a13cdf019fbd5bd6 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Sat, 23 Mar 2024 21:01:58 -0400 Subject: [PATCH] Replace t.(Error/Fatal) with require.NoError Make tests easier to read --- active_tcp_test.go | 16 +++------- agent_test.go | 48 ++++++++---------------------- candidate_relay_test.go | 16 +++------- candidate_server_reflexive_test.go | 16 +++------- gather_test.go | 5 ++-- gather_vnet_test.go | 33 ++++++++++---------- mdns_test.go | 36 ++++++---------------- rand_test.go | 10 +++---- transport_test.go | 16 +++------- 9 files changed, 58 insertions(+), 138 deletions(-) diff --git a/active_tcp_test.go b/active_tcp_test.go index 3df2c5e..7b696d1 100644 --- a/active_tcp_test.go +++ b/active_tcp_test.go @@ -170,14 +170,10 @@ func TestActiveTCP_NonBlocking(t *testing.T) { } aAgent, err := NewAgent(cfg) - if err != nil { - t.Error(err) - } + require.NoError(t, err) bAgent, err := NewAgent(cfg) - if err != nil { - t.Error(err) - } + require.NoError(t, err) isConnected := make(chan interface{}) err = aAgent.OnConnectionStateChange(func(c ConnectionState) { @@ -185,15 +181,11 @@ func TestActiveTCP_NonBlocking(t *testing.T) { close(isConnected) } }) - if err != nil { - t.Error(err) - } + require.NoError(t, err) // Add a invalid ice-tcp candidate to each invalidCandidate, err := UnmarshalCandidate("1052353102 1 tcp 1675624447 192.0.2.1 8080 typ host tcptype passive") - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) require.NoError(t, aAgent.AddRemoteCandidate(invalidCandidate)) require.NoError(t, bAgent.AddRemoteCandidate(invalidCandidate)) diff --git a/agent_test.go b/agent_test.go index 0207476..bbb44cf 100644 --- a/agent_test.go +++ b/agent_test.go @@ -68,9 +68,7 @@ func TestHandlePeerReflexive(t *testing.T) { stun.NewShortTermIntegrity(a.localPwd), stun.Fingerprint, ) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) // nolint: contextcheck a.handleInbound(msg, local, remote) @@ -163,9 +161,7 @@ func TestHandlePeerReflexive(t *testing.T) { stun.NewShortTermIntegrity(a.remotePwd), stun.Fingerprint, ) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) // nolint: contextcheck a.handleInbound(msg, local, remote) @@ -353,9 +349,7 @@ func TestInboundValidity(t *testing.T) { stun.NewShortTermIntegrity(key), stun.Fingerprint, ) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) return msg } @@ -449,9 +443,7 @@ func TestInboundValidity(t *testing.T) { stun.NewUsername(a.localUfrag+":"+a.remoteUfrag), stun.NewShortTermIntegrity(a.localPwd), ) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) // nolint: contextcheck a.handleInbound(msg, local, remote) @@ -547,14 +539,10 @@ func TestConnectionStateCallback(t *testing.T) { } aAgent, err := NewAgent(cfg) - if err != nil { - t.Error(err) - } + require.NoError(t, err) bAgent, err := NewAgent(cfg) - if err != nil { - t.Error(err) - } + require.NoError(t, err) isChecking := make(chan interface{}) isConnected := make(chan interface{}) @@ -576,9 +564,7 @@ func TestConnectionStateCallback(t *testing.T) { default: } }) - if err != nil { - t.Error(err) - } + require.NoError(t, err) connect(aAgent, bAgent) @@ -1385,14 +1371,10 @@ func TestCloseInConnectionStateCallback(t *testing.T) { } aAgent, err := NewAgent(cfg) - if err != nil { - t.Error(err) - } + require.NoError(t, err) bAgent, err := NewAgent(cfg) - if err != nil { - t.Error(err) - } + require.NoError(t, err) isClosed := make(chan interface{}) isConnected := make(chan interface{}) @@ -1406,9 +1388,7 @@ func TestCloseInConnectionStateCallback(t *testing.T) { default: } }) - if err != nil { - t.Error(err) - } + require.NoError(t, err) connect(aAgent, bAgent) close(isConnected) @@ -1449,9 +1429,7 @@ func TestRunTaskInConnectionStateCallback(t *testing.T) { close(isComplete) } }) - if err != nil { - t.Error(err) - } + require.NoError(t, err) connect(aAgent, bAgent) @@ -1713,9 +1691,7 @@ func TestAcceptAggressiveNomination(t *testing.T) { PriorityAttr(priority), stun.Fingerprint, ) - if err1 != nil { - t.Fatal(err1) - } + require.NoError(t, err1) return msg } diff --git a/candidate_relay_test.go b/candidate_relay_test.go index 5a98a5b..b3ebc26 100644 --- a/candidate_relay_test.go +++ b/candidate_relay_test.go @@ -60,24 +60,16 @@ func TestRelayOnlyConnection(t *testing.T) { } aAgent, err := NewAgent(cfg) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) aNotifier, aConnected := onConnected() - if err = aAgent.OnConnectionStateChange(aNotifier); err != nil { - t.Fatal(err) - } + require.NoError(t, aAgent.OnConnectionStateChange(aNotifier)) bAgent, err := NewAgent(cfg) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) bNotifier, bConnected := onConnected() - if err = bAgent.OnConnectionStateChange(bNotifier); err != nil { - t.Fatal(err) - } + require.NoError(t, bAgent.OnConnectionStateChange(bNotifier)) connect(aAgent, bAgent) <-aConnected diff --git a/candidate_server_reflexive_test.go b/candidate_server_reflexive_test.go index 3d8244a..037c058 100644 --- a/candidate_server_reflexive_test.go +++ b/candidate_server_reflexive_test.go @@ -53,24 +53,16 @@ func TestServerReflexiveOnlyConnection(t *testing.T) { } aAgent, err := NewAgent(cfg) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) aNotifier, aConnected := onConnected() - if err = aAgent.OnConnectionStateChange(aNotifier); err != nil { - t.Fatal(err) - } + require.NoError(t, aAgent.OnConnectionStateChange(aNotifier)) bAgent, err := NewAgent(cfg) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) bNotifier, bConnected := onConnected() - if err = bAgent.OnConnectionStateChange(bNotifier); err != nil { - t.Fatal(err) - } + require.NoError(t, bAgent.OnConnectionStateChange(bNotifier)) connect(aAgent, bAgent) <-aConnected diff --git a/gather_test.go b/gather_test.go index 5fd42b6..54c8a8d 100644 --- a/gather_test.go +++ b/gather_test.go @@ -66,9 +66,8 @@ func TestListenUDP(t *testing.T) { require.NotNil(t, conn, "listenUDP error with no port restriction return a nil conn") _, port, err = net.SplitHostPort(conn.LocalAddr().String()) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) + p, _ := strconv.Atoi(port) if p < portMin || p > portMax { t.Fatalf("listenUDP with port restriction [%d, %d] listened on incorrect port (%s)", portMin, portMax, port) diff --git a/gather_vnet_test.go b/gather_vnet_test.go index 30ee32f..ce11e83 100644 --- a/gather_vnet_test.go +++ b/gather_vnet_test.go @@ -37,9 +37,8 @@ func TestVNetGather(t *testing.T) { localIPs, err := localInterfaces(a.net, a.interfaceFilter, a.ipFilter, []NetworkType{NetworkTypeUDP4}, false) if len(localIPs) > 0 { t.Fatal("should return no local IP") - } else if err != nil { - t.Fatal(err) } + require.NoError(t, err) require.NoError(t, a.Close()) }) @@ -77,9 +76,8 @@ func TestVNetGather(t *testing.T) { localIPs, err := localInterfaces(a.net, a.interfaceFilter, a.ipFilter, []NetworkType{NetworkTypeUDP4}, false) if len(localIPs) == 0 { t.Fatal("should have one local IP") - } else if err != nil { - t.Fatal(err) } + require.NoError(t, err) for _, ip := range localIPs { if ip.IsLoopback() { @@ -120,9 +118,8 @@ func TestVNetGather(t *testing.T) { localIPs, err := localInterfaces(a.net, a.interfaceFilter, a.ipFilter, []NetworkType{NetworkTypeUDP4}, false) if len(localIPs) == 0 { t.Fatal("localInterfaces found no interfaces, unable to test") - } else if err != nil { - t.Fatal(err) } + require.NoError(t, err) ip := localIPs[0] @@ -150,9 +147,9 @@ func TestVNetGather(t *testing.T) { } _, port, err := net.SplitHostPort(conn.LocalAddr().String()) - if err != nil { - t.Fatal(err) - } else if port != "5000" { + + require.NoError(t, err) + if port != "5000" { t.Fatalf("listenUDP with port restriction of 5000 listened on incorrect port (%s)", port) } @@ -389,9 +386,9 @@ func TestVNetGatherWithInterfaceFilter(t *testing.T) { require.NoError(t, err) localIPs, err := localInterfaces(a.net, a.interfaceFilter, a.ipFilter, []NetworkType{NetworkTypeUDP4}, false) - if err != nil { - t.Fatal(err) - } else if len(localIPs) != 0 { + require.NoError(t, err) + + if len(localIPs) != 0 { t.Fatal("InterfaceFilter should have excluded everything") } @@ -409,9 +406,9 @@ func TestVNetGatherWithInterfaceFilter(t *testing.T) { require.NoError(t, err) localIPs, err := localInterfaces(a.net, a.interfaceFilter, a.ipFilter, []NetworkType{NetworkTypeUDP4}, false) - if err != nil { - t.Fatal(err) - } else if len(localIPs) != 0 { + require.NoError(t, err) + + if len(localIPs) != 0 { t.Fatal("IPFilter should have excluded everything") } @@ -429,9 +426,9 @@ func TestVNetGatherWithInterfaceFilter(t *testing.T) { require.NoError(t, err) localIPs, err := localInterfaces(a.net, a.interfaceFilter, a.ipFilter, []NetworkType{NetworkTypeUDP4}, false) - if err != nil { - t.Fatal(err) - } else if len(localIPs) == 0 { + require.NoError(t, err) + + if len(localIPs) == 0 { t.Fatal("InterfaceFilter should not have excluded anything") } diff --git a/mdns_test.go b/mdns_test.go index 8c9a5d7..a82d6b1 100644 --- a/mdns_test.go +++ b/mdns_test.go @@ -29,24 +29,16 @@ func TestMulticastDNSOnlyConnection(t *testing.T) { } aAgent, err := NewAgent(cfg) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) aNotifier, aConnected := onConnected() - if err = aAgent.OnConnectionStateChange(aNotifier); err != nil { - t.Fatal(err) - } + require.NoError(t, aAgent.OnConnectionStateChange(aNotifier)) bAgent, err := NewAgent(cfg) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) bNotifier, bConnected := onConnected() - if err = bAgent.OnConnectionStateChange(bNotifier); err != nil { - t.Fatal(err) - } + require.NoError(t, bAgent.OnConnectionStateChange(bNotifier)) connect(aAgent, bAgent) <-aConnected @@ -67,28 +59,20 @@ func TestMulticastDNSMixedConnection(t *testing.T) { CandidateTypes: []CandidateType{CandidateTypeHost}, MulticastDNSMode: MulticastDNSModeQueryAndGather, }) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) aNotifier, aConnected := onConnected() - if err = aAgent.OnConnectionStateChange(aNotifier); err != nil { - t.Fatal(err) - } + require.NoError(t, aAgent.OnConnectionStateChange(aNotifier)) bAgent, err := NewAgent(&AgentConfig{ NetworkTypes: []NetworkType{NetworkTypeUDP4}, CandidateTypes: []CandidateType{CandidateTypeHost}, MulticastDNSMode: MulticastDNSModeQueryOnly, }) - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) bNotifier, bConnected := onConnected() - if err = bAgent.OnConnectionStateChange(bNotifier); err != nil { - t.Fatal(err) - } + require.NoError(t, bAgent.OnConnectionStateChange(bNotifier)) connect(aAgent, bAgent) <-aConnected @@ -133,9 +117,7 @@ func TestMulticastDNSStaticHostName(t *testing.T) { func TestGenerateMulticastDNSName(t *testing.T) { name, err := generateMulticastDNSName() - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) isMDNSName := regexp.MustCompile( `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}.local+$`, ).MatchString diff --git a/rand_test.go b/rand_test.go index 4cb12b6..ecc7053 100644 --- a/rand_test.go +++ b/rand_test.go @@ -6,6 +6,8 @@ package ice import ( "sync" "testing" + + "github.com/stretchr/testify/require" ) func TestRandomGeneratorCollision(t *testing.T) { @@ -22,18 +24,14 @@ func TestRandomGeneratorCollision(t *testing.T) { "PWD": { gen: func(t *testing.T) string { s, err := generatePwd() - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) return s }, }, "Ufrag": { gen: func(t *testing.T) string { s, err := generateUFrag() - if err != nil { - t.Fatal(err) - } + require.NoError(t, err) return s }, }, diff --git a/transport_test.go b/transport_test.go index ef79773..216ee8b 100644 --- a/transport_test.go +++ b/transport_test.go @@ -15,6 +15,7 @@ import ( "github.com/pion/stun/v2" "github.com/pion/transport/v3/test" + "github.com/stretchr/testify/require" ) func TestStressDuplex(t *testing.T) { @@ -134,14 +135,8 @@ func stressDuplex(t *testing.T) { ca, cb := pipe(nil) defer func() { - err := ca.Close() - if err != nil { - t.Fatal(err) - } - err = cb.Close() - if err != nil { - t.Fatal(err) - } + require.NoError(t, ca.Close()) + require.NoError(t, cb.Close()) }() opt := test.Options{ @@ -149,10 +144,7 @@ func stressDuplex(t *testing.T) { MsgCount: 1, // Order not reliable due to UDP & potentially multiple candidate pairs. } - err := test.StressDuplex(ca, cb, opt) - if err != nil { - t.Fatal(err) - } + require.NoError(t, test.StressDuplex(ca, cb, opt)) } func check(err error) {