mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Revert "Fix mtr to be able to wait for >1 exited mysqld"
This reverts commit72deed5988
which was merged as commit29d4ac2ceb
. The change caused regressions, such as mysql-test-run failing to run at all with --valgrind, or aborting on Windows on the first test failure.
This commit is contained in:
parent
b4c5e4a717
commit
bcc26dce3a
1 changed files with 117 additions and 128 deletions
|
@ -3961,32 +3961,32 @@ sub run_testcase ($$) {
|
|||
}
|
||||
|
||||
my $test= $tinfo->{suite}->start_test($tinfo);
|
||||
# Set to a list of processes we have to keep waiting (expectedly died servers)
|
||||
my %keep_waiting_proc = ();
|
||||
# Set only when we have to keep waiting after expectedly died server
|
||||
my $keep_waiting_proc = 0;
|
||||
my $print_timeout= start_timer($print_freq * 60);
|
||||
|
||||
while (1)
|
||||
{
|
||||
my $proc;
|
||||
if (scalar(keys(%keep_waiting_proc)) > 0)
|
||||
if ($keep_waiting_proc)
|
||||
{
|
||||
# Any other process exited?
|
||||
$proc = My::SafeProcess->check_any();
|
||||
if ($proc)
|
||||
{
|
||||
mtr_verbose ("Found exited process $proc");
|
||||
$keep_waiting_proc{$proc} = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$proc = $keep_waiting_proc;
|
||||
# Also check if timer has expired, if so cancel waiting
|
||||
if ( has_expired($test_timeout) )
|
||||
{
|
||||
%keep_waiting_proc = ();
|
||||
$keep_waiting_proc = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (scalar(keys(%keep_waiting_proc)) == 0)
|
||||
if (! $keep_waiting_proc)
|
||||
{
|
||||
if($test_timeout > $print_timeout)
|
||||
{
|
||||
|
@ -4003,19 +4003,19 @@ sub run_testcase ($$) {
|
|||
else
|
||||
{
|
||||
$proc= My::SafeProcess->wait_any_timeout($test_timeout);
|
||||
$keep_waiting_proc{$proc} = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (scalar(keys(%keep_waiting_proc)) == 0)
|
||||
# Will be restored if we need to keep waiting
|
||||
$keep_waiting_proc = 0;
|
||||
|
||||
unless ( defined $proc )
|
||||
{
|
||||
mtr_error("wait_any failed");
|
||||
}
|
||||
mtr_verbose("Got " . join(",", keys(%keep_waiting_proc)));
|
||||
mtr_verbose("Got $proc");
|
||||
|
||||
mark_time_used('test');
|
||||
my $expected_exit = 1;
|
||||
foreach $proc (keys(%keep_waiting_proc)) {
|
||||
# ----------------------------------------------------
|
||||
# Was it the test program that exited
|
||||
# ----------------------------------------------------
|
||||
|
@ -4129,22 +4129,11 @@ sub run_testcase ($$) {
|
|||
# Check if it was an expected crash
|
||||
# ----------------------------------------------------
|
||||
my $check_crash = check_expected_crash_and_restart($proc);
|
||||
if ($check_crash == 0) # unexpected exit/crash of $proc
|
||||
if ($check_crash)
|
||||
{
|
||||
$expected_exit = 0;
|
||||
last;
|
||||
}
|
||||
elsif ($check_crash == 1) # $proc was started again by check_expected_crash_and_restart()
|
||||
{
|
||||
delete $keep_waiting_proc{$proc};
|
||||
}
|
||||
elsif ($check_crash == 2) # we must keep waiting
|
||||
{
|
||||
# do nothing
|
||||
}
|
||||
}
|
||||
|
||||
if ($expected_exit) {
|
||||
# Keep waiting if it returned 2, if 1 don't wait or stop waiting.
|
||||
$keep_waiting_proc = 0 if $check_crash == 1;
|
||||
$keep_waiting_proc = $proc if $check_crash == 2;
|
||||
next;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue