Below is the list of changes that have just been committed into a local
5.0 repository of msvensson. When msvensson does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-11-08 12:13:52+01:00, msvensson@shellback.(none) +4 -0
Backport changes from 5.1
Add My::Find
mysql-test/lib/My/Find.pm@stripped, 2007-11-08 12:13:49+01:00, msvensson@shellback.(none) +118 -0
New BitKeeper file ``mysql-test/lib/My/Find.pm''
mysql-test/lib/My/Find.pm@stripped, 2007-11-08 12:13:49+01:00, msvensson@shellback.(none) +0 -0
mysql-test/lib/My/SafeProcess.pm@stripped, 2007-11-08 12:13:44+01:00, msvensson@shellback.(none) +7 -20
Use My::Find
mysql-test/lib/mtr_report.pl@stripped, 2007-11-08 12:13:44+01:00, msvensson@shellback.(none) +1 -1
Backport changes from 5.1
mysql-test/mysql-test-run.pl@stripped, 2007-11-08 12:13:44+01:00, msvensson@shellback.(none) +108 -91
Backport changes from 5.1
diff -Nrup a/mysql-test/lib/My/Find.pm b/mysql-test/lib/My/Find.pm
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/lib/My/Find.pm 2007-11-08 12:13:49 +01:00
@@ -0,0 +1,118 @@
+# -*- cperl -*-
+# Copyright (C) 2004-2006 MySQL AB
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+package My::Find;
+
+#
+# Utility functions to find files in a MySQL source or bindist
+#
+
+use strict;
+
+use base qw(Exporter);
+our @EXPORT= qw(my_find_bin);
+
+my $is_win= ($^O eq "MSWin32" or $^O eq "Win32");
+
+#
+# my_find_bin - find an executable with "name_1...name_n" in
+# paths "path_1...path_n" and return the full path
+#
+# Example:
+# my $mysqld_exe= my_find_bin(["sql", "bin"],
+# ["mysqld", "mysqld-debug"]);
+# my $mysql_exe= my_find_bin(["client", "bin"],
+# "mysql");
+#
+# NOTE: The function honours MTR_VS_CONFIG environment variable
+#
+#
+sub my_find_bin {
+ my ($paths, $names)= @_;
+ die "usage: my_find_bin(<paths>, <names>)"
+ unless @_ == 2;
+
+ # -------------------------------------------------------
+ # Find and return the first executable
+ # -------------------------------------------------------
+ foreach my $path (my_find_paths($paths, $names)) {
+ return if ( -x $path or ($is_win and -f $path) );
+ }
+ return undef;
+}
+
+
+sub my_find_paths {
+ my ($paths, $names)= @_;
+
+ # Convert the arguments into two normal arrays to ease
+ # further mappings
+ my (@names, @paths);
+ push(@names, ref $names eq "ARRAY" ? @$names : $names);
+ push(@paths, ref $paths eq "ARRAY" ? @$paths : $paths);
+
+ print "names: @names\n";
+ print "paths: @paths\n";
+
+ # User can select to look in a special build dir
+ # which is a subdirectory of any of the paths
+ my @extra_dirs;
+ my $build_dir= $ENV{MTR_VS_CONFIG} || $ENV{MTR_BUILD_DIR};
+ push(@extra_dirs, $build_dir) if defined $build_dir;
+
+ # -------------------------------------------------------
+ # Windows specific
+ # -------------------------------------------------------
+ if ($is_win) {
+ # Append .exe to names, if name does not already have extension
+ map { $_.=".exe" unless /\.(.*)+$/ } @names;
+
+ # Add the default extra build dirs unless a specific one has
+ # already been selected
+ push(@extra_dirs,
+ ("release",
+ "relwithdebinfo",
+ "debug")) if @extra_dirs == 0;
+ }
+
+ print "extra_build_dir: @extra_dirs\n";
+
+ # -------------------------------------------------------
+ # Build cross product of "paths * extra_build_dirs"
+ # -------------------------------------------------------
+ push(@paths, map { my $path= $_;
+ map { "$path/$_" } @extra_dirs
+ } @paths);
+ print "paths: @paths\n";
+
+ # -------------------------------------------------------
+ # Build cross product of "paths * names"
+ # -------------------------------------------------------
+ @paths= map { my $path= $_;
+ map { "$path/$_" } @names
+ } @paths;
+ print "paths: @paths\n";
+
+ # -------------------------------------------------------
+ # Find and return the first existing path in paths
+ # -------------------------------------------------------
+ return @paths;
+}
+
+
+
+1;
diff -Nrup a/mysql-test/lib/My/SafeProcess.pm b/mysql-test/lib/My/SafeProcess.pm
--- a/mysql-test/lib/My/SafeProcess.pm 2007-11-05 15:51:15 +01:00
+++ b/mysql-test/lib/My/SafeProcess.pm 2007-11-08 12:13:44 +01:00
@@ -14,10 +14,6 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-# This is a library file used by the Perl version of mysql-test-run,
-# and is part of the translation of the Bourne shell script with the
-# same name.
-
package My::SafeProcess;
#
@@ -59,6 +55,8 @@ use POSIX qw(WNOHANG);
use My::SafeProcess::Base;
use base 'My::SafeProcess::Base';
+use My::Find;
+
my %running;
BEGIN {
@@ -72,7 +70,7 @@ BEGIN {
eval 'sub IS_CYGWIN () { 1 }';
# Make sure cygpath works
if ((system("cygpath > /dev/null 2>&1") >> 8) != 1){
- die "Could not execute 'cygpath'";
+ die "Could not execute 'cygpath': $!";
}
eval 'sub fixpath {
my ($path)= @_;
@@ -87,35 +85,24 @@ BEGIN {
}
}
-
# Find the safe process binary or script
my $safe_path= $^X; # Path to perl binary
my $safe_script;
my $safe_kill;
if (IS_WIN32PERL or IS_CYGWIN){
# Use my_safe_process.exe
- $safe_path= "../extra/debug/my_safe_process.exe";
- $safe_path= "../$safe_path" unless -f $safe_path;
- $safe_path= "../extra/release/my_safe_process.exe" unless -f $safe_path;
- die "Could not find my_safe_process.exe" unless -f $safe_path;
+ $safe_path= my_find_bin(("extra","bin"), "my_safe_process.exe");
+ die "Could not find my_safe_process.exe" unless $safe_path;
# Use my_safe_kill.exe
- $safe_kill= "../extra/debug/my_safe_kill.exe";
- $safe_kill= "../$safe_kill" unless -f $safe_kill;
- $safe_kill= "../extra/release/my_safe_kill.exe" unless -f $safe_kill;
- die "Could not find my_safe_kill.exe" unless -f $safe_kill;
-
- # MASV $safe_path= mtr_find_binary("safe_process",
- # MASV "extra/");
+ $safe_path= my_find_bin(("extra","bin"), "my_safe_kill");
+ die "Could not find my_safe_kill.exe" unless $safe_kill;
}
else {
# Use safe_process.pl
$safe_script= "lib/My/SafeProcess/safe_process.pl";
$safe_script= "../$safe_script" unless -f $safe_script;
die "Could not find safe_process.pl" unless -f $safe_script;
-
- # MASV $safe_script= mtr_find_script("safe_process.pl",
- # MASV "lib/My/Safeprocess/");
}
diff -Nrup a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl
--- a/mysql-test/lib/mtr_report.pl 2007-11-02 10:27:06 +01:00
+++ b/mysql-test/lib/mtr_report.pl 2007-11-08 12:13:44 +01:00
@@ -181,7 +181,7 @@ sub mtr_report_stats ($) {
# the "var/log/*.err" files. We save this info in "var/log/warnings"
# ----------------------------------------------------------------------
- if ( ! $::glob_use_running_server )
+ if ( $::opt_warnings and ! $::glob_use_running_server )
{
# Save and report if there was any fatal warnings/errors in err logs
diff -Nrup a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
--- a/mysql-test/mysql-test-run.pl 2007-11-06 11:39:42 +01:00
+++ b/mysql-test/mysql-test-run.pl 2007-11-08 12:13:44 +01:00
@@ -57,8 +57,6 @@ our $mysql_version_id;
our $glob_mysql_test_dir= undef;
our $glob_mysql_bench_dir= undef;
our $glob_scriptname= undef;
-our $glob_use_running_ndbcluster= 0;
-our $glob_use_running_ndbcluster_slave= 0;
our $glob_use_embedded_server= 0;
our $glob_basedir;
@@ -83,7 +81,7 @@ our $opt_vs_config = $ENV{'MTR_VS_CONFIG
our $default_vardir;
our $opt_usage;
-our $opt_suite= "main";
+our $opt_suites= "main";
our $opt_verbose= 0; # Verbose output, enable with --verbose
@@ -207,7 +205,7 @@ our $opt_stress_test_duration= 0;
our $opt_stress_init_file= "";
our $opt_stress_test_file= "";
-our $opt_warnings;
+our $opt_warnings= 1;
our $opt_skip_ndbcluster= 0;
our $opt_skip_ndbcluster_slave= 0;
@@ -288,7 +286,7 @@ sub main {
{
# Figure out which tests we are going to run
mtr_report("Collecting tests...");
- my $tests= collect_test_cases($opt_suite);
+ my $tests= collect_test_cases($opt_suites);
# Turn off NDB and other similar options if no tests use it
my ($need_ndbcluster,$need_im);
@@ -372,7 +370,7 @@ sub main {
unshift(@$tests, $tinfo);
}
- run_suite($opt_suite, $tests);
+ run_tests($tests);
}
exit(0);
@@ -416,7 +414,7 @@ sub command_line_setup {
'skip-slave-binlog' => \$opt_skip_slave_binlog,
'do-test=s' => \$opt_do_test,
'start-from=s' => \$opt_start_from,
- 'suite=s' => \$opt_suite,
+ 'suite|suites=s' => \$opt_suites,
'skip-rpl' => \$opt_skip_rpl,
'skip-im' => \$opt_skip_im,
'skip-test=s' => \$opt_skip_test,
@@ -503,7 +501,7 @@ sub command_line_setup {
'testcase-timeout=i' => \$opt_testcase_timeout,
'suite-timeout=i' => \$opt_suite_timeout,
'shutdown-timeout=i' => \$opt_shutdown_timeout,
- 'warnings|log-warnings' => \$opt_warnings,
+ 'warnings!' => \$opt_warnings,
'unit!' => \$opt_unit,
'cpcd!' => \$opt_cpcd,
@@ -634,14 +632,14 @@ sub command_line_setup {
# Find out type of logging that are being used
# --------------------------------------------------------------------------
# NOTE if the default binlog format is changed, this has to be changed
- $used_binlog_format= "stmt";
+ $used_binlog_format= "statement";
if (!$opt_extern && $mysql_version_id >= 50100 )
{
$used_binlog_format= "mixed"; # Default value for binlog format
foreach my $arg ( @opt_extra_mysqld_opt )
{
- if ( $arg =~ /binlog-format=(\S+)/ )
+ if ( $arg =~ /binlog[-_]format=(\S+)/ )
{
$used_binlog_format= $1;
}
@@ -780,6 +778,16 @@ sub command_line_setup {
if ( $opt_embedded_server )
{
$glob_use_embedded_server= 1;
+ # Add the location for libmysqld.dll to the path.
+ if ( $glob_win32 )
+ {
+ my $lib_mysqld=
+ mtr_path_exists(vs_config_dirs('libmysqld',''));
+ $lib_mysqld= $glob_cygwin_perl ? ":".`cygpath "$lib_mysqld"`
+ : ";".$lib_mysqld;
+ chomp($lib_mysqld);
+ $ENV{'PATH'}= "$ENV{'PATH'}".$lib_mysqld;
+ }
$opt_skip_rpl= 1; # We never run replication with embedded
$opt_skip_ndbcluster= 1; # Turn off use of NDB cluster
$opt_skip_ssl= 1; # Turn off use of SSL
@@ -793,37 +801,33 @@ sub command_line_setup {
}
}
+
# --------------------------------------------------------------------------
- # Ndb cluster flags
+ # ndbconnectstring and ndbconnectstring_slave
# --------------------------------------------------------------------------
if ( $opt_ndbconnectstring )
{
- $glob_use_running_ndbcluster= 1;
+ # ndbconnectstring was supplied by user, the tests shoudl be run
+ # against an already started cluster, change settings
+ my $cluster= $clusters->[0]; # Master cluster
+ $cluster->{'connect_string'}= $opt_ndbconnectstring;
+ $cluster->{'use_running'}= 1;
+
mtr_error("Can't specify --ndb-connectstring and --skip-ndbcluster")
if $opt_skip_ndbcluster;
- mtr_error("Can't specify --ndb-connectstring and --ndbcluster-port")
- if $opt_ndbcluster_port;
- }
- else
- {
- # Set default connect string
- $opt_ndbconnectstring= "host=localhost:$opt_ndbcluster_port";
}
if ( $opt_ndbconnectstring_slave )
{
- $glob_use_running_ndbcluster_slave= 1;
- mtr_error("Can't specify ndb-connectstring_slave and " .
- "--skip-ndbcluster-slave")
- if $opt_skip_ndbcluster;
- mtr_error("Can't specify --ndb-connectstring-slave and " .
- "--ndbcluster-port-slave")
- if $opt_ndbcluster_port_slave;
- }
- else
- {
- # Set default connect string
- $opt_ndbconnectstring_slave= "host=localhost:$opt_ndbcluster_port_slave";
+ # ndbconnectstring-slave was supplied by user, the tests should be run
+ # agains an already started slave cluster, change settings
+ my $cluster= $clusters->[1]; # Slave cluster
+ $cluster->{'connect_string'}= $opt_ndbconnectstring_slave;
+ $cluster->{'use_running'}= 1;
+
+ mtr_error("Can't specify ndb-connectstring_slave and " .
+ "--skip-ndbcluster-slave")
+ if $opt_skip_ndbcluster_slave;
}
# --------------------------------------------------------------------------
@@ -1051,7 +1055,7 @@ sub command_line_setup {
nodes => 2,
port => "$opt_ndbcluster_port",
data_dir => "$data_dir",
- connect_string => "$opt_ndbconnectstring",
+ connect_string => "host=localhost:$opt_ndbcluster_port",
path_pid => "$data_dir/ndb_3.pid", # Nodes + 1
failed_start => 0,
};
@@ -1063,7 +1067,7 @@ sub command_line_setup {
nodes => 1,
port => "$opt_ndbcluster_port_slave",
data_dir => "$data_dir",
- connect_string => "$opt_ndbconnectstring_slave",
+ connect_string => "host=localhost:$opt_ndbcluster_port_slave",
path_pid => "$data_dir/ndb_2.pid", # Nodes + 1
failed_start => 0,
};
@@ -1529,8 +1533,23 @@ sub environment_setup {
$ENV{'UDF_EXAMPLE_LIB'}=
($lib_udf_example ? basename($lib_udf_example) : "");
+ $ENV{'UDF_EXAMPLE_LIB_OPT'}=
+ ($lib_udf_example ? "--plugin_dir=" . dirname($lib_udf_example) : "");
# --------------------------------------------------------------------------
+ # Add the path where mysqld will find ha_example.so
+ # --------------------------------------------------------------------------
+ if ($mysql_version_id >= 50100) {
+ my $lib_example_plugin=
+ mtr_file_exists(vs_config_dirs('storage/example', 'ha_example.dll'),
+ "$glob_basedir/storage/example/.libs/ha_example.so",);
+ $ENV{'EXAMPLE_PLUGIN'}=
+ ($lib_example_plugin ? basename($lib_example_plugin) : "");
+ $ENV{'EXAMPLE_PLUGIN_OPT'}=
+ ($lib_example_plugin ?
+ "--plugin_dir=" . dirname($lib_example_plugin) : "");
+ }
+ # --------------------------------------------------------------------------
# Valgrind need to be run with debug libraries otherwise it's almost
# impossible to add correct supressions, that means if "/usr/lib/debug"
# is available, it should be added to
@@ -1625,7 +1644,6 @@ sub environment_setup {
$ENV{'NDB_DATA_DIR'}= $clusters->[0]->{'data_dir'};
$ENV{'NDB_TOOLS_DIR'}= $path_ndb_tools_dir;
$ENV{'NDB_TOOLS_OUTPUT'}= $path_ndb_testrun_log;
- $ENV{'NDB_CONNECTSTRING'}= $opt_ndbconnectstring;
if ( $mysql_version_id >= 50000 )
{
@@ -1633,6 +1651,9 @@ sub environment_setup {
$ENV{'MY_NDB_EXAMPLES_BINARY'}= $exe_ndb_example;
}
$ENV{'NDB_EXAMPLES_OUTPUT'}= $path_ndb_testrun_log;
+
+ $ENV{'NDB_CONNECTSTRING'}= $clusters->[0]->{'connect_string'};
+
}
# ----------------------------------------------------
@@ -2085,7 +2106,7 @@ sub ndbcluster_install ($) {
else
{
$ndb_no_ord=32;
- $ndb_con_op=5000;
+ $ndb_con_op=10000;
$ndb_dmem="20M";
$ndb_imem="1M";
$ndb_pbmem="4M";
@@ -2266,7 +2287,7 @@ sub ndbcluster_start ($$) {
mtr_verbose("ndbcluster_start '$cluster->{'name'}'");
- if ( $glob_use_running_ndbcluster )
+ if ( $cluster->{use_running} )
{
return 0;
}
@@ -2289,8 +2310,8 @@ sub ndbcluster_start ($$) {
sub rm_ndbcluster_tables ($) {
my $dir= shift;
- foreach my $bin ( glob("$dir/mysql/apply_status*"),
- glob("$dir/mysql/schema*"))
+ foreach my $bin ( glob("$dir/mysql/ndb_apply_status*"),
+ glob("$dir/mysql/ndb_schema*"))
{
unlink($bin);
}
@@ -2369,15 +2390,14 @@ sub run_benchmarks ($) {
#
-# Run the test suite
+# Run the collected tests
#
my $suite_timeout_proc;
-sub run_suite () {
- my ($suite, $tests)= @_;
+sub run_tests {
+ my ($tests)= @_;
mtr_report();
mtr_print_thick_line();
- mtr_report("Starting tests in the '$suite' suite");
mtr_print_header();
$suite_timeout_proc= My::SafeProcess->timer($opt_suite_timeout* 60);
@@ -2582,8 +2602,9 @@ sub mysql_install_db {
}
my $cluster_started_ok= 1; # Assume it can be started
-
- if ($opt_skip_ndbcluster || $glob_use_running_ndbcluster ||
+ my $cluster= $clusters->[0]; # Master cluster
+ if ($opt_skip_ndbcluster ||
+ $cluster->{use_running} ||
$clusters->[0]->{executable_setup_failed})
{
# Don't install master cluster
@@ -2594,8 +2615,10 @@ sub mysql_install_db {
$cluster_started_ok= 0;
}
+ my $cluster= $clusters->[1]; # Slave cluster
if ($max_slave_num == 0 ||
- $opt_skip_ndbcluster_slave || $glob_use_running_ndbcluster_slave ||
+ $opt_skip_ndbcluster_slave ||
+ $cluster->{use_running} ||
$clusters->[1]->{executable_setup_failed})
{
# Don't install slave cluster
@@ -2853,6 +2876,11 @@ sub run_testcase_check_skip_test($)
last if ($opt_skip_ndbcluster_slave and
$cluster->{'name'} eq 'Slave');
+ # Using running cluster - no need
+ # to check if test should be skipped
+ # will be done by test itself
+ last if ($cluster->{'use_running'});
+
# If test needs this cluster, check binaries was found ok
if ( $cluster->{'executable_setup_failed'} )
{
@@ -2893,18 +2921,14 @@ sub run_testcase_check_skip_test($)
sub do_before_run_mysqltest($)
{
my $tinfo= shift;
- my $tname= $tinfo->{'name'};
# Remove old files produced by mysqltest
- my $result_dir= "r";
- if ( $opt_suite ne "main" )
- {
- $result_dir= "suite/$opt_suite/r";
- }
- unlink("$result_dir/$tname.reject");
- unlink("$result_dir/$tname.progress");
- unlink("$result_dir/$tname.log");
- unlink("$result_dir/$tname.warnings");
+ my $base_file= mtr_match_extension($tinfo->{'result_file'},
+ "result"); # Trim extension
+ unlink("$base_file.reject");
+ unlink("$base_file.progress");
+ unlink("$base_file.log");
+ unlink("$base_file.warnings");
if (!$opt_extern)
{
@@ -3340,24 +3364,17 @@ sub mysqld_arguments ($$$$) {
mtr_add_arg($args, "%s--character-sets-dir=%s", $prefix, $path_charsetsdir);
# When mysqld is run by a root user(euid is 0), it will fail
- # to start unless we specify what user to run as. If not running
- # as root it will be ignored, see BUG#30630
- if (!(grep(/^--user/, @$extra_opt, @opt_extra_mysqld_opt))) {
+ # to start unless we specify what user to run as, see BUG#30630
+ my $euid= $>;
+ if (!$glob_win32 and $euid == 0 and
+ (grep(/^--user/, @$extra_opt, @opt_extra_mysqld_opt)) == 0) {
mtr_add_arg($args, "%s--user=root", $prefix);
}
if ( $mysql_version_id >= 50036)
{
# By default, prevent the started mysqld to access files outside of vardir
- my $secure_file_dir= $opt_vardir;
- if ( $opt_suite ne "main" )
- {
- # When running a suite other than default allow the mysqld
- # access to subdirs of mysql-test/ in order to make it possible
- # to "load data" from the suites data/ directory.
- $secure_file_dir= $glob_mysql_test_dir;
- }
- mtr_add_arg($args, "%s--secure-file-priv=%s", $prefix, $secure_file_dir);
+ mtr_add_arg($args, "%s--secure-file-priv=%s", $prefix, $opt_vardir);
}
if ( $mysql_version_id >= 50000 )
@@ -3426,12 +3443,8 @@ sub mysqld_arguments ($$$$) {
}
my $cluster= $clusters->[$mysqld->{'cluster'}];
- if ( $opt_skip_ndbcluster ||
- ! defined $cluster->{'proc'})
- {
- mtr_add_arg($args, "%s--skip-ndbcluster", $prefix);
- }
- else
+ if ( defined $cluster->{'proc'} || # Cluster is started
+ $cluster->{'use_running'} ) # Using running cluster
{
mtr_add_arg($args, "%s--ndbcluster", $prefix);
mtr_add_arg($args, "%s--ndb-connectstring=%s", $prefix,
@@ -3441,6 +3454,10 @@ sub mysqld_arguments ($$$$) {
mtr_add_arg($args, "%s--ndb-extra-logging", $prefix);
}
}
+ else
+ {
+ mtr_add_arg($args, "%s--loose-skip-ndbcluster", $prefix);
+ }
}
else
{
@@ -3496,13 +3513,10 @@ sub mysqld_arguments ($$$$) {
mtr_add_arg($args, "%s--rpl-recovery-rank=%d", $prefix, $slave_rpl_rank);
}
- if ( $opt_skip_ndbcluster_slave ||
- $mysqld->{'cluster'} == -1 ||
- !defined $clusters->[$mysqld->{'cluster'}]->{'proc'} )
- {
- mtr_add_arg($args, "%s--skip-ndbcluster", $prefix);
- }
- else
+
+ my $cluster= $clusters->[$mysqld->{'cluster'}];
+ if ( defined $cluster->{'proc'} || # Cluster is started
+ $cluster->{'use_running'} ) # Using running cluster
{
mtr_add_arg($args, "%s--ndbcluster", $prefix);
mtr_add_arg($args, "%s--ndb-connectstring=%s", $prefix,
@@ -3513,6 +3527,10 @@ sub mysqld_arguments ($$$$) {
mtr_add_arg($args, "%s--ndb-extra-logging", $prefix);
}
}
+ else
+ {
+ mtr_add_arg($args, "%s--loose-skip-ndbcluster", $prefix);
+ }
} # end slave
@@ -3536,11 +3554,6 @@ sub mysqld_arguments ($$$$) {
$glob_mysql_test_dir);
}
- if ( $opt_warnings )
- {
- mtr_add_arg($args, "%s--log-warnings", $prefix);
- }
-
# Indicate to "mysqld" it will be debugged in debugger
if ( $glob_debugger )
{
@@ -3951,23 +3964,24 @@ sub run_testcase_start_servers($) {
}
- if ( defined $clusters->[0]->{'proc'} and
+ if ( defined $clusters->[0]->{'proc'} ||
+ $clusters->[0]->{'use_running'} and
! defined $master->[1]->{'proc'} and
$tinfo->{'master_num'} > 1 )
{
- # Test needs cluster and an extra mysqld connected to cluster
+ # Test needs cluster, start an extra mysqld connected to cluster
if ( $mysql_version_id >= 50100 )
{
# First wait for first mysql server to have created ndb system
# tables ok FIXME This is a workaround so that only one mysqld
# create the tables
if ( ! sleep_until_file_created(
- "$master->[0]->{'path_myddir'}/mysql/apply_status.ndb",
+ "$master->[0]->{'path_myddir'}/mysql/ndb_apply_status.ndb",
$master->[0]->{'start_timeout'},
$master->[0]->{'proc'}))
{
- $tinfo->{'comment'}= "Failed to create 'mysql/apply_status' table";
+ $tinfo->{'comment'}= "Failed to create 'mysql/ndb_apply_status' table";
return 1;
}
}
@@ -4572,7 +4586,9 @@ Options to control what test suites or c
ndb-extra Run extra tests from ndb directory
do-test=PREFIX Run test cases which name are prefixed with PREFIX
start-from=PREFIX Run test cases starting from test prefixed with PREFIX
- suite=NAME Run the test suite named NAME. The default is "main"
+ suite[s]=NAME1,..,NAMEN Collect tests in suites from the comma separated
+ list of suite names.
+ The default is: "$opt_suites"
skip-rpl Skip the replication test cases.
skip-im Don't start IM, and skip the IM test cases
skip-test=PREFIX Skip test cases which name are prefixed with PREFIX
@@ -4660,7 +4676,8 @@ Misc options
suite-timeout=MINUTES Max test suite run time (default $opt_suite_timeout)
shutdown-timeout=SECONDS Max number of seconds to wait for server shutdown
before killing servers (default $opt_shutdown_timeout)
- warnings | log-warnings Pass --log-warnings to mysqld
+ warnings Scan the log files for warnings. Use --nowarnings
+ to turn off.
sleep=SECONDS Passed to mysqltest, will be used as fixed sleep time
| Thread |
|---|
| • bk commit into 5.0 tree (msvensson:1.2585) | msvensson | 8 Nov |