ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/testsuite/testsuite.lpr
(Generate patch)

Comparing ibx/trunk/fbintf/testsuite/testsuite.lpr (file contents):
Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC vs.
Revision 345 by tony, Mon Aug 23 14:22:29 2021 UTC

# Line 1 | Line 1
1 + (*
2 + *  Firebird Interface (fbintf) Test suite. This program is used to
3 + *  test the Firebird Pascal Interface and provide a semi-automated
4 + *  pass/fail check for each test.
5 + *
6 + *  The contents of this file are subject to the Initial Developer's
7 + *  Public License Version 1.0 (the "License"); you may not use this
8 + *  file except in compliance with the License. You may obtain a copy
9 + *  of the License here:
10 + *
11 + *    http://www.firebirdsql.org/index.php?op=doc&id=idpl
12 + *
13 + *  Software distributed under the License is distributed on an "AS
14 + *  IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
15 + *  implied. See the License for the specific language governing rights
16 + *  and limitations under the License.
17 + *
18 + *  The Initial Developer of the Original Code is Tony Whyman.
19 + *
20 + *  The Original Code is (C) 2016-2020 Tony Whyman, MWA Software
21 + *  (http://www.mwasoftware.co.uk).
22 + *
23 + *  All Rights Reserved.
24 + *
25 + *  Contributor(s): ______________________________________.
26 + *
27 + *)
28   program testsuite;
29  
30 + {$IFDEF FPC}
31   {$mode objfpc}{$H+}
32   {$codepage utf8}
33 + {$ENDIF}
34  
35   uses
36    {$IFDEF UNIX}
37    cthreads,
38    {$ENDIF}
39 <  Classes, SysUtils, CustApp, TestManager, Test1, test2, Test3, Test4, Test5,
39 >  Classes, SysUtils, CustApp, Test1, Test2, Test3, Test4, Test5,
40    Test6, Test7, Test8, Test9, Test10, Test11, Test12, Test13, Test14, Test15,
41 <  Test16, IB;
41 >  Test16, IB, Test17, Test18, TestApplication, FBTestApp, Test19, Test20;
42  
43   type
44  
45    { TFBIntTestbed }
46  
47 <  TFBIntTestbed = class(TCustomApplication)
19 <  private
20 <    FTestID: integer;
21 <  protected
22 <    procedure DoRun; override;
23 <  public
47 >  TFBIntTestbed = class(TTestApplication)
48      constructor Create(TheOwner: TComponent); override;
25    destructor Destroy; override;
26    procedure WriteHelp; virtual;
49    end;
50  
51   { TFBIntTestbed }
52  
31 procedure TFBIntTestbed.DoRun;
32 var
33  ErrorMsg: String;
34 begin
35  OutFile := stdout;
36  // quick check parameters
37  ErrorMsg := CheckOptions('htupensboS', 'help test user passwd employeedb newdbname secondnewdbname backupfile outfile stats');
38  if ErrorMsg <> '' then begin
39    ShowException(Exception.Create(ErrorMsg));
40    Terminate;
41    Exit;
42  end;
43
44  // parse parameters
45  if HasOption('h', 'help') then begin
46    WriteHelp;
47    Terminate;
48    Exit;
49  end;
50
51  if HasOption('t') then
52    FTestID := StrToInt(GetOptionValue('t'));
53
54  if TestMgr <> nil then
55  begin
56    if HasOption('u','user') then
57      TestMgr.SetUserName(GetOptionValue('u'));
58
59    if HasOption('p','passwd') then
60      TestMgr.SetPassword(GetOptionValue('p'));
61
62    if HasOption('e','employeedb') then
63      TestMgr.SetEmployeeDatabaseName(GetOptionValue('e'));
64
65    if HasOption('n','newdbname') then
66      TestMgr.SetNewDatabaseName(GetOptionValue('n'));
67
68    if HasOption('s','secondnewdbname') then
69      TestMgr.SetSecondNewDatabaseName(GetOptionValue('s'));
70
71    if HasOption('b','backupfile') then
72      TestMgr.SetBackupFileName(GetOptionValue('b'));
73
74    if HasOption('o','outfile') then
75    begin
76      system.Assign(outFile,GetOptionValue('o'));
77      ReWrite(outFile);
78    end;
79
80    TestMgr.ShowStatistics := HasOption('S','stats');
81
82    {Ensure consistent date reporting across platforms}
83    DefaultFormatSettings.ShortDateFormat := 'd/m/yyyy';
84    DefaultFormatSettings.DateSeparator := '/';
85
86    writeln(OutFile,Title);
87    writeln(OutFile,'Copyright MWA Software 2016');
88    writeln(OutFile);
89    writeln(OutFile,'Starting Tests');
90    writeln(OutFile,'Client API Version = ',FirebirdAPI.GetImplementationVersion);
91
92    if FTestID = 0 then
93      TestMgr.RunAll
94    else
95      TestMgr.Run(FTestID);
96    TestMgr.Free;
97  end;
98
99  writeln(OutFile,'Test Suite Ends');
100  Flush(OutFile);
101  {$IFDEF WINDOWS}
102  //readln; {uncomment if running from IDE and console window closes before you can view results}
103  {$ENDIF}
104
105  // stop program loop
106  Terminate;
107 end;
108
53   constructor TFBIntTestbed.Create(TheOwner: TComponent);
54   begin
55    inherited Create(TheOwner);
56    StopOnException := True;
57   end;
58  
115 destructor TFBIntTestbed.Destroy;
116 begin
117  inherited Destroy;
118 end;
119
120 procedure TFBIntTestbed.WriteHelp;
121 begin
122  { add your help code here }
123  writeln(OutFile,'Usage: ', ExeName, ' -h');
124 end;
125
59   var
60    Application: TFBIntTestbed;
61   begin
62    Application := TFBIntTestbed.Create(nil);
63 <  Application.Title := 'Firebird API Test Suite';
63 >  Application.Title:='Firebird API Test Suite';
64    Application.Run;
65    Application.Free;
66   end.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines