Commit b96230c8 authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

merge

parents 017a0fd2 3141528e
...@@ -69,6 +69,10 @@ require "mtr_misc.pl"; ...@@ -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 ($$) { ...@@ -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($) ...@@ -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($) ...@@ -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 { ...@@ -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
......
...@@ -322,7 +322,8 @@ sub main { ...@@ -322,7 +322,8 @@ sub main {
for my $limit (2000, 1500, 1000, 500){ for my $limit (2000, 1500, 1000, 500){
$opt_parallel-- if ($sys_info->min_bogomips() < $limit); $opt_parallel-- if ($sys_info->min_bogomips() < $limit);
} }
$opt_parallel= 8 if ($opt_parallel > 8); my $max_par= $ENV{MTR_MAX_PARALLEL} || 8;
$opt_parallel= $max_par if ($opt_parallel > $max_par);
$opt_parallel= $num_tests if ($opt_parallel > $num_tests); $opt_parallel= $num_tests if ($opt_parallel > $num_tests);
$opt_parallel= 1 if (IS_WINDOWS and $sys_info->isvm()); $opt_parallel= 1 if (IS_WINDOWS and $sys_info->isvm());
$opt_parallel= 1 if ($opt_parallel < 1); $opt_parallel= 1 if ($opt_parallel < 1);
...@@ -737,6 +738,7 @@ sub run_worker ($) { ...@@ -737,6 +738,7 @@ sub run_worker ($) {
} }
elsif ($line eq 'BYE'){ elsif ($line eq 'BYE'){
mtr_report("Server said BYE"); mtr_report("Server said BYE");
stop_all_servers($opt_shutdown_timeout);
exit(0); exit(0);
} }
else { else {
...@@ -3434,14 +3436,14 @@ sub run_testcase ($) { ...@@ -3434,14 +3436,14 @@ sub run_testcase ($) {
my $check_res; my $check_res;
if ( restart_forced_by_test() ) if ( restart_forced_by_test() )
{ {
stop_all_servers(); stop_all_servers($opt_shutdown_timeout);
} }
elsif ( $opt_check_testcases and elsif ( $opt_check_testcases and
$check_res= check_testcase($tinfo, "after")) $check_res= check_testcase($tinfo, "after"))
{ {
if ($check_res == 1) { if ($check_res == 1) {
# Test case had sideeffects, not fatal error, just continue # Test case had sideeffects, not fatal error, just continue
stop_all_servers(); stop_all_servers($opt_shutdown_timeout);
mtr_report("Resuming tests...\n"); mtr_report("Resuming tests...\n");
} }
else { else {
...@@ -4082,6 +4084,7 @@ sub mysqld_stop { ...@@ -4082,6 +4084,7 @@ sub mysqld_stop {
mtr_init_args(\$args); mtr_init_args(\$args);
mtr_add_arg($args, "--no-defaults"); mtr_add_arg($args, "--no-defaults");
mtr_add_arg($args, "--character-sets-dir=%s", $mysqld->value('character-sets-dir'));
mtr_add_arg($args, "--user=%s", $opt_user); mtr_add_arg($args, "--user=%s", $opt_user);
mtr_add_arg($args, "--password="); mtr_add_arg($args, "--password=");
mtr_add_arg($args, "--port=%d", $mysqld->value('port')); mtr_add_arg($args, "--port=%d", $mysqld->value('port'));
...@@ -4285,11 +4288,12 @@ sub mysqld_start ($$) { ...@@ -4285,11 +4288,12 @@ sub mysqld_start ($$) {
sub stop_all_servers () { sub stop_all_servers () {
my $shutdown_timeout = $_[0] or 0;
mtr_verbose("Stopping all servers..."); mtr_verbose("Stopping all servers...");
# Kill all started servers # Kill all started servers
My::SafeProcess::shutdown(0, # shutdown timeout 0 => kill My::SafeProcess::shutdown($shutdown_timeout,
started(all_servers())); started(all_servers()));
# Remove pidfiles # Remove pidfiles
...@@ -5077,7 +5081,6 @@ sub valgrind_arguments { ...@@ -5077,7 +5081,6 @@ sub valgrind_arguments {
else else
{ {
mtr_add_arg($args, "--tool=memcheck"); # From >= 2.1.2 needs this option mtr_add_arg($args, "--tool=memcheck"); # From >= 2.1.2 needs this option
mtr_add_arg($args, "--alignment=8");
mtr_add_arg($args, "--leak-check=yes"); mtr_add_arg($args, "--leak-check=yes");
mtr_add_arg($args, "--num-callers=16"); mtr_add_arg($args, "--num-callers=16");
mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir) mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment