fpc/packages/fcl-db/tests/dbtestframework.pas
michael fbe36d91da * Fix bug ID #31385
git-svn-id: trunk@42974 -
2019-09-11 07:40:44 +00:00

96 lines
2.0 KiB
ObjectPascal

program dbtestframework;
{$IFDEF FPC}
{$mode objfpc}{$H+}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$ifdef unix}
cwstring,
{$endif}
SysUtils,
fpcunit, testreport, testregistry,
DigestTestReport,
toolsunit,
// List of supported database connectors
sqldbtoolsunit,
dbftoolsunit,
bufdatasettoolsunit,
memdstoolsunit,
SdfDSToolsUnit,
{$IFDEF TEST_SQLITE3DS}
Sqlite3DSToolsUnit,
TestSpecificTSqlite3Dataset,
{$ENDIF}
// Units wich contain the tests
tcsdfdata,
TestBasics,
TestDBBasics,
TestFieldTypes,
TestDatasources,
TestBufDatasetStreams,
TestSQLDB,
TestSpecificTBufDataset,
TestSpecificTDBF,
TestSpecificTMemDataset,
TestDBExport,
tccsvdataset,
testsqlscript,
consoletestrunner;
Procedure LegacyOutput;
var
FXMLResultsWriter: TXMLResultsWriter;
FDigestResultsWriter: TDigestResultsWriter;
testResult: TTestResult;
begin
testResult := TTestResult.Create;
FXMLResultsWriter := TXMLResultsWriter.Create;
FDigestResultsWriter := TDigestResultsWriter.Create(nil);
try
testResult.AddListener(FXMLResultsWriter);
testResult.AddListener(FDigestResultsWriter);
FDigestResultsWriter.Comment:=dbtype;
FDigestResultsWriter.Category:='DB';
FDigestResultsWriter.RelSrcDir:='fcl-db';
FXMLResultsWriter.WriteHeader;
// FdiDBResultsWriter.OpenConnection(dbconnectorname+';'+dbconnectorparams);
GetTestRegistry.Run(testResult);
FXMLResultsWriter.WriteResult(testResult);
finally
testResult.Free;
FXMLResultsWriter.Free;
FDigestResultsWriter.Free;
end;
end;
Var
Application : TTestRunner;
begin
InitialiseDBConnector;
Try
Application:=TTestRunner.Create(nil);
With Application do
try
if HasOption('g','legacy') then
LegacyOutput
else
begin
DefaultFormat:=fplain;
DefaultRunAllTests:=True;
Initialize;
Run;
end;
finally
Free;
end;
Finally
FreeDBConnector;
end;
end.