Commit 2278af7e authored by unknown's avatar unknown

Merge mysqldev@production.mysql.com:my/mysql-5.0-release

into mysql.com:/Users/kent/mysql/bk/mysql-5.0-release
parents caca494f d0c729d5
...@@ -841,6 +841,7 @@ sub sleep_until_file_created ($$$) { ...@@ -841,6 +841,7 @@ sub sleep_until_file_created ($$$) {
sub mtr_exit ($) { sub mtr_exit ($) {
my $code= shift; my $code= shift;
# cluck("Called mtr_exit()"); # cluck("Called mtr_exit()");
mtr_timer_stop_all($::glob_timers);
local $SIG{HUP} = 'IGNORE'; local $SIG{HUP} = 'IGNORE';
kill('HUP', -$$); kill('HUP', -$$);
sleep 2; sleep 2;
......
...@@ -223,7 +223,8 @@ sub mtr_report_stats ($) { ...@@ -223,7 +223,8 @@ sub mtr_report_stats ($) {
if ( $tot_failed != 0 ) 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) foreach my $tinfo (@$tests)
{ {
......
...@@ -15,6 +15,7 @@ use POSIX 'WNOHANG'; ...@@ -15,6 +15,7 @@ use POSIX 'WNOHANG';
sub mtr_init_timers (); sub mtr_init_timers ();
sub mtr_timer_start($$$); sub mtr_timer_start($$$);
sub mtr_timer_stop($$); sub mtr_timer_stop($$);
sub mtr_timer_stop_all($);
sub mtr_timer_waitpid($$$); sub mtr_timer_waitpid($$$);
############################################################################## ##############################################################################
...@@ -113,6 +114,29 @@ sub mtr_timer_stop ($$) { ...@@ -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 ($$) { sub mtr_timer_timeout ($$) {
my ($timers,$pid)= @_; my ($timers,$pid)= @_;
......
...@@ -142,6 +142,7 @@ our $glob_timers= undef; ...@@ -142,6 +142,7 @@ our $glob_timers= undef;
our $glob_use_running_server= 0; our $glob_use_running_server= 0;
our $glob_use_running_ndbcluster= 0; our $glob_use_running_ndbcluster= 0;
our $glob_use_embedded_server= 0; our $glob_use_embedded_server= 0;
our @glob_test_mode;
our $glob_basedir; our $glob_basedir;
...@@ -606,6 +607,7 @@ sub command_line_setup () { ...@@ -606,6 +607,7 @@ sub command_line_setup () {
if ( $opt_embedded_server ) if ( $opt_embedded_server )
{ {
$glob_use_embedded_server= 1; $glob_use_embedded_server= 1;
push(@glob_test_mode, "embedded");
$opt_skip_rpl= 1; # We never run replication with embedded $opt_skip_rpl= 1; # We never run replication with embedded
if ( $opt_extern ) if ( $opt_extern )
...@@ -614,6 +616,11 @@ sub command_line_setup () { ...@@ -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 # FIXME don't understand what this is
# if ( $opt_local_master ) # if ( $opt_local_master )
# { # {
...@@ -1562,8 +1569,9 @@ sub report_failure_and_restart ($) { ...@@ -1562,8 +1569,9 @@ sub report_failure_and_restart ($) {
print "\n"; print "\n";
if ( ! $opt_force ) if ( ! $opt_force )
{ {
print "Aborting: $tinfo->{'name'} failed. To continue, re-run with '--force'."; my $test_mode= join(" ", @::glob_test_mode) || "default";
print "\n"; 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 if ( ! $opt_gdb and ! $glob_use_running_server and
! $opt_ddd and ! $glob_use_embedded_server ) ! $opt_ddd and ! $glob_use_embedded_server )
{ {
......
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