mariadb/mysql-test/suite.pm
Sergei Golubchik 853077ad7e Merge branch '10.0' into bb-10.1-merge
Conflicts:
	.bzrignore
	VERSION
	cmake/plugin.cmake
	debian/dist/Debian/control
	debian/dist/Ubuntu/control
	mysql-test/r/join_outer.result
	mysql-test/r/join_outer_jcl6.result
	mysql-test/r/null.result
	mysql-test/r/old-mode.result
	mysql-test/r/union.result
	mysql-test/t/join_outer.test
	mysql-test/t/null.test
	mysql-test/t/old-mode.test
	mysql-test/t/union.test
	packaging/rpm-oel/mysql.spec.in
	scripts/mysql_config.sh
	sql/ha_ndbcluster.cc
	sql/ha_ndbcluster_binlog.cc
	sql/ha_ndbcluster_cond.cc
	sql/item_cmpfunc.h
	sql/lock.cc
	sql/sql_select.cc
	sql/sql_show.cc
	sql/sql_update.cc
	sql/sql_yacc.yy
	storage/innobase/buf/buf0flu.cc
	storage/innobase/fil/fil0fil.cc
	storage/innobase/include/srv0srv.h
	storage/innobase/lock/lock0lock.cc
	storage/tokudb/CMakeLists.txt
	storage/xtradb/buf/buf0flu.cc
	storage/xtradb/fil/fil0fil.cc
	storage/xtradb/include/srv0srv.h
	storage/xtradb/lock/lock0lock.cc
	support-files/mysql.spec.sh
2014-12-02 22:25:16 +01:00

72 lines
2.7 KiB
Perl

package My::Suite::Main;
use My::Platform;
@ISA = qw(My::Suite);
sub skip_combinations {
my @combinations;
# disable innodb/xtradb combinatons for configurations that were not built
push @combinations, 'innodb_plugin' unless $ENV{HA_INNODB_SO};
# if something is compiled in, it's xtradb. innodb is MODULE_ONLY:
push @combinations, 'xtradb' unless $::mysqld_variables{'innodb'} eq "ON";
push @combinations, 'innodb';
# XtraDB is RECOMPILE_FOR_EMBEDDED, ha_xtradb.so cannot work with embedded server
push @combinations, 'xtradb_plugin' if not $ENV{HA_XTRADB_SO}
or $::opt_embedded_server;
my %skip = ( 'include/have_innodb.combinations' => [ @combinations ],
'include/have_xtradb.combinations' => [ @combinations ]);
# don't run tests for the wrong platform
$skip{'include/platform.combinations'} = [ (IS_WINDOWS) ? 'unix' : 'win' ];
# 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'};
my %val_map= (
'4294963200' => '64bit', # remember, it shows *what configuration to skip*
'18446744073709547520' => '32bit'
);
die "unknown value max-binlog-stmt-cache-size=$longsysvar" unless $val_map{$longsysvar};
$skip{'include/word_size.combinations'} = [ $val_map{$longsysvar} ];
# as a special case, disable certain include files as a whole
$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};
$skip{'include/not_windows.inc'} = 'Requires not Windows' if IS_WINDOWS;
$skip{'t/plugin_loaderr.test'} = 'needs compiled-in innodb'
unless $::mysqld_variables{'innodb'} eq "ON";
# disable tests that use ipv6, if unsupported
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{'t/openssl_6975.test'} = 'no or too old openssl'
unless ! IS_WINDOWS and ! system "openssl ciphers TLSv1.2 >/dev/null 2>&1";
%skip;
}
bless { };