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 45 by tony, Tue Dec 6 10:33:46 2016 UTC vs.
Revision 143 by tony, Fri Feb 23 12:11:21 2018 UTC

# Line 1 | Line 1
1   unit Test11;
2 + {$IFDEF MSWINDOWS}
3 + {$DEFINE WINDOWS}
4 + {$ENDIF}
5  
6 < {$mode objfpc}{$H+}
6 > {$IFDEF FPC}
7 > {$mode delphi}
8   {$codepage utf8}
9 + {$ENDIF}
10  
11   {Test 11: Services API}
12  
# Line 33 | Line 38 | type
38  
39    TTest11 = class(TTestBase)
40    private
41 <    procedure GetStatistics(Service: IServiceManager; DBName: string);
42 <    procedure BackupRestore(Service: IServiceManager; DBName: string);
41 >    procedure GetStatistics(Service: IServiceManager; DBName: AnsiString);
42 >    procedure BackupRestore(Service: IServiceManager; DBName: AnsiString);
43    public
44 <    function TestTitle: string; override;
45 <    procedure RunTest(CharSet: string; SQLDialect: integer); override;
44 >    function TestTitle: AnsiString; override;
45 >    procedure RunTest(CharSet: AnsiString; SQLDialect: integer); override;
46    end;
47  
48   implementation
49  
50   { TTest11 }
51  
52 < procedure TTest11.GetStatistics(Service: IServiceManager; DBName: string);
52 > procedure TTest11.GetStatistics(Service: IServiceManager; DBName: AnsiString);
53   var Req: ISRB;
54      Results: IServiceQueryResults;
55   begin
# Line 158 | Line 163 | begin
163    writeln(OutFile);
164   end;
165  
166 < procedure TTest11.BackupRestore(Service: IServiceManager; DBName: string);
166 > procedure TTest11.BackupRestore(Service: IServiceManager; DBName: AnsiString);
167   var Req: ISRB;
168      Results: IServiceQueryResults;
169      BakFile: TFileStream;
# Line 168 | Line 173 | var Req: ISRB;
173      bytesWritten: integer;
174      bytesAvailable: integer;
175      i: integer;
176 <    RestoreDBName: string;
176 >    RestoreDBName: AnsiString;
177      Attachment: IAttachment;
178      DPB: IDPB;
179   begin
# Line 191 | Line 196 | begin
196          QueryResultsItem := Results.Find(isc_info_svc_to_eof);
197          if QueryResultsItem <> nil then
198            bytesWritten := QueryResultsItem.CopyTo(BakFile,0);
199 <      until (bytesWritten = 0) or not WriteServiceQueryResult(Results);
199 >      until ((bytesWritten = 0) and (Results.Find(isc_info_svc_timeout) = nil))
200 >        or not WriteServiceQueryResult(Results);
201        writeln(OutFile,'Local Backup Complete');
202      finally
203        BakFile.Free;
# Line 224 | Line 230 | begin
230          SQPB := Service.AllocateSQPB;
231          if ReqLength > 0 then
232              bytesWritten := SQPB.Add(isc_info_svc_line).CopyFrom(BakFile,ReqLength);
233 <        bytesAvailable -= bytesWritten;
233 >        bytesAvailable := bytesAvailable - bytesWritten;
234          Req := Service.AllocateSRB;
235          Req.Add(isc_info_svc_stdin);
236          Req.Add(isc_info_svc_line);
# Line 253 | Line 259 | begin
259    writeln(OutFile,'Database Dropped');
260   end;
261  
262 < function TTest11.TestTitle: string;
262 > function TTest11.TestTitle: AnsiString;
263   begin
264    Result := 'Test 11: Services API';
265   end;
266  
267 < procedure TTest11.RunTest(CharSet: string; SQLDialect: integer);
267 > procedure TTest11.RunTest(CharSet: AnsiString; SQLDialect: integer);
268   var SPB: ISPB;
269      Service: IServiceManager;
270      I: integer;
271 <    ServerName: string;
272 <    DBName: string;
271 >    ServerName: AnsiString;
272 >    DBName: AnsiString;
273   begin
274    if not FirebirdAPI.HasServiceAPI then Exit;
275  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines