Browse Source

* Handle "internalerror generated" suffix found in log file, but not in longlog

Michaël Van Canneyt 5 months ago
parent
commit
e7ae1f9152
1 changed files with 10 additions and 2 deletions
  1. 10 2
      tests/utils/digestanalyst.pas

+ 10 - 2
tests/utils/digestanalyst.pas

@@ -31,6 +31,7 @@ Type
     UnknownLines : integer;
     UnknownLines : integer;
     UseLongLog : Boolean;
     UseLongLog : Boolean;
     FCurLongLogLine : Integer;
     FCurLongLogLine : Integer;
+    FLongLogRestartCount : Integer;
     FPrefix : String;
     FPrefix : String;
     // Call global verbose with prefix to message.
     // Call global verbose with prefix to message.
     procedure Verbose(aLevel : TVerboseLevel; const aMsg : string);
     procedure Verbose(aLevel : TVerboseLevel; const aMsg : string);
@@ -188,11 +189,17 @@ function TDBDigestAnalyzer.GetContentsFromLongLog(Line: String): String;
 var
 var
   S : String;
   S : String;
   IsFirst, IsFound : boolean;
   IsFirst, IsFound : boolean;
+  InternalErrorPos : Integer;
 
 
 begin
 begin
   Result:='';
   Result:='';
-  IsFirst:=true;
-  IsFound:=false;
+  { The "internalerror generated" message is not present in compilation log }
+  InternalErrorPos:=pos(' internalerror generated',Line);
+  if (InternalErrorPos>0) then
+    begin
+    Line:=Copy(Line,1,InternalErrorPos-1);
+    end;IsFirst:=true;
+   IsFound:=false;
   While HaveLongLogLine do
   While HaveLongLogLine do
     begin
     begin
       S:=GetLongLogLine;
       S:=GetLongLogLine;
@@ -227,6 +234,7 @@ begin
     begin
     begin
     Verbose(V_Warning,'Line "'+Line+'" not found');
     Verbose(V_Warning,'Line "'+Line+'" not found');
     FCurlongLogLine:=0; // Reset
     FCurlongLogLine:=0; // Reset
+    Inc(FLongLogRestartCount);
     end;
     end;
 end;
 end;