Commit 09ff354d authored by Magnus Svensson's avatar Magnus Svensson

Bug#40705 mtr's check-warnings fails sporadically in pushbuild

 - Change the logic slightly for when and how errors from
   check-warnings and check-testcase are reported. The prevoius logic
   reporting testfailed twice and that might have caused this.
 - Also print result code returned from mysqltest when it is "unexpected" 
parent 3d82c27e
......@@ -2802,7 +2802,8 @@ sub check_testcase($$)
{
my $report= mtr_grab_file($err_file);
$tinfo->{comment}.=
"Could not execute 'check-testcase' $mode testcase '$tname':\n";
"Could not execute 'check-testcase' $mode ".
"testcase '$tname' (res: $res):\n";
$tinfo->{comment}.= $report;
$result= 2;
......@@ -3159,19 +3160,15 @@ sub run_testcase ($) {
my $res= $test->exit_status();
if ( $res == 0 )
if ($res == 0 and $opt_warnings and check_warnings($tinfo) )
{
if ( $opt_warnings and check_warnings($tinfo) )
{
# Found unexpected warnings
report_failure_and_restart($tinfo);
$res= 1;
}
else
{
mtr_report_test_passed($tinfo);
}
# Test case suceeded, but it has produced unexpected
# warnings, continue in $res == 1
$res= 1;
}
if ( $res == 0 )
{
my $check_res;
if ( $opt_check_testcases and
$check_res= check_testcase($tinfo, "after"))
......@@ -3187,6 +3184,7 @@ sub run_testcase ($) {
return 1;
}
}
mtr_report_test_passed($tinfo);
}
elsif ( $res == 62 )
{
......@@ -3407,7 +3405,8 @@ sub check_warnings ($) {
{
my $report= mtr_grab_file($err_file);
$tinfo->{comment}.=
"Could not execute 'check-warnings' for testcase '$tname':";
"Could not execute 'check-warnings' for ".
"testcase '$tname' (res: $res):\n";
$tinfo->{comment}.= $report;
$result= 2;
......@@ -3428,11 +3427,6 @@ sub check_warnings ($) {
return $result;
}
return $res;
return $res;
}
......
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