From 3febb3ce1dbf9b5025c29d50f14b7821a648fa66 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Mon, 17 Feb 2014 11:10:18 +0100 Subject: mtr: smarter check for usable ipv6. Handles the case of sysctl net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 --- mysql-test/suite.pm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'mysql-test/suite.pm') diff --git a/mysql-test/suite.pm b/mysql-test/suite.pm index 1c2f55660c2..ef0325bd3e7 100644 --- a/mysql-test/suite.pm +++ b/mysql-test/suite.pm @@ -30,10 +30,14 @@ sub skip_combinations { unless $::mysqld_variables{'innodb'} eq "ON"; # disable tests that use ipv6, if unsupported - use Socket; - $skip{'include/check_ipv6.inc'} = 'No IPv6' - unless socket SOCK, PF_INET6, SOCK_STREAM, getprotobyname('tcp'); - close SOCK; + 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 $! != 101; + } + $skip{'include/check_ipv6.inc'} = 'No IPv6' unless ipv6_ok(); %skip; } -- cgit v1.2.1