Skip to content

Commit

Permalink
Merge pull request #1725 from lammel/bugfix/conditional-ipv6-tests
Browse files Browse the repository at this point in the history
Fix failing tests on systems not supporting IPv6
  • Loading branch information
lammel authored Dec 18, 2020
2 parents 829e821 + e4fe8c8 commit 936c48a
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions echo_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"errors"
"fmt"
"io/ioutil"
"net"
"net/http"
"net/http/httptest"
"reflect"
Expand Down Expand Up @@ -730,8 +731,24 @@ var listenerNetworkTests = []struct {
{"tcp6 ipv6 address", "tcp6", "[::1]:1323"},
}

func supportsIPv6() bool {
addrs, _ := net.InterfaceAddrs()
for _, addr := range addrs {
// Check if any interface has local IPv6 assigned
if strings.Contains(addr.String(), "::1") {
return true
}
}
return false
}

func TestEchoListenerNetwork(t *testing.T) {
hasIPv6 := supportsIPv6()
for _, tt := range listenerNetworkTests {
if !hasIPv6 && strings.Contains(tt.address, "::") {
t.Skip("Skipping testing IPv6 for " + tt.address + ", not available")
continue
}
t.Run(tt.test, func(t *testing.T) {
e := New()
e.ListenerNetwork = tt.network
Expand Down

0 comments on commit 936c48a

Please # to comment.