mirror of
https://github.com/MariaDB/server.git
synced 2025-05-31 08:42:45 +03:00
Bug #47383 let mysql-test-run.pl run innodb tests using the plugin
Alt. solution: let the "InnoDB plugin" combinations apply Added some alternative plugin paths (I need to move the code anyway)
This commit is contained in:
parent
da7b7cf6bc
commit
28b190b272
@ -69,6 +69,10 @@ require "mtr_misc.pl";
|
|||||||
my $do_test_reg;
|
my $do_test_reg;
|
||||||
my $skip_test_reg;
|
my $skip_test_reg;
|
||||||
|
|
||||||
|
# Related to adding InnoDB plugin combinations
|
||||||
|
my $lib_innodb_plugin;
|
||||||
|
my $do_innodb_plugin;
|
||||||
|
|
||||||
# If "Quick collect", set to 1 once a test to run has been found.
|
# If "Quick collect", set to 1 once a test to run has been found.
|
||||||
my $some_test_found;
|
my $some_test_found;
|
||||||
|
|
||||||
@ -103,6 +107,17 @@ sub collect_test_cases ($$) {
|
|||||||
$do_test_reg= init_pattern($do_test, "--do-test");
|
$do_test_reg= init_pattern($do_test, "--do-test");
|
||||||
$skip_test_reg= init_pattern($skip_test, "--skip-test");
|
$skip_test_reg= init_pattern($skip_test, "--skip-test");
|
||||||
|
|
||||||
|
$lib_innodb_plugin=
|
||||||
|
my_find_file($::basedir,
|
||||||
|
["storage/innodb_plugin", "storage/innodb_plugin/.libs",
|
||||||
|
"lib/mysql/plugin", "lib/plugin"],
|
||||||
|
["ha_innodb_plugin.dll", "ha_innodb_plugin.so",
|
||||||
|
"ha_innodb_plugin.sl"],
|
||||||
|
NOT_REQUIRED);
|
||||||
|
$do_innodb_plugin= ($::mysql_version_id >= 50100 &&
|
||||||
|
!(IS_WINDOWS && $::opt_embedded_server) &&
|
||||||
|
$lib_innodb_plugin);
|
||||||
|
|
||||||
foreach my $suite (split(",", $suites))
|
foreach my $suite (split(",", $suites))
|
||||||
{
|
{
|
||||||
push(@$cases, collect_one_suite($suite, $opt_cases));
|
push(@$cases, collect_one_suite($suite, $opt_cases));
|
||||||
@ -484,19 +499,15 @@ sub collect_one_suite($)
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# Testing InnoDB plugin.
|
# Testing InnoDB plugin.
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
my $lib_innodb_plugin=
|
if ($do_innodb_plugin)
|
||||||
mtr_file_exists(::vs_config_dirs('storage/innodb_plugin', 'ha_innodb_plugin.dll'),
|
|
||||||
"$::basedir/storage/innodb_plugin/.libs/ha_innodb_plugin.so",
|
|
||||||
"$::basedir/lib/mysql/plugin/ha_innodb_plugin.so",
|
|
||||||
"$::basedir/lib/mysql/plugin/ha_innodb_plugin.dll");
|
|
||||||
if ($::mysql_version_id >= 50100 && !(IS_WINDOWS && $::opt_embedded_server) &&
|
|
||||||
$lib_innodb_plugin)
|
|
||||||
{
|
{
|
||||||
my @new_cases;
|
my @new_cases;
|
||||||
|
|
||||||
foreach my $test (@cases)
|
foreach my $test (@cases)
|
||||||
{
|
{
|
||||||
next if ($test->{'skip'} || !$test->{'innodb_test'});
|
next if (!$test->{'innodb_test'});
|
||||||
|
# If skipped due to no builtin innodb, we can still run it with plugin
|
||||||
|
next if ($test->{'skip'} && $test->{comment} ne "No innodb support");
|
||||||
# Exceptions
|
# Exceptions
|
||||||
next if ($test->{'name'} eq 'main.innodb'); # Failed with wrong errno (fk)
|
next if ($test->{'name'} eq 'main.innodb'); # Failed with wrong errno (fk)
|
||||||
next if ($test->{'name'} eq 'main.index_merge_innodb'); # Explain diff
|
next if ($test->{'name'} eq 'main.index_merge_innodb'); # Explain diff
|
||||||
@ -516,7 +527,7 @@ sub collect_one_suite($)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$new_test->{$key}= $value;
|
$new_test->{$key}= $value unless ($key eq 'skip');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
my $plugin_filename= basename($lib_innodb_plugin);
|
my $plugin_filename= basename($lib_innodb_plugin);
|
||||||
@ -975,8 +986,11 @@ sub collect_one_test_case {
|
|||||||
{
|
{
|
||||||
# innodb is not supported, skip it
|
# innodb is not supported, skip it
|
||||||
$tinfo->{'skip'}= 1;
|
$tinfo->{'skip'}= 1;
|
||||||
|
# This comment is checked for running with innodb plugin (see above),
|
||||||
|
# please keep that in mind if changing the text.
|
||||||
$tinfo->{'comment'}= "No innodb support";
|
$tinfo->{'comment'}= "No innodb support";
|
||||||
return $tinfo;
|
# But continue processing if we may run it with innodb plugin
|
||||||
|
return $tinfo unless $do_innodb_plugin;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user