-
Notifications
You must be signed in to change notification settings - Fork 8
/
Prometheus.Test.dpr
80 lines (74 loc) · 2.36 KB
/
Prometheus.Test.dpr
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
program Prometheus.Test;
{$IFNDEF TESTINSIGHT}
{$APPTYPE CONSOLE}
{$ENDIF}
{$STRONGLINKTYPES ON}
uses
System.SysUtils,
{$IFDEF TESTINSIGHT}
TestInsight.DUnitX,
{$ELSE}
DUnitX.Loggers.Console,
{$ENDIF }
DUnitX.TestFramework,
Test.Labels in 'test\Test.Labels.pas',
Prometheus.Metrics in 'source\Prometheus.Metrics.pas',
Test.Metrics in 'test\Test.Metrics.pas',
Test.CollectorRegistry in 'test\Test.CollectorRegistry.pas',
Test.Counter in 'test\Test.Counter.pas',
Test.Gauge in 'test\Test.Gauge.pas',
Test.MetricInitialization in 'test\Test.MetricInitialization.pas',
Prometheus.DelphiStats in 'source\Prometheus.DelphiStats.pas',
Prometheus.Server in 'source\Prometheus.Server.pas',
Prometheus.Server.Pusher in 'source\Prometheus.Server.Pusher.pas',
Prometheus.Server.Exporter in 'source\Prometheus.Server.Exporter.pas';
//{$IFNDEF TESTINSIGHT}
{$IFNDEF TESTINSIGHT}
var
runner: ITestRunner;
results: IRunResults;
logger: ITestLogger;
nunitLogger : ITestLogger;
{$ENDIF}
begin
ReportMemoryLeaksOnShutdown := true;
{$IFDEF TESTINSIGHT}
TestInsight.DUnitX.RunRegisteredTests;
{$ELSE}
try
//Check command line options, will exit if invalid
TDUnitX.CheckCommandLine;
//Create the test runner
runner := TDUnitX.CreateRunner;
//Tell the runner to use RTTI to find Fixtures
runner.UseRTTI := True;
//When true, Assertions must be made during tests;
runner.FailsOnNoAsserts := False;
//tell the runner how we will log things
//Log to the console window if desired
if TDUnitX.Options.ConsoleMode <> TDunitXConsoleMode.Off then
begin
logger := TDUnitXConsoleLogger.Create(TDUnitX.Options.ConsoleMode = TDunitXConsoleMode.Quiet);
runner.AddLogger(logger);
end;
//Generate an NUnit compatible XML File
nunitLogger := TDUnitXXMLNUnitFileLogger.Create(TDUnitX.Options.XMLOutputFile);
runner.AddLogger(nunitLogger);
//Run tests
results := runner.Execute;
if not results.AllPassed then
System.ExitCode := EXIT_ERRORS;
{$IFNDEF CI}
//We don't want this happening when running under CI.
if TDUnitX.Options.ExitBehavior = TDUnitXExitBehavior.Pause then
begin
System.Write('Done.. press <Enter> key to quit.');
System.Readln;
end;
{$ENDIF}
except
on E: Exception do
System.Writeln(E.ClassName, ': ', E.Message);
end;
{$ENDIF}
end.