mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
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
This commit is contained in:
@@ -4116,6 +4116,9 @@ sub extract_warning_lines ($$) {
|
||||
);
|
||||
my $skip_valgrind= 0;
|
||||
|
||||
my $last_pat= "";
|
||||
my $num_rep= 0;
|
||||
|
||||
foreach my $line ( @lines )
|
||||
{
|
||||
if ($opt_valgrind_mysqld) {
|
||||
@@ -4130,11 +4133,29 @@ sub extract_warning_lines ($$) {
|
||||
{
|
||||
if ( $line =~ /$pat/ )
|
||||
{
|
||||
print $Fwarn $line;
|
||||
# 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;
|
||||
}
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
# Catch the case of last warning being repeated
|
||||
if ($num_rep) {
|
||||
print $Fwarn ".... repeated $num_rep times: $last_pat";
|
||||
}
|
||||
|
||||
$Fwarn = undef; # Close file
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user