mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
This patch implements testing InnoDB plugin milestone.
This commit is contained in:
@ -475,6 +475,66 @@ sub collect_one_suite($)
|
|||||||
#print_testcases(@cases);
|
#print_testcases(@cases);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
# Testing InnoDB plugin.
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
my $lib_innodb_plugin=
|
||||||
|
mtr_file_exists(::vs_config_dirs('storage/innodb_plugin', 'ha_innodb_plugin.dll'),
|
||||||
|
"$::basedir/storage/innodb_plugin/.libs/ha_innodb_plugin.so");
|
||||||
|
if ($::mysql_version_id >= 50100 && !(IS_WINDOWS && $::opt_embedded_server) &&
|
||||||
|
$lib_innodb_plugin)
|
||||||
|
{
|
||||||
|
my @new_cases;
|
||||||
|
|
||||||
|
foreach my $test (@cases)
|
||||||
|
{
|
||||||
|
next if ($test->{'skip'} || !$test->{'innodb_test'});
|
||||||
|
# Exceptions
|
||||||
|
next if ($test->{'name'} eq 'main.innodb'); # Failed with wrong errno (fk)
|
||||||
|
next if ($test->{'name'} eq 'main.innodb_mysql'); # Diff in show (fk)
|
||||||
|
next if ($test->{'name'} eq 'main.index_merge_innodb'); # Explain diff
|
||||||
|
# innodb_file_per_table is rw with innodb_plugin
|
||||||
|
next if ($test->{'name'} eq 'sys_vars.innodb_file_per_table_basic');
|
||||||
|
# innodb_lock_wait_timeout is rw with innodb_plugin
|
||||||
|
next if ($test->{'name'} eq 'sys_vars.innodb_lock_wait_timeout_basic');
|
||||||
|
# Diff around innodb_thread_concurrency variable
|
||||||
|
next if ($test->{'name'} eq 'sys_vars.innodb_thread_concurrency_basic');
|
||||||
|
# Copy test options
|
||||||
|
my $new_test= My::Test->new();
|
||||||
|
while (my ($key, $value) = each(%$test))
|
||||||
|
{
|
||||||
|
if (ref $value eq "ARRAY")
|
||||||
|
{
|
||||||
|
push(@{$new_test->{$key}}, @$value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$new_test->{$key}= $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
my $plugin_filename= basename($lib_innodb_plugin);
|
||||||
|
push(@{$new_test->{master_opt}}, '--ignore-builtin-innodb');
|
||||||
|
push(@{$new_test->{master_opt}}, '--plugin-dir=' . dirname($lib_innodb_plugin));
|
||||||
|
push(@{$new_test->{master_opt}}, "--plugin_load=innodb=$plugin_filename;innodb_locks=$plugin_filename");
|
||||||
|
push(@{$new_test->{slave_opt}}, '--ignore-builtin-innodb');
|
||||||
|
push(@{$new_test->{slave_opt}}, '--plugin-dir=' . dirname($lib_innodb_plugin));
|
||||||
|
push(@{$new_test->{slave_opt}}, "--plugin_load=innodb=$plugin_filename;innodb_locks=$plugin_filename");
|
||||||
|
if ($new_test->{combination})
|
||||||
|
{
|
||||||
|
$new_test->{combination}.= ' + InnoDB plugin';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$new_test->{combination}= 'InnoDB plugin';
|
||||||
|
}
|
||||||
|
push(@new_cases, $new_test);
|
||||||
|
}
|
||||||
|
push(@cases, @new_cases);
|
||||||
|
}
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
# End of testing InnoDB plugin.
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
optimize_cases(\@cases);
|
optimize_cases(\@cases);
|
||||||
#print_testcases(@cases);
|
#print_testcases(@cases);
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ my $path_config_file; # The generated config file, var/my.cnf
|
|||||||
# executables will be used by the test suite.
|
# executables will be used by the test suite.
|
||||||
our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
|
our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
|
||||||
|
|
||||||
my $DEFAULT_SUITES= "main,binlog,federated,rpl,rpl_ndb,ndb";
|
my $DEFAULT_SUITES= "main,binlog,federated,rpl,rpl_ndb,ndb,innodb";
|
||||||
my $opt_suites;
|
my $opt_suites;
|
||||||
|
|
||||||
our $opt_verbose= 0; # Verbose output, enable with --verbose
|
our $opt_verbose= 0; # Verbose output, enable with --verbose
|
||||||
|
4
mysql-test/suite/innodb/include/have_innodb_plugin.inc
Normal file
4
mysql-test/suite/innodb/include/have_innodb_plugin.inc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
disable_query_log;
|
||||||
|
--require r/true.require
|
||||||
|
select (PLUGIN_LIBRARY LIKE 'ha_innodb_plugin%') as `TRUE` from information_schema.plugins where PLUGIN_NAME='InnoDB';
|
||||||
|
enable_query_log;
|
@ -1,6 +0,0 @@
|
|||||||
!include include/default_my.cnf
|
|
||||||
|
|
||||||
[mysqld]
|
|
||||||
ignore-builtin-innodb
|
|
||||||
plugin-dir=../storage/innodb_plugin/.libs/
|
|
||||||
plugin_load=innodb=ha_innodb_plugin.so:innodb_locks=ha_innodb_plugin.so
|
|
@ -4,6 +4,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
|
-- source suite/innodb/include/have_innodb_plugin.inc
|
||||||
|
|
||||||
# we care only that the following SQL commands do not produce errors
|
# we care only that the following SQL commands do not produce errors
|
||||||
# and do not crash the server
|
# and do not crash the server
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
|
-- source suite/innodb/include/have_innodb_plugin.inc
|
||||||
|
|
||||||
let $timeout=`select @@innodb_lock_wait_timeout`;
|
let $timeout=`select @@innodb_lock_wait_timeout`;
|
||||||
set global innodb_lock_wait_timeout=42;
|
set global innodb_lock_wait_timeout=42;
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
--innodb-use-sys-malloc=true
|
--loose-innodb-use-sys-malloc=true
|
||||||
--innodb-use-sys-malloc=true
|
--loose-innodb-use-sys-malloc=true
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
--source include/have_innodb.inc
|
--source include/have_innodb.inc
|
||||||
|
-- source suite/innodb/include/have_innodb_plugin.inc
|
||||||
|
|
||||||
#display current value of innodb_use_sys_malloc
|
#display current value of innodb_use_sys_malloc
|
||||||
SELECT @@GLOBAL.innodb_use_sys_malloc;
|
SELECT @@GLOBAL.innodb_use_sys_malloc;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
|
-- source suite/innodb/include/have_innodb_plugin.inc
|
||||||
|
|
||||||
let $per_table=`select @@innodb_file_per_table`;
|
let $per_table=`select @@innodb_file_per_table`;
|
||||||
let $format=`select @@innodb_file_format`;
|
let $format=`select @@innodb_file_format`;
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
|
-- source suite/innodb/include/have_innodb_plugin.inc
|
||||||
|
|
||||||
SET GLOBAL innodb_file_format='Barracuda';
|
SET GLOBAL innodb_file_format='Barracuda';
|
||||||
SET GLOBAL innodb_file_per_table=ON;
|
SET GLOBAL innodb_file_per_table=ON;
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
-- source include/not_embedded.inc
|
-- source include/not_embedded.inc
|
||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
|
-- source suite/innodb/include/have_innodb_plugin.inc
|
||||||
|
|
||||||
SET storage_engine=InnoDB;
|
SET storage_engine=InnoDB;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
|
-- source suite/innodb/include/have_innodb_plugin.inc
|
||||||
|
|
||||||
-- disable_query_log
|
-- disable_query_log
|
||||||
-- disable_result_log
|
-- disable_result_log
|
||||||
|
Reference in New Issue
Block a user