From 3a9ed7db727b1ccd9c9d49b109291e0a874da860 Mon Sep 17 00:00:00 2001
From: pierre <pierre@freepascal.org>
Date: Wed, 24 May 2017 21:53:01 +0000
Subject: [PATCH]  Limit log size to 50000, and add all testrun information at
 start

git-svn-id: trunk@36317 -
---
 tests/utils/dbdigest.pp | 12 +++++++++---
 tests/utils/testu.pp    |  5 ++++-
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/tests/utils/dbdigest.pp b/tests/utils/dbdigest.pp
index 1fce9ec2b3..16c396a6fe 100644
--- a/tests/utils/dbdigest.pp
+++ b/tests/utils/dbdigest.pp
@@ -402,7 +402,8 @@ Var
   ConfigID : Integer;
 
 Procedure GetIDs;
-
+var
+  qry : string;
 begin
   TestCPUID := GetCPUId(TestCPU);
   If TestCPUID=-1 then
@@ -425,11 +426,15 @@ begin
   If (TestRunID=-1) then
     begin
     TestRunID:=AddRun(TestOSID,TestCPUID,TestVersionID,TestCategoryID,TestDate);
-    If TestRUnID=-1 then
+    If TestRunID=-1 then
       Verbose(V_Error,'Could not insert new testrun record!');
     end
   else
     CleanTestRun(TestRunID);
+  { Add known infomration at start }
+  qry:=format('UPDATE TESTRUN SET TU_SUBMITTER=''%s'', TU_MACHINE=''%s'', TU_COMMENT=''%s'', TU_DATE=''%s''',[Submitter,Machine,Comment,SqlDate(TestDate)]);
+  qry:=qry+' WHERE TU_ID='+format('%d',[TestRunID]);
+  ExecuteQuery(Qry,False);
 end;
 
 
@@ -467,7 +472,8 @@ begin
               { End of file marker }
               if eof(LongLogFile) or (pos('>>>>>>>>>>>',S)=1) then
                 exit;
-              Result:=Result+S+LineEnding;
+              if length(Result)<MaxLogSize then
+                Result:=Result+S+LineEnding;
             end;
         end
       else if IsFirst then
diff --git a/tests/utils/testu.pp b/tests/utils/testu.pp
index 0c424aa6f4..966b10dc46 100644
--- a/tests/utils/testu.pp
+++ b/tests/utils/testu.pp
@@ -49,6 +49,8 @@ type
 Const
   DoVerbose : boolean = false;
   DoSQL     : boolean = false;
+  MaxLogSize : LongInt = 50000;
+
 
 procedure TrimB(var s:string);
 procedure TrimE(var s:string);
@@ -320,7 +322,8 @@ begin
   While Not(EOF(F)) do
     begin
     ReadLn(F,S);
-    Result:=Result+S+LineEnding;
+    if length(Result)<MaxLogSize then
+      Result:=Result+S+LineEnding;
     end;
   Close(F);
 end;