Commit 0e984135 authored by Bjorn Munch's avatar Bjorn Munch

Bug #11765749 58745: MTR SPENDS LONG TIME CHECKING FOR WARNINGS

Added code to look for repetitions and only repeat warnings once
Reduced time spent in check-warnings by almost 20% for full test suite
parent c429202b
...@@ -4116,6 +4116,9 @@ sub extract_warning_lines ($$) { ...@@ -4116,6 +4116,9 @@ sub extract_warning_lines ($$) {
); );
my $skip_valgrind= 0; my $skip_valgrind= 0;
my $last_pat= "";
my $num_rep= 0;
foreach my $line ( @lines ) foreach my $line ( @lines )
{ {
if ($opt_valgrind_mysqld) { if ($opt_valgrind_mysqld) {
...@@ -4130,11 +4133,29 @@ sub extract_warning_lines ($$) { ...@@ -4130,11 +4133,29 @@ sub extract_warning_lines ($$) {
{ {
if ( $line =~ /$pat/ ) if ( $line =~ /$pat/ )
{ {
# Remove initial timestamp and look for consecutive identical lines
my $line_pat= $line;
$line_pat =~ s/^[0-9: ]*//;
if ($line_pat eq $last_pat) {
$num_rep++;
} else {
# Previous line had been repeated, report that first
if ($num_rep) {
print $Fwarn ".... repeated $num_rep times: $last_pat";
$num_rep= 0;
}
$last_pat= $line_pat;
print $Fwarn $line; print $Fwarn $line;
}
last; last;
} }
} }
} }
# Catch the case of last warning being repeated
if ($num_rep) {
print $Fwarn ".... repeated $num_rep times: $last_pat";
}
$Fwarn = undef; # Close file $Fwarn = undef; # Close file
} }
......
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