1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
unit xrltest;
{$mode objfpc}
{$h+}
interface
uses custapp, Classes, SysUtils, fpcunit, testreport, testregistry;
type
TestRunner = class(TCustomApplication)
private
FXMLResultsWriter: TXMLResultsWriter;
protected
procedure DoRun ; Override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
constructor TestRunner.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FXMLResultsWriter := TXMLResultsWriter.Create;
end;
destructor TestRunner.Destroy;
begin
FXMLResultsWriter.Free;
end;
procedure TestRunner.DoRun;
var
testResult: TTestResult;
failuresPlusErrors : integer;
begin
testResult := TTestResult.Create;
try
testResult.AddListener(FXMLResultsWriter);
GetTestRegistry.Run(testResult);
FXMLResultsWriter.WriteResult(testResult);
finally
failuresPlusErrors := testResult.NumberOfErrors + testResult.NumberOfFailures;
testResult.Free;
end;
if failuresPlusErrors > 0 then
ExitCode := 1;
Terminate;
end;
end.
|