1
0
mirror of https://github.com/labstack/echo.git synced 2025-01-12 01:22:21 +02:00

Merge pull request #1725 from lammel/bugfix/conditional-ipv6-tests

Fix failing tests on systems not supporting IPv6
This commit is contained in:
Roland Lammel 2020-12-18 15:14:59 +01:00 committed by GitHub
commit 936c48a17e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,6 +6,7 @@ import (
"errors"
"fmt"
"io/ioutil"
"net"
"net/http"
"net/http/httptest"
"reflect"
@ -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