Loading mysql-test/lib/mtr_cases.pl +18 −13 Original line number Diff line number Diff line Loading @@ -168,13 +168,18 @@ sub collect_test_cases ($) { { my @this_criteria = (); # # Append the criteria for sorting, in order of importance. push(@this_criteria, join("!", sort @{$tinfo->{'master_opt'}}) . "~"); # Ending with "~" makes empty sort later than filled # push(@this_criteria, "ndb=" . ($tinfo->{'ndb_test'} ? "1" : "0")); push(@this_criteria, "restart=" . ($tinfo->{'master_restart'} ? "1" : "0")); push(@this_criteria, "big_test=" . ($tinfo->{'big_test'} ? "1" : "0")); push(@this_criteria, join("|", sort keys %{$tinfo})); # Group similar things together. The values may differ substantially. FIXME? push(@this_criteria, $tinfo->{'name'}); # Finally, order by the name # Group test with similar options together. # Ending with "~" makes empty sort later than filled push(@this_criteria, join("!", sort @{$tinfo->{'master_opt'}}) . "~"); # Finally, order by the name push(@this_criteria, $tinfo->{'name'}); $sort_criteria{$tinfo->{"name"}} = join(" ", @this_criteria); } Loading @@ -182,13 +187,13 @@ sub collect_test_cases ($) { @$cases = sort { $sort_criteria{$a->{"name"}} cmp $sort_criteria{$b->{"name"}}; } @$cases; ### For debugging the sort-order # foreach $tinfo (@$cases) # { # print $sort_criteria{$tinfo->{"name"}}; # print " -> \t"; # print $tinfo->{"name"}; # print "\n"; # } foreach $tinfo (@$cases) { print $sort_criteria{$tinfo->{"name"}}; print " -> \t"; print $tinfo->{"name"}; print "\n"; } } return $cases; Loading mysql-test/mysql-test-run.pl +39 −54 Original line number Diff line number Diff line Loading @@ -323,7 +323,7 @@ our $default_mysqld_port; sub main (); sub initial_setup (); sub command_line_setup (); sub snapshot_setup (); sub datadir_setup (); sub executable_setup (); sub environment_setup (); sub kill_running_server (); Loading Loading @@ -416,7 +416,6 @@ sub main () { unless $need_ndbcluster; $opt_skip_im= 1 unless $need_im; snapshot_setup(); initialize_servers(); run_suite($opt_suite, $tests); Loading Loading @@ -1122,7 +1121,7 @@ sub command_line_setup () { $path_snapshot= "$opt_tmpdir/snapshot_$opt_master_myport/"; } sub snapshot_setup () { sub datadir_setup () { # Make a list of all data_dirs @data_dir_lst = ( Loading Loading @@ -2370,6 +2369,9 @@ sub run_suite () { ############################################################################## sub initialize_servers () { datadir_setup(); if ( ! $glob_use_running_server ) { kill_running_server(); Loading Loading @@ -3520,6 +3522,11 @@ sub run_testcase_need_master_restart($) join(" ", @{$tinfo->{'master_opt'}}) . "' != '" . join(" ", @{$master->[0]->{'start_opts'}}) . "'" ); } elsif( ! $master->[0]->{'pid'} ) { $do_restart= 1; mtr_verbose("Restart because: master is not started"); } return $do_restart; } Loading @@ -3531,57 +3538,35 @@ sub run_testcase_need_slave_restart($) # We try to find out if we are to restart the slaves my $do_slave_restart= 0; # Assumes we don't have to # FIXME only restart slave when necessary $do_slave_restart= 1; if ( $max_slave_num == 0) { mtr_verbose("No testcase use slaves, no slave restarts"); } else { # if ( ! $slave->[0]->{'pid'} ) # { # # mtr_verbose("Slave not started, no need to check slave restart"); # } # elsif ( $do_restart ) # { # $do_slave_restart= 1; # Always restart if master restart # mtr_verbose("Restart slave because: Master restart"); # } # elsif ( $tinfo->{'slave_sh'} ) # { # $do_slave_restart= 1; # Always restart if script to run # mtr_verbose("Restart slave because: Always restart if script to run"); # } # elsif ( ! $opt_skip_ndbcluster_slave and # $tinfo->{'ndb_test'} == 0 and # $clusters->[1]->{'pid'} != 0 ) # { # $do_slave_restart= 1; # Restart without slave cluster # mtr_verbose("Restart slave because: Test does not need slave cluster"); # } # elsif ( ! $opt_with_ndbcluster_slave and # $tinfo->{'ndb_test'} == 1 and # $clusters->[1]->{'pid'} == 0 ) # { # $do_slave_restart= 1; # Restart with slave cluster # mtr_verbose("Restart slave because: Test need slave cluster"); # } # elsif ( $tinfo->{'slave_restart'} ) # { # $do_slave_restart= 1; # mtr_verbose("Restart slave because: slave_restart"); # } # elsif ( $slave->[0]->{'running_slave_is_special'} ) # { # $do_slave_restart= 1; # mtr_verbose("Restart slave because: running_slave_is_special"); # } # # Check that running slave was started with same options # # as the current test requires # elsif (! mtr_same_opts($slave->[0]->{'start_opts'}, # $tinfo->{'slave_opt'}) ) # { # $do_slave_restart= 1; # mtr_verbose("Restart slave because: running with different options '" . # join(" ", @{$tinfo->{'slave_opt'}}) . "' != '" . # join(" ", @{$slave->[0]->{'start_opts'}}) . "'" ); # } # Check if any slave is currently started my $any_slave_started= 0; foreach my $mysqld (@{$slave}) { if ( $mysqld->{'pid'} ) { $any_slave_started= 1; last; } } if ($any_slave_started) { mtr_verbose("Any slave is started, need to restart"); $do_slave_restart= 1; } elsif ( $tinfo->{'slave_num'} ) { mtr_verbose("Test need slave, check for restart"); $do_slave_restart= 1; } } return $do_slave_restart; Loading Loading
mysql-test/lib/mtr_cases.pl +18 −13 Original line number Diff line number Diff line Loading @@ -168,13 +168,18 @@ sub collect_test_cases ($) { { my @this_criteria = (); # # Append the criteria for sorting, in order of importance. push(@this_criteria, join("!", sort @{$tinfo->{'master_opt'}}) . "~"); # Ending with "~" makes empty sort later than filled # push(@this_criteria, "ndb=" . ($tinfo->{'ndb_test'} ? "1" : "0")); push(@this_criteria, "restart=" . ($tinfo->{'master_restart'} ? "1" : "0")); push(@this_criteria, "big_test=" . ($tinfo->{'big_test'} ? "1" : "0")); push(@this_criteria, join("|", sort keys %{$tinfo})); # Group similar things together. The values may differ substantially. FIXME? push(@this_criteria, $tinfo->{'name'}); # Finally, order by the name # Group test with similar options together. # Ending with "~" makes empty sort later than filled push(@this_criteria, join("!", sort @{$tinfo->{'master_opt'}}) . "~"); # Finally, order by the name push(@this_criteria, $tinfo->{'name'}); $sort_criteria{$tinfo->{"name"}} = join(" ", @this_criteria); } Loading @@ -182,13 +187,13 @@ sub collect_test_cases ($) { @$cases = sort { $sort_criteria{$a->{"name"}} cmp $sort_criteria{$b->{"name"}}; } @$cases; ### For debugging the sort-order # foreach $tinfo (@$cases) # { # print $sort_criteria{$tinfo->{"name"}}; # print " -> \t"; # print $tinfo->{"name"}; # print "\n"; # } foreach $tinfo (@$cases) { print $sort_criteria{$tinfo->{"name"}}; print " -> \t"; print $tinfo->{"name"}; print "\n"; } } return $cases; Loading
mysql-test/mysql-test-run.pl +39 −54 Original line number Diff line number Diff line Loading @@ -323,7 +323,7 @@ our $default_mysqld_port; sub main (); sub initial_setup (); sub command_line_setup (); sub snapshot_setup (); sub datadir_setup (); sub executable_setup (); sub environment_setup (); sub kill_running_server (); Loading Loading @@ -416,7 +416,6 @@ sub main () { unless $need_ndbcluster; $opt_skip_im= 1 unless $need_im; snapshot_setup(); initialize_servers(); run_suite($opt_suite, $tests); Loading Loading @@ -1122,7 +1121,7 @@ sub command_line_setup () { $path_snapshot= "$opt_tmpdir/snapshot_$opt_master_myport/"; } sub snapshot_setup () { sub datadir_setup () { # Make a list of all data_dirs @data_dir_lst = ( Loading Loading @@ -2370,6 +2369,9 @@ sub run_suite () { ############################################################################## sub initialize_servers () { datadir_setup(); if ( ! $glob_use_running_server ) { kill_running_server(); Loading Loading @@ -3520,6 +3522,11 @@ sub run_testcase_need_master_restart($) join(" ", @{$tinfo->{'master_opt'}}) . "' != '" . join(" ", @{$master->[0]->{'start_opts'}}) . "'" ); } elsif( ! $master->[0]->{'pid'} ) { $do_restart= 1; mtr_verbose("Restart because: master is not started"); } return $do_restart; } Loading @@ -3531,57 +3538,35 @@ sub run_testcase_need_slave_restart($) # We try to find out if we are to restart the slaves my $do_slave_restart= 0; # Assumes we don't have to # FIXME only restart slave when necessary $do_slave_restart= 1; if ( $max_slave_num == 0) { mtr_verbose("No testcase use slaves, no slave restarts"); } else { # if ( ! $slave->[0]->{'pid'} ) # { # # mtr_verbose("Slave not started, no need to check slave restart"); # } # elsif ( $do_restart ) # { # $do_slave_restart= 1; # Always restart if master restart # mtr_verbose("Restart slave because: Master restart"); # } # elsif ( $tinfo->{'slave_sh'} ) # { # $do_slave_restart= 1; # Always restart if script to run # mtr_verbose("Restart slave because: Always restart if script to run"); # } # elsif ( ! $opt_skip_ndbcluster_slave and # $tinfo->{'ndb_test'} == 0 and # $clusters->[1]->{'pid'} != 0 ) # { # $do_slave_restart= 1; # Restart without slave cluster # mtr_verbose("Restart slave because: Test does not need slave cluster"); # } # elsif ( ! $opt_with_ndbcluster_slave and # $tinfo->{'ndb_test'} == 1 and # $clusters->[1]->{'pid'} == 0 ) # { # $do_slave_restart= 1; # Restart with slave cluster # mtr_verbose("Restart slave because: Test need slave cluster"); # } # elsif ( $tinfo->{'slave_restart'} ) # { # $do_slave_restart= 1; # mtr_verbose("Restart slave because: slave_restart"); # } # elsif ( $slave->[0]->{'running_slave_is_special'} ) # { # $do_slave_restart= 1; # mtr_verbose("Restart slave because: running_slave_is_special"); # } # # Check that running slave was started with same options # # as the current test requires # elsif (! mtr_same_opts($slave->[0]->{'start_opts'}, # $tinfo->{'slave_opt'}) ) # { # $do_slave_restart= 1; # mtr_verbose("Restart slave because: running with different options '" . # join(" ", @{$tinfo->{'slave_opt'}}) . "' != '" . # join(" ", @{$slave->[0]->{'start_opts'}}) . "'" ); # } # Check if any slave is currently started my $any_slave_started= 0; foreach my $mysqld (@{$slave}) { if ( $mysqld->{'pid'} ) { $any_slave_started= 1; last; } } if ($any_slave_started) { mtr_verbose("Any slave is started, need to restart"); $do_slave_restart= 1; } elsif ( $tinfo->{'slave_num'} ) { mtr_verbose("Test need slave, check for restart"); $do_slave_restart= 1; } } return $do_slave_restart; Loading