mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
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. mysql-test/mysql-test-run.pl: Decide whether to set up and start slave databases based entirely on which tests are used, and don't allow --skip-rpl to ruin the party, since other tests than replication rely on the slaves (namely federated).
This commit is contained in:
@ -258,6 +258,7 @@ our $opt_result_ext;
|
||||
|
||||
our $opt_skip;
|
||||
our $opt_skip_rpl;
|
||||
our $use_slaves;
|
||||
our $opt_skip_test;
|
||||
our $opt_skip_im;
|
||||
|
||||
@ -407,16 +408,15 @@ sub main () {
|
||||
my $tests= collect_test_cases($opt_suite);
|
||||
|
||||
# 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)
|
||||
{
|
||||
$need_ndbcluster||= $test->{ndb_test};
|
||||
$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_skip_im= 1 unless $need_im;
|
||||
$opt_skip_rpl= 1 unless $need_slave;
|
||||
|
||||
snapshot_setup();
|
||||
initialize_servers();
|
||||
@ -981,7 +981,7 @@ sub snapshot_setup () {
|
||||
$master->[0]->{'path_myddir'},
|
||||
$master->[1]->{'path_myddir'});
|
||||
|
||||
unless ($opt_skip_rpl)
|
||||
if ($use_slaves)
|
||||
{
|
||||
push @data_dir_lst, ($slave->[0]->{'path_myddir'},
|
||||
$slave->[1]->{'path_myddir'},
|
||||
@ -1636,7 +1636,7 @@ sub mysql_install_db () {
|
||||
install_db('master', $master->[0]->{'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->[1]->{'path_myddir'});
|
||||
|
Reference in New Issue
Block a user