diff options
author | Daniel Black <daniel.black@au.ibm.com> | 2016-08-25 10:21:06 +1000 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2016-10-04 16:09:46 +0200 |
commit | 70dcb46e98e682b6d0c7c3522ddc0ebf0abb70ec (patch) | |
tree | cffb9c2cdf17b9756119892de4e63bdd3b47d0a1 /mysql-test/suite.pm | |
parent | 4f919beedabb1ab46e0836b6b0dea3331228cf34 (diff) | |
download | mariadb-git-70dcb46e98e682b6d0c7c3522ddc0ebf0abb70ec.tar.gz |
MDEV-9185: fix ipv6 detection test in MTR
Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
Diffstat (limited to 'mysql-test/suite.pm')
-rw-r--r-- | mysql-test/suite.pm | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/mysql-test/suite.pm b/mysql-test/suite.pm index ea07af7376c..6991ba5f035 100644 --- a/mysql-test/suite.pm +++ b/mysql-test/suite.pm @@ -56,9 +56,15 @@ sub skip_combinations { sub ipv6_ok() { use Socket; return 0 unless socket my $sock, PF_INET6, SOCK_STREAM, getprotobyname('tcp'); - # eval{}, if there's no Socket::sockaddr_in6 at all, old Perl installation - eval { connect $sock, sockaddr_in6(7, Socket::IN6ADDR_LOOPBACK) }; - return $@ eq ""; + my $ipv6_works = false; + # eval{}, if there's no Socket::sockaddr_in6 at all, old Perl installation <5.14 + eval { + my $addr = sockaddr_in6($baseport, Socket::IN6ADDR_LOOPBACK) or return 0; + die 'bind failed' unless bind $sock, $addr; + close $sock; + $ipv6_works = true; + }; + return $@ eq "" && $ipv6_works; } $skip{'include/check_ipv6.inc'} = 'No IPv6' unless ipv6_ok(); |