summaryrefslogtreecommitdiff
path: root/mysql-test/suite.pm
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite.pm')
-rw-r--r--mysql-test/suite.pm56
1 files changed, 38 insertions, 18 deletions
diff --git a/mysql-test/suite.pm b/mysql-test/suite.pm
index 7f9838f645e..cf030dc8827 100644
--- a/mysql-test/suite.pm
+++ b/mysql-test/suite.pm
@@ -22,6 +22,9 @@ sub skip_combinations {
$skip{'include/maybe_debug.combinations'} =
[ defined $::mysqld_variables{'debug-dbug'} ? 'release' : 'debug' ];
+ $skip{'include/have_debug.inc'} = 'Requires debug build'
+ unless defined $::mysqld_variables{'debug-dbug'};
+
# and for the wrong word size
# check for exact values, in case the default changes to be small everywhere
my $longsysvar= $::mysqld_variables{'max-binlog-stmt-cache-size'};
@@ -36,13 +39,6 @@ sub skip_combinations {
$skip{'include/not_embedded.inc'} = 'Not run for embedded server'
if $::opt_embedded_server;
- $skip{'include/have_debug.inc'} = 'Requires debug build'
- unless defined $::mysqld_variables{'debug-dbug'};
-
- $skip{'include/have_ssl_communication.inc'} =
- $skip{'include/have_ssl_crypto_functs.inc'} = 'Requires SSL'
- unless defined $::mysqld_variables{'ssl-ca'};
-
$skip{'include/have_example_plugin.inc'} = 'Need example plugin'
unless $ENV{HA_EXAMPLE_SO};
@@ -51,6 +47,21 @@ sub skip_combinations {
$skip{'main/plugin_loaderr.test'} = 'needs compiled-in innodb'
unless $::mysqld_variables{'innodb'} eq "ON";
+ $skip{'include/have_mariabackup.inc'} = 'Need mariabackup'
+ unless ::have_mariabackup();
+
+ $skip{'include/have_mariabackup.inc'} = 'Need ss'
+ unless ::which("ss");
+
+ $skip{'include/have_mariabackup.inc'} = 'Need socat or nc'
+ unless $ENV{MTR_GALERA_TFMT};
+
+ $skip{'include/have_garbd.inc'} = 'Need garbd'
+ unless ::have_garbd();
+
+ $skip{'include/have_file_key_management.inc'} = 'Needs file_key_management plugin'
+ unless $ENV{FILE_KEY_MANAGEMENT_SO};
+
# disable tests that use ipv6, if unsupported
sub ipv6_ok() {
use Socket;
@@ -62,22 +73,31 @@ sub skip_combinations {
}
$skip{'include/check_ipv6.inc'} = 'No IPv6' unless ipv6_ok();
- $skip{'main/openssl_6975.test'} = 'no or wrong openssl version'
- unless $::mysqld_variables{'version-ssl-library'} =~ /OpenSSL (\S+)/
- and $1 ge "1.0.1d" and $1 lt "1.1.1";
+ # SSL is complicated
+ my $ssl_lib= $::mysqld_variables{'version-ssl-library'};
+ my $openssl_ver= $ssl_lib =~ /OpenSSL (\S+)/ ? $1 : "";
- sub x509v3_ok() {
- return ($::mysqld_variables{'version-ssl-library'} =~ /WolfSSL/) ||
- ($::mysqld_variables{'version-ssl-library'} =~ /OpenSSL (\S+)/
- and $1 ge "1.0.2");
- }
+ $skip{'include/have_ssl_communication.inc'} =
+ $skip{'include/have_ssl_crypto_functs.inc'} = 'Requires SSL' unless $ssl_lib;
+
+ $skip{'main/openssl_6975.test'} = 'no or wrong openssl version'
+ unless $openssl_ver ge "1.0.1d" and $openssl_ver lt "1.1.1";
$skip{'main/ssl_7937.combinations'} = [ 'x509v3' ]
- unless x509v3_ok();
+ unless $ssl_lib =~ /WolfSSL/ or $openssl_ver ge "1.0.2";
$skip{'main/ssl_verify_ip.test'} = 'x509v3 support required'
- unless $::mysqld_variables{'version-ssl-library'} =~ /OpenSSL (\S+)/
- and $1 ge "1.0.2";
+ unless $openssl_ver ge "1.0.2";
+
+ my $openssl_cnf='/etc/ssl/openssl.cnf';
+ if ($openssl_ver and open my $f, '<', $openssl_cnf) {
+ local $/;
+ my $cnf=<$f>;
+ $skip{'main/tls_version.test'} = "TLSv1.1 disabled in $openssl_cnf"
+ if $cnf =~ /^\s*MinProtocol\s*=\s*TLSv1.[2-9]/m;
+ $skip{'main/tls_version1.test'} = "TLSv1.0 disabled in $openssl_cnf"
+ if $cnf =~ /^\s*MinProtocol\s*=\s*TLSv1.[1-9]/m;
+ }
%skip;
}