Skip to content

Commit 936c48a

Browse files
authored
Merge pull request #1725 from lammel/bugfix/conditional-ipv6-tests
Fix failing tests on systems not supporting IPv6
2 parents 829e821 + e4fe8c8 commit 936c48a

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

echo_test.go

+17
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"errors"
77
"fmt"
88
"io/ioutil"
9+
"net"
910
"net/http"
1011
"net/http/httptest"
1112
"reflect"
@@ -730,8 +731,24 @@ var listenerNetworkTests = []struct {
730731
{"tcp6 ipv6 address", "tcp6", "[::1]:1323"},
731732
}
732733

734+
func supportsIPv6() bool {
735+
addrs, _ := net.InterfaceAddrs()
736+
for _, addr := range addrs {
737+
// Check if any interface has local IPv6 assigned
738+
if strings.Contains(addr.String(), "::1") {
739+
return true
740+
}
741+
}
742+
return false
743+
}
744+
733745
func TestEchoListenerNetwork(t *testing.T) {
746+
hasIPv6 := supportsIPv6()
734747
for _, tt := range listenerNetworkTests {
748+
if !hasIPv6 && strings.Contains(tt.address, "::") {
749+
t.Skip("Skipping testing IPv6 for " + tt.address + ", not available")
750+
continue
751+
}
735752
t.Run(tt.test, func(t *testing.T) {
736753
e := New()
737754
e.ListenerNetwork = tt.network

0 commit comments

Comments
 (0)