瀏覽代碼

* Fixes after tests with foreign keys enabled

Michaël Van Canneyt 6 月之前
父節點
當前提交
6da401b1c3
共有 3 個文件被更改,包括 29 次插入10 次删除
  1. 6 2
      tests/utils/dbdigest.pp
  2. 8 8
      tests/utils/digestanalyst.pas
  3. 15 0
      tests/utils/testsuite.sql

+ 6 - 2
tests/utils/dbdigest.pp

@@ -243,9 +243,9 @@ begin
     'S','testsrcdir': aConfig.testsrcdir:=aValue;
     'S','testsrcdir': aConfig.testsrcdir:=aValue;
     'r','relsrcdir': aConfig.relsrcdir:=aValue;
     'r','relsrcdir': aConfig.relsrcdir:=aValue;
     'V','verbose': DoVerbose:=True;
     'V','verbose': DoVerbose:=True;
+    'sql': dosql:=true;
     'T','threadlist' : ; // treated elsewhere
     'T','threadlist' : ; // treated elsewhere
     'j','threadcount' : ; // treated elsewhere
     'j','threadcount' : ; // treated elsewhere
-    //  'S','sql': aConfig.sql:=aValue;
     'compilerdate': aData.CompilerDate:=aValue;
     'compilerdate': aData.CompilerDate:=aValue;
     'compilerfullversion': aData.CompilerFullVersion:=aValue;
     'compilerfullversion': aData.CompilerFullVersion:=aValue;
     'svncompilerrevision': aData.CompilerRevision:=aValue;
     'svncompilerrevision': aData.CompilerRevision:=aValue;
@@ -376,7 +376,11 @@ function TDBDigestApplication.ProcessCommandLine(var aConfig: TDigestConfig; var
     Result:=['help'];
     Result:=['help'];
     SetLength(Result,1+Length(S));
     SetLength(Result,1+Length(S));
     For I:=0 to Length(S)-1 do
     For I:=0 to Length(S)-1 do
-      Result[1+i]:=S[I]+':'
+      begin
+      Result[1+I]:=S[I];
+      if (S[I]<>'verbose') and (S[I]<>'sql') then
+        Result[1+I]:=Result[1+I]+':';
+      end;  
   end;
   end;
 
 
 var
 var

+ 8 - 8
tests/utils/digestanalyst.pas

@@ -116,6 +116,8 @@ begin
   aData.CPUID := FDB.GetCPUID(aData.CPU);
   aData.CPUID := FDB.GetCPUID(aData.CPU);
   aData.OSID := FDB.GetOSID(aData.OS);
   aData.OSID := FDB.GetOSID(aData.OS);
   aData.VersionID := FDB.GetVersionID(aData.Version);
   aData.VersionID := FDB.GetVersionID(aData.Version);
+  if aData.Category='' then
+    aData.Category:='Compiler/RTL';
   aData.CategoryID := FDB.GetCategoryID(aData.Category);
   aData.CategoryID := FDB.GetCategoryID(aData.Category);
   aData.PlatformID := FDB.GetPlatformID(aData,True);
   aData.PlatformID := FDB.GetPlatformID(aData,True);
   If (Round(aData.Date)=0) then
   If (Round(aData.Date)=0) then
@@ -127,14 +129,12 @@ begin
   If (aData.RunID<>-1) then
   If (aData.RunID<>-1) then
     FDB.CleanTestRun(aData.RunID)
     FDB.CleanTestRun(aData.RunID)
   else
   else
-    begin
     aData.RunID:=FDB.AddRun(aData);
     aData.RunID:=FDB.AddRun(aData);
-    Result:=aData.RunID<>-1;
-    if not Result then
-      begin
-      Verbose(V_Error,'Could not insert new testrun record!');
-      exit;
-      end;
+  Result:=aData.RunID<>-1;
+  if not Result then
+    begin
+    Verbose(V_Error,'Could not insert new testrun record!');
+    exit;
     end;
     end;
 end;
 end;
 
 
@@ -332,6 +332,7 @@ var
 
 
 begin
 begin
   lPrev:=Default(TTestResultData);
   lPrev:=Default(TTestResultData);
+  lResult:=Default(TTestResultData);
   // init data common to the whole testrun
   // init data common to the whole testrun
   lResult.RunID:=aData.RunID;
   lResult.RunID:=aData.RunID;
   lResult.PlatFormID:=aData.PlatFormID;
   lResult.PlatFormID:=aData.PlatFormID;
@@ -349,7 +350,6 @@ begin
     LogFile.LoadFromFile(aFileName);
     LogFile.LoadFromFile(aFileName);
     For FullLine in LogFile do
     For FullLine in LogFile do
       begin
       begin
-        lResult:=Default(TTestResultData);
         line:=fullline;
         line:=fullline;
         TS:=stFailedToCompile;
         TS:=stFailedToCompile;
         lResult.TestResult:=TS;
         lResult.TestResult:=TS;

+ 15 - 0
tests/utils/testsuite.sql

@@ -9,8 +9,11 @@ CREATE DATABASE testsuite
     LC_COLLATE = 'en_GB.UTF-8'
     LC_COLLATE = 'en_GB.UTF-8'
     LC_CTYPE = 'en_GB.UTF-8'
     LC_CTYPE = 'en_GB.UTF-8'
     TABLESPACE = pg_default
     TABLESPACE = pg_default
+    template = 'template0'
     CONNECTION LIMIT = -1
     CONNECTION LIMIT = -1
     IS_TEMPLATE = False;
     IS_TEMPLATE = False;
+    
+\c testsuite    
 
 
 CREATE SEQUENCE SEQ_TESTCATEGORY as INT start with 1;
 CREATE SEQUENCE SEQ_TESTCATEGORY as INT start with 1;
 
 
@@ -162,6 +165,18 @@ CREATE TABLE TESTPREVIOUSRESULTS (
 
 
 CREATE UNIQUE INDEX UDX_TESTPREVIOUSRESULTS ON TESTPREVIOUSRESULTS(TPR_PLATFORM_FK,TPR_TEST_FK);
 CREATE UNIQUE INDEX UDX_TESTPREVIOUSRESULTS ON TESTPREVIOUSRESULTS(TPR_PLATFORM_FK,TPR_TEST_FK);
 
 
+-- Create relations
+
+ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_os FOREIGN KEY (tp_os_fk) REFERENCES testos (to_id);
+ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_cpu FOREIGN KEY (tp_cpu_fk) REFERENCES testcpu (tc_id);
+ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_version FOREIGN KEY (tp_version_fk) REFERENCES testversion (tv_id);
+ALTER TABLE testplatform ADD CONSTRAINT fk_plaform_category FOREIGN KEY (tp_category_fk) REFERENCES testcategory (ta_id);
+ALTER TABLE testrun ADD CONSTRAINT fk_run_platform FOREIGN KEY (tu_platform_fk) REFERENCES testplatform (tp_id);
+ALTER TABLE testresults ADD CONSTRAINT fk_results_run FOREIGN KEY (tr_testrun_fk) REFERENCES testrun (tu_id);
+ALTER TABLE testresults ADD CONSTRAINT fk_results_test FOREIGN KEY (tr_test_fk) REFERENCES tests (t_id);
+
+-- Insert default data
+
 INSERT INTO TESTCATEGORY VALUES (1, 'Compiler/RTL');
 INSERT INTO TESTCATEGORY VALUES (1, 'Compiler/RTL');
 INSERT INTO TESTCATEGORY VALUES (2, 'DB');
 INSERT INTO TESTCATEGORY VALUES (2, 'DB');
 ALTER SEQUENCE SEQ_TESTCATEGORY RESTART WITH 3;
 ALTER SEQUENCE SEQ_TESTCATEGORY RESTART WITH 3;