Commit ba70e8ea authored by Bjorn Munch's avatar Bjorn Munch

Bug #43917 MTR2 does not report accurate test statistics when using the 'repeat=n'

option
In practice, only the last run of the test was counted
Add a separate counter rep_failures for failures before last run
parent ce1a3d16
...@@ -257,6 +257,17 @@ sub mtr_report_stats ($) { ...@@ -257,6 +257,17 @@ sub mtr_report_stats ($) {
$tot_restarts++; $tot_restarts++;
} }
# Add counts for repeated runs, if any.
# Note that the last run has already been counted above.
my $num_repeat = $tinfo->{'repeat'} - 1;
if ( $num_repeat > 0 )
{
$tot_tests += $num_repeat;
my $rep_failed = $tinfo->{'rep_failures'} || 0;
$tot_failed += $rep_failed;
$tot_passed += $num_repeat - $rep_failed;
}
# Look for warnings produced by mysqltest # Look for warnings produced by mysqltest
my $base_file= mtr_match_extension($tinfo->{'result_file'}, my $base_file= mtr_match_extension($tinfo->{'result_file'},
"result"); # Trim extension "result"); # Trim extension
...@@ -336,7 +347,7 @@ sub mtr_report_stats ($) { ...@@ -336,7 +347,7 @@ sub mtr_report_stats ($) {
foreach my $tinfo (@$tests) foreach my $tinfo (@$tests)
{ {
my $tname= $tinfo->{'name'}; my $tname= $tinfo->{'name'};
if ( $tinfo->{failures} and ! $seen{$tname}) if ( ($tinfo->{failures} || $tinfo->{rep_failures}) and ! $seen{$tname})
{ {
print " $tname"; print " $tname";
$seen{$tname}= 1; $seen{$tname}= 1;
......
...@@ -555,9 +555,11 @@ sub run_test_server ($$$) { ...@@ -555,9 +555,11 @@ sub run_test_server ($$$) {
# Repeat test $opt_repeat number of times # Repeat test $opt_repeat number of times
my $repeat= $result->{repeat} || 1; my $repeat= $result->{repeat} || 1;
if ($repeat < $opt_repeat) # Don't repeat if test was skipped
if ($repeat < $opt_repeat && $result->{'result'} ne 'MTR_RES_SKIPPED')
{ {
$result->{retries}= 0; $result->{retries}= 0;
$result->{rep_failures}++ if $result->{failures};
$result->{failures}= 0; $result->{failures}= 0;
delete($result->{result}); delete($result->{result});
$result->{repeat}= $repeat+1; $result->{repeat}= $repeat+1;
......
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