|
@@ -1,25 +1,33 @@
|
|
{$mode objfpc}
|
|
{$mode objfpc}
|
|
{$h+}
|
|
{$h+}
|
|
|
|
+
|
|
unit utests;
|
|
unit utests;
|
|
|
|
|
|
interface
|
|
interface
|
|
|
|
|
|
uses
|
|
uses
|
|
cgiapp,
|
|
cgiapp,
|
|
- sysutils,mysql55conn,sqldb,whtml,dbwhtml,db,
|
|
|
|
- tresults,
|
|
|
|
|
|
+ sysutils,
|
|
|
|
+ pqconnection,
|
|
|
|
+ sqldb,whtml,dbwhtml,db,
|
|
|
|
+ tresults,webutil,
|
|
Classes,ftFont,fpimage,fpimgcanv,fpWritePng,fpcanvas;
|
|
Classes,ftFont,fpimage,fpimgcanv,fpWritePng,fpcanvas;
|
|
|
|
|
|
const
|
|
const
|
|
TestsuiteURLPrefix='http://www.freepascal.org/testsuite/';
|
|
TestsuiteURLPrefix='http://www.freepascal.org/testsuite/';
|
|
TestsuiteBin='testsuite.cgi';
|
|
TestsuiteBin='testsuite.cgi';
|
|
ViewURL='http://svn.freepascal.org/cgi-bin/viewvc.cgi/';
|
|
ViewURL='http://svn.freepascal.org/cgi-bin/viewvc.cgi/';
|
|
- ViewRevURL='http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision=';
|
|
|
|
|
|
+ ViewRevURL='http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision&revision=';
|
|
TestsSubDir='/tests/';
|
|
TestsSubDir='/tests/';
|
|
DataBaseSubDir='/packages/fcl-db/tests/';
|
|
DataBaseSubDir='/packages/fcl-db/tests/';
|
|
|
|
+
|
|
var
|
|
var
|
|
TestsuiteCGIURL : string;
|
|
TestsuiteCGIURL : string;
|
|
|
|
+
|
|
Type
|
|
Type
|
|
|
|
+
|
|
|
|
+ { TTestSuite }
|
|
|
|
+
|
|
TTestSuite = Class(TCgiApplication)
|
|
TTestSuite = Class(TCgiApplication)
|
|
Private
|
|
Private
|
|
FHTMLWriter : THtmlWriter;
|
|
FHTMLWriter : THtmlWriter;
|
|
@@ -56,6 +64,7 @@ Type
|
|
FLimit : Integer;
|
|
FLimit : Integer;
|
|
FTestLastDays : Integer;
|
|
FTestLastDays : Integer;
|
|
FNeedEnd : boolean;
|
|
FNeedEnd : boolean;
|
|
|
|
+ procedure DumpTestInfo(Q: TSQLQuery);
|
|
Procedure GetOverviewRowAttr(Sender : TObject; Var BGColor : String;
|
|
Procedure GetOverviewRowAttr(Sender : TObject; Var BGColor : String;
|
|
Var Align : THTMLAlign; Var VAlign : THTMLValign;
|
|
Var Align : THTMLAlign; Var VAlign : THTMLValign;
|
|
Var CustomAttr : String) ;
|
|
Var CustomAttr : String) ;
|
|
@@ -366,7 +375,8 @@ begin
|
|
FVersion:=RequestVariables['version'];
|
|
FVersion:=RequestVariables['version'];
|
|
if Length(FVersion) = 0 then
|
|
if Length(FVersion) = 0 then
|
|
FVersion:=RequestVariables['TESTVERSION'];
|
|
FVersion:=RequestVariables['TESTVERSION'];
|
|
-
|
|
|
|
|
|
+ TestsuiteCGIURL:=Self.ScriptName;
|
|
|
|
+ SDetailsURL := TestsuiteCGIURL + '?action=1&run1id=%s';
|
|
FOS:=RequestVariables['os'];
|
|
FOS:=RequestVariables['os'];
|
|
if Length(FOS) = 0 then
|
|
if Length(FOS) = 0 then
|
|
FOS:=RequestVariables['TESTOS'];
|
|
FOS:=RequestVariables['TESTOS'];
|
|
@@ -434,7 +444,7 @@ Function TTestSuite.ConnectToDB : Boolean;
|
|
|
|
|
|
begin
|
|
begin
|
|
Result:=False;
|
|
Result:=False;
|
|
- FDB:=TMySQl55Connection.Create(Self);
|
|
|
|
|
|
+ FDB:=TPQConnection.Create(Self);
|
|
FDB.HostName:=DefHost;
|
|
FDB.HostName:=DefHost;
|
|
FDB.DatabaseName:=DefDatabase;
|
|
FDB.DatabaseName:=DefDatabase;
|
|
FDB.UserName:=DefDBUser;
|
|
FDB.UserName:=DefDBUser;
|
|
@@ -548,6 +558,9 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
Procedure TTestSuite.EmitTitle(ATitle : String);
|
|
Procedure TTestSuite.EmitTitle(ATitle : String);
|
|
|
|
+
|
|
|
|
+Var
|
|
|
|
+ S : TStrings;
|
|
begin
|
|
begin
|
|
AddResponseLn('<HTML>');
|
|
AddResponseLn('<HTML>');
|
|
AddResponseLn('<TITLE>'+ATitle+'</TITLE>');
|
|
AddResponseLn('<TITLE>'+ATitle+'</TITLE>');
|
|
@@ -892,7 +905,7 @@ end;
|
|
Procedure TTestSuite.ShowRunOverview;
|
|
Procedure TTestSuite.ShowRunOverview;
|
|
Const
|
|
Const
|
|
SOverview = 'SELECT TU_ID as ID,TU_DATE as Date,TC_NAME as CPU,TO_NAME as OS,'+
|
|
SOverview = 'SELECT TU_ID as ID,TU_DATE as Date,TC_NAME as CPU,TO_NAME as OS,'+
|
|
- 'TV_VERSION as Version,count(*) as Count,'+
|
|
|
|
|
|
+ 'TV_VERSION as Version,(select count(*) from testresults where (TR_TESTRUN_FK=TU_ID)) as Count,'+
|
|
'TU_SVNCOMPILERREVISION as SvnCompRev,'+
|
|
'TU_SVNCOMPILERREVISION as SvnCompRev,'+
|
|
'TU_SVNRTLREVISION as SvnRTLRev,'+
|
|
'TU_SVNRTLREVISION as SvnRTLRev,'+
|
|
'TU_SVNPACKAGESREVISION as SvnPackRev,TU_SVNTESTSREVISION as SvnTestsRev,'+
|
|
'TU_SVNPACKAGESREVISION as SvnPackRev,TU_SVNTESTSREVISION as SvnTestsRev,'+
|
|
@@ -901,11 +914,13 @@ Const
|
|
'(TU_SUCCESSFULLYFAILED+TU_SUCCESFULLYCOMPILED+TU_SUCCESSFULLYRUN+'+
|
|
'(TU_SUCCESSFULLYFAILED+TU_SUCCESFULLYCOMPILED+TU_SUCCESSFULLYRUN+'+
|
|
'TU_FAILEDTOCOMPILE+TU_FAILEDTORUN+TU_FAILEDTOFAIL) as Total,'+
|
|
'TU_FAILEDTOCOMPILE+TU_FAILEDTORUN+TU_FAILEDTOFAIL) as Total,'+
|
|
'TU_SUBMITTER as Submitter, TU_MACHINE as Machine, TU_COMMENT as Comment %s '+
|
|
'TU_SUBMITTER as Submitter, TU_MACHINE as Machine, TU_COMMENT as Comment %s '+
|
|
- 'FROM TESTRUN left join TESTCPU on (TC_ID=TU_CPU_FK) left join TESTOS on (TO_ID=TU_OS_FK) '+
|
|
|
|
- 'left join TESTVERSION on (TV_ID=TU_VERSION_FK) left join TESTCATEGORY on (TCAT_ID=TU_CATEGORY_FK) '+
|
|
|
|
- 'left join TESTRESULTS on (TR_TESTRUN_FK=TU_ID) '+
|
|
|
|
|
|
+ 'FROM '+
|
|
|
|
+ ' TESTRUN '+
|
|
|
|
+ ' left join TESTCPU on (TC_ID=TU_CPU_FK) '+
|
|
|
|
+ ' left join TESTOS on (TO_ID=TU_OS_FK) '+
|
|
|
|
+ ' left join TESTVERSION on (TV_ID=TU_VERSION_FK) '+
|
|
|
|
+ ' left join TESTCATEGORY on (TCAT_ID=TU_CATEGORY_FK) '+
|
|
'%s'+
|
|
'%s'+
|
|
- 'GROUP BY TU_ID '+
|
|
|
|
'ORDER BY TU_ID DESC LIMIT %d';
|
|
'ORDER BY TU_ID DESC LIMIT %d';
|
|
|
|
|
|
|
|
|
|
@@ -933,11 +948,9 @@ begin
|
|
S:=S+' AND (TU_COMMENT LIKE '''+Fcomment+''')';
|
|
S:=S+' AND (TU_COMMENT LIKE '''+Fcomment+''')';
|
|
If FCond<>'' then
|
|
If FCond<>'' then
|
|
S:=S+' AND ('+FCond+')';
|
|
S:=S+' AND ('+FCond+')';
|
|
- If FOnlyFailed then
|
|
|
|
- S:=S+' AND (TR_OK="-")';
|
|
|
|
If GetCategoryName(FCategory)<>'DB' then
|
|
If GetCategoryName(FCategory)<>'DB' then
|
|
- SC:=', CONCAT(TU_SVNCOMPILERREVISION,"/",TU_SVNRTLREVISION,"/", '+
|
|
|
|
- 'TU_SVNPACKAGESREVISION,"/",TU_SVNTESTSREVISION) as svnrev'
|
|
|
|
|
|
+ SC:=', CONCAT(TU_SVNCOMPILERREVISION,''/'',TU_SVNRTLREVISION,''/'', '+
|
|
|
|
+ 'TU_SVNPACKAGESREVISION,''/'',TU_SVNTESTSREVISION) as svnrev'
|
|
else
|
|
else
|
|
SC:='';
|
|
SC:='';
|
|
If (FCategory='') or (GetCategoryName(FCategory)='All') then
|
|
If (FCategory='') or (GetCategoryName(FCategory)='All') then
|
|
@@ -1088,8 +1101,8 @@ begin
|
|
If Result then
|
|
If Result then
|
|
begin
|
|
begin
|
|
If GetCategoryName(FCategory)<>'DB' then
|
|
If GetCategoryName(FCategory)<>'DB' then
|
|
- SC:=', CONCAT(TU_SVNCOMPILERREVISION,"/",TU_SVNRTLREVISION,"/", '+
|
|
|
|
- 'TU_SVNPACKAGESREVISION,"/",TU_SVNTESTSREVISION) as svnrev'
|
|
|
|
|
|
+ SC:=', CONCAT(TU_SVNCOMPILERREVISION,''/'',TU_SVNRTLREVISION,''/'', '+
|
|
|
|
+ 'TU_SVNPACKAGESREVISION,''/'',TU_SVNTESTSREVISION) as svnrev'
|
|
else
|
|
else
|
|
SC:='';
|
|
SC:='';
|
|
If GetCategoryName(FCategory)='All' then
|
|
If GetCategoryName(FCategory)='All' then
|
|
@@ -1397,9 +1410,9 @@ begin
|
|
+' WHERE (TR_TEST_FK=T_ID) AND (TR_TESTRUN_FK='+FRunID+') ';
|
|
+' WHERE (TR_TEST_FK=T_ID) AND (TR_TESTRUN_FK='+FRunID+') ';
|
|
|
|
|
|
If FOnlyFailed then
|
|
If FOnlyFailed then
|
|
- S:=S+' AND (TR_OK="-")';
|
|
|
|
|
|
+ S:=S+' AND (not TR_OK)';
|
|
If FNoSkipped then
|
|
If FNoSkipped then
|
|
- S:=S+' AND (TR_SKIP="-")';
|
|
|
|
|
|
+ S:=S+' AND (not TR_SKIP)';
|
|
S:=S+' ORDER BY TR_ID ';
|
|
S:=S+' ORDER BY TR_ID ';
|
|
Qry:=S;
|
|
Qry:=S;
|
|
If FDebug then
|
|
If FDebug then
|
|
@@ -1466,6 +1479,33 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+Procedure TTestSuite.DumpTestInfo(Q : TSQLQuery);
|
|
|
|
+
|
|
|
|
+Var
|
|
|
|
+ I : Integer;
|
|
|
|
+ FieldValue,FieldName : String;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ With FHTMLWriter do
|
|
|
|
+ For i:=0 to Q.FieldCount-1 do
|
|
|
|
+ begin
|
|
|
|
+ FieldValue:=Q.Fields[i].AsString;
|
|
|
|
+ FieldName:=Q.Fields[i].DisplayName;
|
|
|
|
+ if (Not Q.fields[i].IsNull) and (FieldName<>'T_NAME') and (FieldName<>'T_SOURCE') then
|
|
|
|
+ begin
|
|
|
|
+ if (Q.Fields[i].Datatype=ftBoolean) then
|
|
|
|
+ DumpLn('Flag ');
|
|
|
|
+ DumpLn(FieldName);
|
|
|
|
+ DumpLn(' ');
|
|
|
|
+ if (Q.Fields[i].DataType=ftBoolean) and Q.Fields[i].AsBoolean then
|
|
|
|
+ DumpLn(' set')
|
|
|
|
+ else
|
|
|
|
+ DumpLn(FieldValue);
|
|
|
|
+ DumpLn('<BR>');
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+end;
|
|
|
|
+
|
|
Procedure TTestSuite.ShowOneTest;
|
|
Procedure TTestSuite.ShowOneTest;
|
|
|
|
|
|
Var
|
|
Var
|
|
@@ -1484,8 +1524,7 @@ begin
|
|
EmitContentType;
|
|
EmitContentType;
|
|
EmitDocType;
|
|
EmitDocType;
|
|
if FTestFileID='' then
|
|
if FTestFileID='' then
|
|
- FTestFileID:=GetSingleton('SELECT T_ID FROM TESTS WHERE T_NAME LIKE ''%'+
|
|
|
|
- FTestFileName+'%''');
|
|
|
|
|
|
+ FTestFileID:=GetSingleton('SELECT T_ID FROM TESTS WHERE T_NAME LIKE ''%'+FTestFileName+'%''');
|
|
if FTestFileID<>'' then
|
|
if FTestFileID<>'' then
|
|
FTestFileName:=GetTestFileName(FTestFileID);
|
|
FTestFileName:=GetTestFileName(FTestFileID);
|
|
EmitTitle(Title+' : File '+FTestFileName+' Results');
|
|
EmitTitle(Title+' : File '+FTestFileName+' Results');
|
|
@@ -1527,26 +1566,7 @@ begin
|
|
Try
|
|
Try
|
|
Open;
|
|
Open;
|
|
Try
|
|
Try
|
|
- For i:=0 to FieldCount-1 do
|
|
|
|
- begin
|
|
|
|
- FieldValue:=Fields[i].AsString;
|
|
|
|
- FieldName:=Fields[i].DisplayName;
|
|
|
|
-
|
|
|
|
- if (FieldValue<>'') and (FieldValue<>'-') and
|
|
|
|
- (FieldName<>'T_NAME') and (FieldName<>'T_SOURCE') then
|
|
|
|
- begin
|
|
|
|
- if (FieldValue='+') then
|
|
|
|
- DumpLn('Flag ');
|
|
|
|
- DumpLn(FieldName);
|
|
|
|
- DumpLn(' ');
|
|
|
|
- if FieldValue='+' then
|
|
|
|
- DumpLn(' set')
|
|
|
|
- else
|
|
|
|
- DumpLn(FieldValue);
|
|
|
|
- DumpLn('<BR>');
|
|
|
|
- end;
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
|
|
+ DumpTestInfo(Q);
|
|
Finally
|
|
Finally
|
|
Close;
|
|
Close;
|
|
end;
|
|
end;
|
|
@@ -1746,8 +1766,10 @@ end;
|
|
|
|
|
|
|
|
|
|
Procedure TTestSuite.ShowHistory;
|
|
Procedure TTestSuite.ShowHistory;
|
|
|
|
+
|
|
Const
|
|
Const
|
|
MaxCombo = 50;
|
|
MaxCombo = 50;
|
|
|
|
+
|
|
Type
|
|
Type
|
|
StatusLongintArray = Array [TTestStatus] of longint;
|
|
StatusLongintArray = Array [TTestStatus] of longint;
|
|
StatusDateTimeArray = Array [TTestStatus] of TDateTime;
|
|
StatusDateTimeArray = Array [TTestStatus] of TDateTime;
|
|
@@ -1755,6 +1777,7 @@ Type
|
|
AStatusDTA = Array[1..MaxCombo] of StatusDateTimeArray;
|
|
AStatusDTA = Array[1..MaxCombo] of StatusDateTimeArray;
|
|
PStatusLA = ^AStatusLA;
|
|
PStatusLA = ^AStatusLA;
|
|
PStatusDTA = ^AStatusDTA;
|
|
PStatusDTA = ^AStatusDTA;
|
|
|
|
+
|
|
Var
|
|
Var
|
|
S,SS,FL,cpu,version,os : String;
|
|
S,SS,FL,cpu,version,os : String;
|
|
date : TDateTime;
|
|
date : TDateTime;
|
|
@@ -1782,8 +1805,9 @@ Var
|
|
version_first_date_id, version_last_date_id : PStatusLA;
|
|
version_first_date_id, version_last_date_id : PStatusLA;
|
|
FieldName,FieldValue,
|
|
FieldName,FieldValue,
|
|
LLog,Source : String;
|
|
LLog,Source : String;
|
|
- Res : Boolean;
|
|
|
|
|
|
+ B,Res : Boolean;
|
|
ver : known_versions;
|
|
ver : known_versions;
|
|
|
|
+
|
|
begin
|
|
begin
|
|
Res:=False;
|
|
Res:=False;
|
|
os_count:=nil;
|
|
os_count:=nil;
|
|
@@ -1855,25 +1879,7 @@ begin
|
|
Try
|
|
Try
|
|
Open;
|
|
Open;
|
|
Try
|
|
Try
|
|
- For i:=0 to FieldCount-1 do
|
|
|
|
- begin
|
|
|
|
- FieldValue:=Fields[i].AsString;
|
|
|
|
- FieldName:=Fields[i].DisplayName;
|
|
|
|
- if (FieldValue<>'') and (FieldValue<>'-') and
|
|
|
|
- (FieldName<>'T_NAME') and (FieldName<>'T_SOURCE') then
|
|
|
|
- begin
|
|
|
|
- if (FieldValue='+') then
|
|
|
|
- DumpLn('Flag ');
|
|
|
|
- DumpLn(FieldName);
|
|
|
|
- DumpLn(' ');
|
|
|
|
- if FieldValue='+' then
|
|
|
|
- DumpLn(' set')
|
|
|
|
- else
|
|
|
|
- DumpLn(FieldValue);
|
|
|
|
- DumpLn('<BR>');
|
|
|
|
- end;
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
|
|
+ DumpTestInfo(Q);
|
|
Finally
|
|
Finally
|
|
Close;
|
|
Close;
|
|
end;
|
|
end;
|
|
@@ -2048,14 +2054,11 @@ begin
|
|
begin
|
|
begin
|
|
Q.RecNo:=i;
|
|
Q.RecNo:=i;
|
|
inc(total_count);
|
|
inc(total_count);
|
|
- S:=Fields[ok_ind].AsString;
|
|
|
|
-
|
|
|
|
- if S='+' then
|
|
|
|
|
|
+ if Q.Fields[ok_ind].AsBoolean then
|
|
inc(OK_count)
|
|
inc(OK_count)
|
|
else
|
|
else
|
|
inc(not_OK_count);
|
|
inc(not_OK_count);
|
|
- S:=Fields[skip_ind].AsString;
|
|
|
|
- if S='+' then
|
|
|
|
|
|
+ if Fields[skip_ind].AsBoolean then
|
|
inc(skip_count)
|
|
inc(skip_count)
|
|
else
|
|
else
|
|
inc(not_skip_count);
|
|
inc(not_skip_count);
|
|
@@ -2529,35 +2532,26 @@ begin
|
|
HeaderEnd(2);
|
|
HeaderEnd(2);
|
|
ParaGraphStart;
|
|
ParaGraphStart;
|
|
Q:=CreateDataset('');
|
|
Q:=CreateDataset('');
|
|
- Q.SQL.Text:='CREATE TEMPORARY TABLE tr1 like TESTRESULTS;';
|
|
|
|
- Q.ExecSQL;
|
|
|
|
- Q.SQL.Text:='CREATE TEMPORARY TABLE tr2 like TESTRESULTS;';
|
|
|
|
- Q.ExecSQL;
|
|
|
|
- Q.SQL.Text:='INSERT INTO tr1 SELECT * FROM '+TESTRESULTSTableName(FRunId)+
|
|
|
|
-
|
|
|
|
- ' WHERE TR_TESTRUN_FK='+FRunID+';';
|
|
|
|
- Q.ExecSQL;
|
|
|
|
- Q.SQL.Text:='INSERT INTO tr2 SELECT * FROM '+TESTRESULTSTableName(FCompareRunId)+
|
|
|
|
- ' WHERE TR_TESTRUN_FK='+FCompareRunID+';';
|
|
|
|
- Q.ExecSQL;
|
|
|
|
- S:='SELECT T_ID as Id,T_NAME as Filename,tr1.TR_SKIP as Run1_Skipped,'
|
|
|
|
|
|
+ S:='with tr1 as (SELECT * FROM '+TESTRESULTSTableName(FRunId)+ ' WHERE TR_TESTRUN_FK='+FRunID+'), '+
|
|
|
|
+ ' tr2 as (SELECT * FROM '+TESTRESULTSTableName(FCompareRunId)+' WHERE TR_TESTRUN_FK='+FCompareRunID+')'+
|
|
|
|
+ ' SELECT T_ID as id,T_NAME as Filename,tr1.TR_SKIP as Run1_Skipped,'
|
|
+'tr2.TR_SKIP as Run2_Skipped,tr1.TR_OK as Run1_OK,'
|
|
+'tr2.TR_SKIP as Run2_Skipped,tr1.TR_OK as Run1_OK,'
|
|
+'tr2.TR_OK as Run2_OK, tr1.TR_Result as Run1_Result,'
|
|
+'tr2.TR_OK as Run2_OK, tr1.TR_Result as Run1_Result,'
|
|
+'tr2.TR_RESULT as Run2_Result '
|
|
+'tr2.TR_RESULT as Run2_Result '
|
|
+'FROM TESTS, tr2 LEFT JOIN tr1 USING (TR_TEST_FK) '
|
|
+'FROM TESTS, tr2 LEFT JOIN tr1 USING (TR_TEST_FK) '
|
|
- +'WHERE ((tr1.TR_SKIP IS NULL) or'
|
|
|
|
- +' (tr2.TR_SKIP IS NULL) or '
|
|
|
|
|
|
+ +'WHERE ((tr1.TR_SKIP IS NULL) or (tr2.TR_SKIP IS NULL) or '
|
|
+' (%s (tr1.TR_Result<>tr2.TR_Result)))'
|
|
+' (%s (tr1.TR_Result<>tr2.TR_Result)))'
|
|
+'and (T_ID=tr2.TR_TEST_FK)';
|
|
+'and (T_ID=tr2.TR_TEST_FK)';
|
|
If FNoSkipped then
|
|
If FNoSkipped then
|
|
begin
|
|
begin
|
|
- Qry:='(((tr1.TR_SKIP="+") and (tr2.TR_OK="-") and (tr2.TR_SKIP="-")) or '
|
|
|
|
- +'((tr1.TR_OK="-") and (tr1.TR_SKIP="-") and (tr2.TR_SKIP="+")) or '
|
|
|
|
- +'((tr1.TR_SKIP="-") and (tr2.TR_SKIP="-"))) and ';
|
|
|
|
|
|
+ Qry:='(((tr1.TR_SKIP) and (not tr2.TR_OK) and (not tr2.TR_SKIP)) or '
|
|
|
|
+ +'((not tr1.TR_OK) and (not tr1.TR_SKIP) and (tr2.TR_SKIP)) or '
|
|
|
|
+ +'((not tr1.TR_SKIP) and (not tr2.TR_SKIP))) and ';
|
|
end
|
|
end
|
|
else
|
|
else
|
|
Qry:='';
|
|
Qry:='';
|
|
Qry:=Format(S,[Qry]);
|
|
Qry:=Format(S,[Qry]);
|
|
|
|
+// DumpLn(Qry);
|
|
If FDebug then
|
|
If FDebug then
|
|
begin
|
|
begin
|
|
system.WriteLn('Query: '+Qry);
|
|
system.WriteLn('Query: '+Qry);
|
|
@@ -2646,25 +2640,25 @@ begin
|
|
Run2Field := P.Dataset.FindField('OK');
|
|
Run2Field := P.Dataset.FindField('OK');
|
|
if Run2Field = nil then
|
|
if Run2Field = nil then
|
|
Run2Field := P.Dataset.FindField('Run2_OK');
|
|
Run2Field := P.Dataset.FindField('Run2_OK');
|
|
- If (not FNoSkipped) and ((Skip1Field.AsString='+')
|
|
|
|
- or ((Skip2Field <> nil) and (Skip2Field.AsString = '+'))) then
|
|
|
|
|
|
+ If (not FNoSkipped) and ((Skip1Field.AsBoolean)
|
|
|
|
+ or ((Skip2Field <> nil) and (Skip2Field.AsBoolean))) then
|
|
begin
|
|
begin
|
|
Inc(FRunSkipCount);
|
|
Inc(FRunSkipCount);
|
|
BGColor:='yellow'; // Yellow
|
|
BGColor:='yellow'; // Yellow
|
|
end
|
|
end
|
|
- else If Run2Field.AsString='+' then
|
|
|
|
|
|
+ else If Run2Field.AsBoolean then
|
|
begin
|
|
begin
|
|
if Run1Field.AsString='' then
|
|
if Run1Field.AsString='' then
|
|
BGColor:='#68DFB8'
|
|
BGColor:='#68DFB8'
|
|
- else if Run1Field.ASString<>'+' then
|
|
|
|
|
|
+ else if Run1Field.AsBoolean then
|
|
BGColor:='#98FB98'; // pale Green
|
|
BGColor:='#98FB98'; // pale Green
|
|
end
|
|
end
|
|
- else if Run2Field.AsString='-' then
|
|
|
|
|
|
+ else if Not Run2Field.AsBoolean then
|
|
begin
|
|
begin
|
|
Inc(FRunFailedCount);
|
|
Inc(FRunFailedCount);
|
|
if Run1Field.AsString='' then
|
|
if Run1Field.AsString='' then
|
|
BGColor:='#FF82AB' // Light red
|
|
BGColor:='#FF82AB' // Light red
|
|
- else if Run1Field.AsString<>'-' then
|
|
|
|
|
|
+ else if Not Run1Field.AsBoolean then
|
|
BGColor:='#FF225B';
|
|
BGColor:='#FF225B';
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
@@ -2971,6 +2965,5 @@ begin
|
|
else
|
|
else
|
|
TestsuiteCGIURL:=TestsuiteURLPrefix+'cgi-bin/'+TestsuiteBin;
|
|
TestsuiteCGIURL:=TestsuiteURLPrefix+'cgi-bin/'+TestsuiteBin;
|
|
|
|
|
|
- SDetailsURL := TestsuiteCGIURL + '?action=1&run1id=%s';
|
|
|
|
ShortDateFormat:='yyyy/mm/dd';
|
|
ShortDateFormat:='yyyy/mm/dd';
|
|
end.
|
|
end.
|