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
This commit is contained in:
parent
ce1a3d1656
commit
ba70e8eac7
@ -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 ($) {
|
|||||||
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 ($$$) {
|
|||||||
|
|
||||||
# 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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user