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

Comparing ibx/trunk/fbintf/testsuite/Test11.pas (file contents):
Revision 56 by tony, Mon Mar 6 10:20:02 2017 UTC vs.
Revision 315 by tony, Thu Feb 25 11:56:36 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 Tony Whyman, MWA Software
21 + *  (http://www.mwasoftware.co.uk).
22 + *
23 + *  All Rights Reserved.
24 + *
25 + *  Contributor(s): ______________________________________.
26 + *
27 + *)
28 +
29   unit Test11;
30   {$IFDEF MSWINDOWS}
31   {$DEFINE WINDOWS}
# Line 30 | Line 58 | unit Test11;
58   interface
59  
60   uses
61 <  Classes, SysUtils, TestManager, IB;
61 >  Classes, SysUtils, TestApplication, FBTestApp, IB;
62  
63   type
64  
65    { TTest11 }
66  
67 <  TTest11 = class(TTestBase)
67 >  TTest11 = class(TFBTestBase)
68    private
69      procedure GetStatistics(Service: IServiceManager; DBName: AnsiString);
70      procedure BackupRestore(Service: IServiceManager; DBName: AnsiString);
# Line 172 | Line 200 | var Req: ISRB;
200      SQPB: ISQPB;
201      bytesWritten: integer;
202      bytesAvailable: integer;
175    i: integer;
203      RestoreDBName: AnsiString;
204      Attachment: IAttachment;
205      DPB: IDPB;
# Line 196 | Line 223 | begin
223          QueryResultsItem := Results.Find(isc_info_svc_to_eof);
224          if QueryResultsItem <> nil then
225            bytesWritten := QueryResultsItem.CopyTo(BakFile,0);
226 <      until (bytesWritten = 0) or not WriteServiceQueryResult(Results);
226 >      until ((bytesWritten = 0) and (Results.Find(isc_info_svc_timeout) = nil))
227 >        or not WriteServiceQueryResult(Results);
228        writeln(OutFile,'Local Backup Complete');
229      finally
230        BakFile.Free;
# Line 208 | Line 236 | begin
236  
237    {Local Restore}
238    writeln(OutFile,'Local Restore');
239 <  RestoreDBName := Owner.GetNewDatabaseName;
212 <  i := Pos(':',RestoreDBName);
213 <  if i > 0 then
214 <    system.Delete(RestoreDBName,1,i);
239 >  RestoreDBName := ExtractDBName(Owner.GetNewDatabaseName);
240    Req := Service.AllocateSRB;
241    Req.Add(isc_action_svc_restore);
242    Req.Add(isc_spb_dbname).AsString := RestoreDBName;
# Line 266 | Line 291 | end;
291   procedure TTest11.RunTest(CharSet: AnsiString; SQLDialect: integer);
292   var SPB: ISPB;
293      Service: IServiceManager;
269    I: integer;
294      ServerName: AnsiString;
295      DBName: AnsiString;
296   begin
297    if not FirebirdAPI.HasServiceAPI then Exit;
298  
299 <  ServerName := Owner.GetEmployeeDatabaseName;
300 <  I := Pos(':',ServerName);
277 <  if i > 0 then
278 <    DBName := system.copy(ServerName,i+1,length(ServerName) - 2);
279 <  system.Delete(ServerName,i,Length(ServerName)-i+1);
299 >  DBName := ExtractDBName(Owner.GetEmployeeDatabaseName);
300 >  ServerName := Owner.Server;
301  
302    SPB := FirebirdAPI.AllocateSPB;
303    SPB.Add(isc_spb_user_name).setAsString(Owner.GetUserName);
304    SPB.Add(isc_spb_password).setAsString(Owner.GetPassword);
305    Service := FirebirdAPI.GetServiceManager(ServerName,TCP,SPB);
306 +  PrintSPB(Service.getSPB);
307  
308    GetStatistics(Service,DBName);
309    BackupRestore(Service,DBName);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines