From 80bc39ebc90ec65f0be062de6c781f8e8f3bcae6 Mon Sep 17 00:00:00 2001 From: Kornel Benko Date: Tue, 16 May 2017 16:45:18 +0200 Subject: [PATCH] keytests: Extend the search algorithm to pattern with more as 2 lines --- development/autotests/searchPatterns.pl | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/development/autotests/searchPatterns.pl b/development/autotests/searchPatterns.pl index 3944ba94e0..7b3acf0f93 100755 --- a/development/autotests/searchPatterns.pl +++ b/development/autotests/searchPatterns.pl @@ -159,8 +159,6 @@ sub readPatterns($) sub processLogFile($) { my ($log) = @_; - my $prevl = "\n"; - my $found; my $errors = 1; my @savedlines = (); @@ -181,6 +179,11 @@ sub processLogFile($) } #print "Searching for \"$pat\"\n"; $found = 0; + my $prevlines = () = $pat =~ /\\n/g; # Number of lines in pattern + my @prevl = (); + for (my $i = 0; $i <= $prevlines; $i++) { + push(@prevl, "\n"); + } my @lines = (); if ($readsavedlines) { # Last regex not found @@ -200,13 +203,20 @@ sub processLogFile($) $l = ; } last if (! $l); - my $check = $prevl . $l; - $prevl = $l; + for (my $i = 0; $i < $prevlines; $i++) { + $prevl[$i] = $prevl[$i+1]; + } + $prevl[$prevlines] = $l; + my $check = join("", @prevl); $line++; if ($check =~ /$pat/) { - print "$line:\tfound \"$pat\"\n"; + my $fline = $line - $prevlines; + print "$fline:\tfound \"$pat\"\n"; $found = 1; - $prevl = "\n"; # Don't search this line again + # Do not search in already found area + for (my $i = 0; $i <= $prevlines; $i++) { + $prevl[$i] = "\n"; + } if ($readsavedlines) { @savedlines = @lines; } -- 2.39.2