ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/testsuite/testsuite.dpr
Revision: 143
Committed: Fri Feb 23 12:11:21 2018 UTC (4 years, 4 months ago) by tony
Original Path: ibx/trunk/fbintf/testsuite/testsuite.dpr
File size: 3486 byte(s)
Log Message:
Fixes Merged
Line User Rev File contents
1 tony 56 program testsuite;
2    
3     {$APPTYPE CONSOLE}
4    
5     {$R *.res}
6    
7     uses
8 tony 143 SysUtils,
9     IB,
10 tony 56 Test1 in 'Test1.pas',
11     test2 in 'test2.pas',
12     Test3 in 'Test3.pas',
13     Test4 in 'Test4.pas',
14     Test5 in 'Test5.pas',
15     Test6 in 'Test6.pas',
16     Test7 in 'Test7.pas',
17     Test8 in 'Test8.pas',
18     Test9 in 'Test9.pas',
19     Test10 in 'Test10.pas',
20     Test11 in 'Test11.pas',
21     Test12 in 'Test12.pas',
22     Test13 in 'Test13.pas',
23     Test14 in 'Test14.pas',
24     Test15 in 'Test15.pas',
25     Test16 in 'Test16.pas',
26 tony 143 TestManager in 'TestManager.pas',
27     FBOutputBlock in '..\client\FBOutputBlock.pas';
28 tony 56
29     procedure WriteHelp;
30     begin
31     { add your help code here }
32     writeln(OutFile,'Usage: ', ParamStr(0), ' -h');
33     end;
34    
35     function GetCmdLineValue(const Switch: string; var aValue: string): boolean;
36     var i: integer;
37     begin
38     Result := FindCmdLineSwitch(Switch,false);
39     if Result then
40     begin
41     for i := 0 to ParamCount do
42     if (ParamStr(i) = '-' + Switch) and (i <= ParamCount) then
43     begin
44     aValue := ParamStr(i+1);
45     exit;
46     end;
47     Result := false;
48     end;
49     end;
50    
51    
52     var
53     ErrorMsg: AnsiString;
54     FTestID: integer;
55     aValue: string;
56     begin
57     try
58    
59     FTestID := 0;
60     AssignFile(OutFile,'');
61     ReWrite(outFile);
62    
63    
64     // parse parameters
65     if FindCmdLineSwitch('h') or FindCmdLineSwitch('help') then
66     begin
67     WriteHelp;
68     Exit;
69     end;
70    
71     if GetCmdLineValue('t',aValue) then
72     FTestID := StrToInt(aValue);
73    
74     if TestMgr <> nil then
75     begin
76     if GetCmdLineValue('u',aValue) or GetCmdLineValue('user',aValue) then
77     TestMgr.SetUserName(aValue);
78    
79     if GetCmdLineValue('p',aValue) or GetCmdLineValue('passwd',aValue) then
80     TestMgr.SetPassword(aValue);
81    
82     if GetCmdLineValue('e',aValue) or GetCmdLineValue('employeedb',aValue) then
83     TestMgr.SetEmployeeDatabaseName(aValue);
84    
85     if GetCmdLineValue('n',aValue) or GetCmdLineValue('newdbname',aValue) then
86     TestMgr.SetNewDatabaseName(aValue);
87    
88     if GetCmdLineValue('s',aValue) or GetCmdLineValue('secondnewdbname',aValue) then
89     TestMgr.SetSecondNewDatabaseName(aValue);
90    
91     if GetCmdLineValue('b',aValue) or GetCmdLineValue('backupfile',aValue) then
92     TestMgr.SetBackupFileName(aValue);
93    
94     if GetCmdLineValue('o',aValue) or GetCmdLineValue('outfile',aValue) then
95     begin
96     system.Assign(outFile,aValue);
97     ReWrite(outFile);
98     end;
99    
100     TestMgr.ShowStatistics := FindCmdLineSwitch('S',false) or FindCmdLineSwitch('stats');
101    
102     {Ensure consistent date reporting across platforms}
103     {$IF declared(FormatSettings)}
104     FormatSettings.ShortDateFormat := 'd/m/yyyy';
105     FormatSettings.LongTimeFormat := 'HH:MM:SS';
106     FormatSettings.DateSeparator := '/';
107     {$ELSE}
108     ShortDateFormat := 'd/m/yyyy';
109     LongTimeFormat := 'HH:MM:SS';
110     DateSeparator := '/';
111     {$IFEND}
112    
113     writeln(OutFile,'Firebird Client API Test Suite');
114     writeln(OutFile,'Copyright MWA Software 2016');
115     writeln(OutFile);
116     writeln(OutFile,'Starting Tests');
117     writeln(OutFile,'Client API Version = ',FirebirdAPI.GetImplementationVersion);
118    
119     if FTestID = 0 then
120     TestMgr.RunAll
121     else
122     TestMgr.Run(FTestID);
123     TestMgr.Free;
124     end;
125    
126     writeln(OutFile,'Test Suite Ends');
127     Flush(OutFile);
128     //readln; {uncomment if running from IDE and console window closes before you can view results}
129    
130     except
131     on E: Exception do
132     Writeln(E.ClassName, ': ', E.Message);
133     end;
134     end.