summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2017-11-13 16:57:48 -0800
committerBen Pfaff <blp@ovn.org>2017-11-14 10:09:13 -0800
commit6062e357e50a284a1ae941e582abb0a7f52c5464 (patch)
tree5b84eabd325b4285204b373619ff2584093e2cea
parentee72d59f151ede4a6f2e9ea3ecdfa6ce24d3600f (diff)
downloadopenvswitch-6062e357e50a284a1ae941e582abb0a7f52c5464.tar.gz
tests: Try harder to figure out whether IPv6 is supported.
Until now, the tests have tried to create an IPv6 socket to figure out whether the system under test supports IPv6. Recently we've seen test failures on Travis which appear to be because, although the system supports IPv6, test programs are not allowed to connect or bind IPv6 addresses. This commit refines the test for IPv6 to also try to bind the IPv6 localhost address, which should convert the test failures to "skip"s. Acked-by: William Tu <u9012063@gmail.com> Reviewed-by: Greg Rose <gvrose8192@gmail.com> Tested-at: https://travis-ci.org/gvrose8192/ovs-experimental Reported-at: https://github.com/travis-ci/travis-ci/issues/8711 Signed-off-by: Ben Pfaff <blp@ovn.org>
-rw-r--r--tests/atlocal.in7
1 files changed, 6 insertions, 1 deletions
diff --git a/tests/atlocal.in b/tests/atlocal.in
index 015817c46..a8907f4f5 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -108,7 +108,12 @@ FreeBSD|NetBSD)
esac
# Check whether to run IPv6 tests.
-if perl -e 'use Socket; socket(FH, PF_INET6, SOCK_STREAM, 0) || exit 1;'; then
+if perl -e '
+ use Socket qw(PF_INET6 SOCK_STREAM pack_sockaddr_in6 IN6ADDR_LOOPBACK);
+
+ socket(S, PF_INET6, SOCK_STREAM, 0) || exit 1;
+ bind(S, pack_sockaddr_in6(0, IN6ADDR_LOOPBACK)) || exit 1;
+'; then
HAVE_IPV6=yes
else
HAVE_IPV6=no