summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authormsvensson@shellback.(none) <>2006-10-18 13:24:06 +0200
committermsvensson@shellback.(none) <>2006-10-18 13:24:06 +0200
commit8d72bf94487c0b700e20e6fed1ed8e6f59c3cce8 (patch)
tree009dd99a2b91e264d7710aebab52a9d1ea880e60 /mysql-test
parentd45b61b1b5d6cbefe206e068a0b48ea128f0e636 (diff)
downloadmariadb-git-8d72bf94487c0b700e20e6fed1ed8e6f59c3cce8.tar.gz
Make --with-ndbcluster only be valid together with --bench
Improve code that detects if ndb shuold be installed Remove call to stop_all_servers after install db, if any servers are still running and need to be stopped they will be stopped atuomatically
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/lib/mtr_cases.pl81
-rwxr-xr-xmysql-test/mysql-test-run.pl50
2 files changed, 71 insertions, 60 deletions
diff --git a/mysql-test/lib/mtr_cases.pl b/mysql-test/lib/mtr_cases.pl
index 42062b7ba24..88c51728fb2 100644
--- a/mysql-test/lib/mtr_cases.pl
+++ b/mysql-test/lib/mtr_cases.pl
@@ -59,7 +59,9 @@ sub collect_test_cases ($) {
if ( @::opt_cases )
{
- foreach my $tname ( @::opt_cases ) { # Run in specified order, no sort
+ foreach my $tname ( @::opt_cases )
+ {
+ # Run in specified order, no sort
my $elem= undef;
my $component_id= undef;
@@ -85,7 +87,7 @@ sub collect_test_cases ($) {
# If target component is known, check that the specified test case
# exists.
- #
+ #
# Otherwise, try to guess the target component.
if ( $component_id )
@@ -127,7 +129,8 @@ sub collect_test_cases ($) {
}
else
{
- foreach my $elem ( sort readdir(TESTDIR) ) {
+ foreach my $elem ( sort readdir(TESTDIR) )
+ {
my $component_id= undef;
my $tname= undef;
@@ -144,7 +147,9 @@ sub collect_test_cases ($) {
next;
}
- next if $::opt_do_test and ! defined mtr_match_prefix($elem,$::opt_do_test);
+ # Skip tests that does not match the --do-test= filter
+ next if $::opt_do_test and
+ ! defined mtr_match_prefix($elem,$::opt_do_test);
collect_one_test_case($testdir,$resdir,$tname,$elem,$cases,\%disabled,
$component_id);
@@ -152,7 +157,7 @@ sub collect_test_cases ($) {
closedir TESTDIR;
}
- # Reorder the test cases in an order that wil make them faster to run
+ # Reorder the test cases in an order that will make them faster to run
if ( $::opt_reorder )
{
@@ -306,40 +311,6 @@ sub collect_one_test_case($$$$$$$) {
$tinfo->{'slave_num'}= 1;
}
- if ( $::opt_with_ndbcluster or defined mtr_match_substring($tname,"ndb") )
- {
- # This is an ndb test or all tests should be run with ndb cluster started
- $tinfo->{'ndb_test'}= 1;
- if ( ! $::opt_ndbcluster_supported )
- {
- # Ndb is not supported, skip them
- $tinfo->{'skip'}= 1;
- $tinfo->{'comment'}= "No ndbcluster support";
- return;
- }
- elsif ( $::opt_skip_ndbcluster )
- {
- # All ndb test's should be skipped
- $tinfo->{'skip'}= 1;
- $tinfo->{'comment'}= "No ndbcluster tests(--skip-ndbcluster)";
- return;
- }
- }
- else
- {
- # This is not a ndb test
- $tinfo->{'ndb_test'}= 0;
- if ( $::opt_with_ndbcluster_only )
- {
- # Only the ndb test should be run, all other should be skipped
- $tinfo->{'skip'}= 1;
- $tinfo->{'comment'}= "Only ndbcluster tests(--with-ndbcluster-only)";
- return;
- }
- }
-
- # FIXME what about embedded_server + ndbcluster, skip ?!
-
my $master_opt_file= "$testdir/$tname-master.opt";
my $slave_opt_file= "$testdir/$tname-slave.opt";
my $slave_mi_file= "$testdir/$tname.slave-mi";
@@ -550,6 +521,37 @@ sub collect_one_test_case($$$$$$$) {
$tinfo->{'comment'}= "Test need debug binaries";
return;
}
+
+ if ( $tinfo->{'ndb_test'} )
+ {
+ # This is a NDB test
+ if ( ! $::glob_ndbcluster_supported )
+ {
+ # Ndb is not supported, skip it
+ $tinfo->{'skip'}= 1;
+ $tinfo->{'comment'}= "No ndbcluster support";
+ return;
+ }
+ elsif ( $::opt_skip_ndbcluster )
+ {
+ # All ndb test's should be skipped
+ $tinfo->{'skip'}= 1;
+ $tinfo->{'comment'}= "No ndbcluster tests(--skip-ndbcluster)";
+ return;
+ }
+ }
+ else
+ {
+ # This is not a ndb test
+ if ( $::opt_with_ndbcluster_only )
+ {
+ # Only the ndb test should be run, all other should be skipped
+ $tinfo->{'skip'}= 1;
+ $tinfo->{'comment'}= "Only ndbcluster tests(--with-ndbcluster-only)";
+ return;
+ }
+ }
+
}
}
@@ -563,6 +565,7 @@ our @tags=
["include/have_binlog_format_statement.inc", "binlog_format", "stmt"],
["include/big_test.inc", "big_test", 1],
["include/have_debug.inc", "need_debug", 1],
+ ["include/have_ndb.inc", "ndb_test", 1],
["include/have_ndb_extra.inc", "ndb_extra", 1],
["require_manager", "require_manager", 1],
);
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 1d217bdef84..05baaaa6f2f 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -65,6 +65,7 @@ use IO::Socket;
use IO::Socket::INET;
use Data::Dumper;
use strict;
+use warnings;
use diagnostics;
our $glob_win32_perl= ($^O eq "MSWin32"); # ActiveState Win32 Perl
@@ -277,7 +278,7 @@ our $opt_skip_ndbcluster= 0;
our $opt_skip_ndbcluster_slave= 0;
our $opt_with_ndbcluster= 0;
our $opt_with_ndbcluster_only= 0;
-our $opt_ndbcluster_supported= 0;
+our $glob_ndbcluster_supported= 0;
our $opt_ndb_extra_test= 0;
our $opt_skip_master_binlog= 0;
our $opt_skip_slave_binlog= 0;
@@ -572,10 +573,10 @@ sub command_line_setup () {
'compress' => \$opt_compress,
'bench' => \$opt_bench,
'small-bench' => \$opt_small_bench,
+ 'with-ndbcluster' => \$opt_with_ndbcluster,
# Control what test suites or cases to run
'force' => \$opt_force,
- 'with-ndbcluster' => \$opt_with_ndbcluster,
'with-ndbcluster-only' => \$opt_with_ndbcluster_only,
'skip-ndbcluster|skip-ndb' => \$opt_skip_ndbcluster,
'skip-ndbcluster-slave|skip-ndb-slave'
@@ -846,9 +847,9 @@ sub command_line_setup () {
# --------------------------------------------------------------------------
# Ndb cluster flags
# --------------------------------------------------------------------------
- if ( $opt_with_ndbcluster and $opt_skip_ndbcluster)
+ if ( $opt_with_ndbcluster and !$opt_bench)
{
- mtr_error("Can't specify both --with-ndbcluster and --skip-ndbcluster");
+ mtr_error("Can only use --with-ndbcluster togheter with --bench");
}
if ( $opt_ndbconnectstring )
@@ -1485,7 +1486,7 @@ sub environment_setup () {
# --------------------------------------------------------------------------
# Add the path where libndbclient can be found
# --------------------------------------------------------------------------
- if ( $opt_ndbcluster_supported )
+ if ( $glob_ndbcluster_supported )
{
push(@ld_library_paths, "$glob_basedir/storage/ndb/src/.libs");
}
@@ -1870,6 +1871,8 @@ sub cleanup_stale_files () {
rmtree(readlink($opt_vardir));
# Remove the entire "var" dir
rmtree("$opt_vardir/");
+ # Remove the "var" symlink
+ unlink($opt_vardir);
}
else
{
@@ -2042,7 +2045,7 @@ sub check_ndbcluster_support ($) {
$opt_skip_ndbcluster_slave= 1;
return;
}
- $opt_ndbcluster_supported= 1;
+ $glob_ndbcluster_supported= 1;
mtr_report("Using ndbcluster when necessary, mysqld supports it");
if ( $mysql_version_id < 50100 )
@@ -2059,11 +2062,6 @@ sub check_ndbcluster_support ($) {
sub ndbcluster_start_install ($) {
my $cluster= shift;
- if ( $opt_skip_ndbcluster or $glob_use_running_ndbcluster )
- {
- return 0;
- }
-
mtr_report("Installing $cluster->{'name'} Cluster");
mkdir($cluster->{'data_dir'});
@@ -2477,11 +2475,24 @@ sub mysql_install_db () {
my $cluster_started_ok= 1; # Assume it can be started
- if (ndbcluster_start_install($clusters->[0]) ||
- ($max_slave_num && !$opt_skip_ndbcluster_slave &&
- ndbcluster_start_install($clusters->[1])))
+ if ($opt_skip_ndbcluster || $glob_use_running_ndbcluster)
+ {
+ # Don't install master cluster
+ }
+ elsif (ndbcluster_start_install($clusters->[0]))
+ {
+ mtr_warning("Failed to start install of $clusters->[0]->{name}");
+ $cluster_started_ok= 0;
+ }
+
+ if ($max_slave_num == 0 ||
+ $opt_skip_ndbcluster_slave || $glob_use_running_ndbcluster_slave)
{
- mtr_warning("Failed to start install of cluster");
+ # Don't install slave cluster
+ }
+ elsif (ndbcluster_start_install($clusters->[1]))
+ {
+ mtr_warning("Failed to start install of $clusters->[1]->{name}");
$cluster_started_ok= 0;
}
@@ -2514,9 +2525,6 @@ sub mysql_install_db () {
}
}
- # Stop clusters...
- stop_all_servers();
-
return 0;
}
@@ -3592,14 +3600,14 @@ sub run_testcase_need_master_restart($)
mtr_verbose("Restart master: Restart forced with --force-restart");
}
elsif ( ! $opt_skip_ndbcluster and
- $tinfo->{'ndb_test'} == 0 and
+ !$tinfo->{'ndb_test'} and
$clusters->[0]->{'pid'} != 0 )
{
$do_restart= 1; # Restart without cluster
mtr_verbose("Restart master: Test does not need cluster");
}
elsif ( ! $opt_skip_ndbcluster and
- $tinfo->{'ndb_test'} == 1 and
+ $tinfo->{'ndb_test'} and
$clusters->[0]->{'pid'} == 0 )
{
$do_restart= 1; # Restart with cluster
@@ -4455,6 +4463,7 @@ Options to control what engine/variation to run
skip-ssl Dont start server with support for ssl connections
bench Run the benchmark suite
small-bench Run the benchmarks with --small-tests --small-tables
+ with-ndbcluster Use cluster as default table type for benchmark
Options to control directories to use
benchdir=DIR The directory where the benchmark suite is stored
@@ -4471,7 +4480,6 @@ Options to control directories to use
Options to control what test suites or cases to run
force Continue to run the suite after failure
- with-ndbcluster Use cluster in all tests
with-ndbcluster-only Run only tests that include "ndb" in the filename
skip-ndb[cluster] Skip all tests that need cluster
skip-ndb[cluster]-slave Skip all tests that need a slave cluster