Commit 36155b63 authored by jimw@mysql.com's avatar jimw@mysql.com

Bug #19393: Federated tests fail on Windows under pushbuild

  Supplying --skip-rpl to mysql-test-run.pl would always disable the
  slaves, but those slaves may still be needed for the federated tests.
  Now we only disable the slaves when they are not used by any of the
  tests.
parent 31a42892
...@@ -258,6 +258,7 @@ our $opt_result_ext; ...@@ -258,6 +258,7 @@ our $opt_result_ext;
our $opt_skip; our $opt_skip;
our $opt_skip_rpl; our $opt_skip_rpl;
our $use_slaves;
our $opt_skip_test; our $opt_skip_test;
our $opt_skip_im; our $opt_skip_im;
...@@ -407,16 +408,15 @@ sub main () { ...@@ -407,16 +408,15 @@ sub main () {
my $tests= collect_test_cases($opt_suite); my $tests= collect_test_cases($opt_suite);
# Turn off NDB and other similar options if no tests use it # Turn off NDB and other similar options if no tests use it
my ($need_ndbcluster,$need_im,$need_slave); my ($need_ndbcluster,$need_im);
foreach my $test (@$tests) foreach my $test (@$tests)
{ {
$need_ndbcluster||= $test->{ndb_test}; $need_ndbcluster||= $test->{ndb_test};
$need_im||= $test->{component_id} eq 'im'; $need_im||= $test->{component_id} eq 'im';
$need_slave||= $test->{slave_num}; $use_slaves||= $test->{slave_num};
} }
$opt_with_ndbcluster= 0 unless $need_ndbcluster; $opt_with_ndbcluster= 0 unless $need_ndbcluster;
$opt_skip_im= 1 unless $need_im; $opt_skip_im= 1 unless $need_im;
$opt_skip_rpl= 1 unless $need_slave;
snapshot_setup(); snapshot_setup();
initialize_servers(); initialize_servers();
...@@ -981,7 +981,7 @@ sub snapshot_setup () { ...@@ -981,7 +981,7 @@ sub snapshot_setup () {
$master->[0]->{'path_myddir'}, $master->[0]->{'path_myddir'},
$master->[1]->{'path_myddir'}); $master->[1]->{'path_myddir'});
unless ($opt_skip_rpl) if ($use_slaves)
{ {
push @data_dir_lst, ($slave->[0]->{'path_myddir'}, push @data_dir_lst, ($slave->[0]->{'path_myddir'},
$slave->[1]->{'path_myddir'}, $slave->[1]->{'path_myddir'},
...@@ -1636,7 +1636,7 @@ sub mysql_install_db () { ...@@ -1636,7 +1636,7 @@ sub mysql_install_db () {
install_db('master', $master->[0]->{'path_myddir'}); install_db('master', $master->[0]->{'path_myddir'});
install_db('master', $master->[1]->{'path_myddir'}); install_db('master', $master->[1]->{'path_myddir'});
if ( ! $opt_skip_rpl ) if ( $use_slaves )
{ {
install_db('slave', $slave->[0]->{'path_myddir'}); install_db('slave', $slave->[0]->{'path_myddir'});
install_db('slave', $slave->[1]->{'path_myddir'}); install_db('slave', $slave->[1]->{'path_myddir'});
......
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