Loading mysql-test/lib/mtr_process.pl +1 −0 Original line number Diff line number Diff line Loading @@ -841,6 +841,7 @@ sub sleep_until_file_created ($$$) { sub mtr_exit ($) { my $code= shift; # cluck("Called mtr_exit()"); mtr_timer_stop_all($::glob_timers); local $SIG{HUP} = 'IGNORE'; kill('HUP', -$$); sleep 2; Loading mysql-test/lib/mtr_report.pl +2 −1 Original line number Diff line number Diff line Loading @@ -223,7 +223,8 @@ sub mtr_report_stats ($) { if ( $tot_failed != 0 ) { print "mysql-test-run: *** Failing the test(s):"; my $test_mode= join(" ", @::glob_test_mode) || "default"; print "mysql-test-run in $test_mode mode: *** Failing the test(s):"; foreach my $tinfo (@$tests) { Loading mysql-test/lib/mtr_timer.pl +24 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ use POSIX 'WNOHANG'; sub mtr_init_timers (); sub mtr_timer_start($$$); sub mtr_timer_stop($$); sub mtr_timer_stop_all($); sub mtr_timer_waitpid($$$); ############################################################################## Loading Loading @@ -113,6 +114,29 @@ sub mtr_timer_stop ($$) { } sub mtr_timer_stop_all ($) { my $timers= shift; foreach my $name ( keys %{$timers->{'timers'}} ) { my $tpid= $timers->{'timers'}->{$name}->{'pid'}; # FIXME as Cygwin reuses pids fast, maybe check that is # the expected process somehow?! kill(9, $tpid); # As the timers are so simple programs, we trust them to terminate, # and use blocking wait for it. We wait just to avoid a zombie. waitpid($tpid,0); delete $timers->{'timers'}->{$name}; # Remove the timer information delete $timers->{'pids'}->{$tpid}; # and PID reference return 1; } } sub mtr_timer_timeout ($$) { my ($timers,$pid)= @_; Loading mysql-test/mysql-test-run.pl +10 −2 Original line number Diff line number Diff line Loading @@ -142,6 +142,7 @@ our $glob_timers= undef; our $glob_use_running_server= 0; our $glob_use_running_ndbcluster= 0; our $glob_use_embedded_server= 0; our @glob_test_mode; our $glob_basedir; Loading Loading @@ -606,6 +607,7 @@ sub command_line_setup () { if ( $opt_embedded_server ) { $glob_use_embedded_server= 1; push(@glob_test_mode, "embedded"); $opt_skip_rpl= 1; # We never run replication with embedded if ( $opt_extern ) Loading @@ -614,6 +616,11 @@ sub command_line_setup () { } } if ( $opt_ps_protocol ) { push(@glob_test_mode, "ps-protocol"); } # FIXME don't understand what this is # if ( $opt_local_master ) # { Loading Loading @@ -1562,8 +1569,9 @@ sub report_failure_and_restart ($) { print "\n"; if ( ! $opt_force ) { print "Aborting: $tinfo->{'name'} failed. To continue, re-run with '--force'."; print "\n"; my $test_mode= join(" ", @::glob_test_mode) || "default"; print "Aborting: $tinfo->{'name'} failed in $test_mode mode. "; print "To continue, re-run with '--force'.\n"; if ( ! $opt_gdb and ! $glob_use_running_server and ! $opt_ddd and ! $glob_use_embedded_server ) { Loading Loading
mysql-test/lib/mtr_process.pl +1 −0 Original line number Diff line number Diff line Loading @@ -841,6 +841,7 @@ sub sleep_until_file_created ($$$) { sub mtr_exit ($) { my $code= shift; # cluck("Called mtr_exit()"); mtr_timer_stop_all($::glob_timers); local $SIG{HUP} = 'IGNORE'; kill('HUP', -$$); sleep 2; Loading
mysql-test/lib/mtr_report.pl +2 −1 Original line number Diff line number Diff line Loading @@ -223,7 +223,8 @@ sub mtr_report_stats ($) { if ( $tot_failed != 0 ) { print "mysql-test-run: *** Failing the test(s):"; my $test_mode= join(" ", @::glob_test_mode) || "default"; print "mysql-test-run in $test_mode mode: *** Failing the test(s):"; foreach my $tinfo (@$tests) { Loading
mysql-test/lib/mtr_timer.pl +24 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ use POSIX 'WNOHANG'; sub mtr_init_timers (); sub mtr_timer_start($$$); sub mtr_timer_stop($$); sub mtr_timer_stop_all($); sub mtr_timer_waitpid($$$); ############################################################################## Loading Loading @@ -113,6 +114,29 @@ sub mtr_timer_stop ($$) { } sub mtr_timer_stop_all ($) { my $timers= shift; foreach my $name ( keys %{$timers->{'timers'}} ) { my $tpid= $timers->{'timers'}->{$name}->{'pid'}; # FIXME as Cygwin reuses pids fast, maybe check that is # the expected process somehow?! kill(9, $tpid); # As the timers are so simple programs, we trust them to terminate, # and use blocking wait for it. We wait just to avoid a zombie. waitpid($tpid,0); delete $timers->{'timers'}->{$name}; # Remove the timer information delete $timers->{'pids'}->{$tpid}; # and PID reference return 1; } } sub mtr_timer_timeout ($$) { my ($timers,$pid)= @_; Loading
mysql-test/mysql-test-run.pl +10 −2 Original line number Diff line number Diff line Loading @@ -142,6 +142,7 @@ our $glob_timers= undef; our $glob_use_running_server= 0; our $glob_use_running_ndbcluster= 0; our $glob_use_embedded_server= 0; our @glob_test_mode; our $glob_basedir; Loading Loading @@ -606,6 +607,7 @@ sub command_line_setup () { if ( $opt_embedded_server ) { $glob_use_embedded_server= 1; push(@glob_test_mode, "embedded"); $opt_skip_rpl= 1; # We never run replication with embedded if ( $opt_extern ) Loading @@ -614,6 +616,11 @@ sub command_line_setup () { } } if ( $opt_ps_protocol ) { push(@glob_test_mode, "ps-protocol"); } # FIXME don't understand what this is # if ( $opt_local_master ) # { Loading Loading @@ -1562,8 +1569,9 @@ sub report_failure_and_restart ($) { print "\n"; if ( ! $opt_force ) { print "Aborting: $tinfo->{'name'} failed. To continue, re-run with '--force'."; print "\n"; my $test_mode= join(" ", @::glob_test_mode) || "default"; print "Aborting: $tinfo->{'name'} failed in $test_mode mode. "; print "To continue, re-run with '--force'.\n"; if ( ! $opt_gdb and ! $glob_use_running_server and ! $opt_ddd and ! $glob_use_embedded_server ) { Loading