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.
CC: William Tu <[email protected]> CC: Greg Rose <[email protected]> Reported-at: https://github.com/travis-ci/travis-ci/issues/8711 Signed-off-by: Ben Pfaff <[email protected]> --- tests/atlocal.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/atlocal.in b/tests/atlocal.in index 95f98f4dc845..bdf5bd0ca97e 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 -- 2.10.2 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
