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

Comparing ibx/trunk/fbintf/testsuite/TestManager.pas (file contents):
Revision 307 by tony, Fri Apr 17 11:30:36 2020 UTC vs.
Revision 308 by tony, Sat Jul 18 10:26:30 2020 UTC

# Line 27 | Line 27 | type
27      FOwner: TTestManager;
28    protected
29      FHexStrings: boolean;
30 +    function ExtractDBName(ConnectString: AnsiString): AnsiString;
31      function ReportResults(Statement: IStatement): IResultSet;
32      procedure ReportResult(aValue: IResults);
33      procedure PrintHexString(s: AnsiString);
# Line 61 | Line 62 | type
62    TTestManager = class
63    private
64      FTests: TList;
65 +    FServer: AnsiString;
66 +    FPortNo: AnsiString;
67      FEmployeeDatabaseName: AnsiString;
68      FNewDatabaseName: AnsiString;
69      FSecondNewDatabaseName: AnsiString;
# Line 87 | Line 90 | type
90      procedure SetSecondNewDatabaseName(aValue: AnsiString);
91      procedure SetBackupFileName(aValue: AnsiString);
92      property ShowStatistics: boolean read FShowStatistics write FShowStatistics;
93 +    property Server: AnsiString read FServer;
94    end;
95  
96   var
# Line 98 | Line 102 | procedure RegisterTest(aTest: TTest);
102  
103   implementation
104  
105 + uses IBUtils
106   {$IFDEF MSWINDOWS}
107 < uses windows;
107 > , windows;
108  
109   function GetTempDir: AnsiString;
110   var
# Line 108 | Line 113 | begin
113    GetTempPath(MAX_PATH, @tempFolder);
114    result := StrPas(tempFolder);
115   end;
116 + {$ELSE}
117 + ;
118   {$ENDIF}
119  
120   procedure RegisterTest(aTest: TTest);
# Line 125 | Line 132 | begin
132    FOwner := aOwner;
133   end;
134  
135 + function TTestBase.ExtractDBName(ConnectString: AnsiString): AnsiString;
136 + var ServerName: AnsiString;
137 +    Protocol: TProtocolAll;
138 +    PortNo: AnsiString;
139 +    i: integer;
140 + begin
141 +  if not ParseConnectString(ConnectString, ServerName, Result, Protocol,PortNo) then
142 +  begin
143 +    {assume either inet format (remote) or localhost}
144 +    Result := ConnectString;
145 +    if Pos('inet',Result) = 1 then
146 +    begin
147 +      system.Delete(Result,1,7);
148 +      i := Pos('/',Result);
149 +      if i > 0 then
150 +        system.delete(Result,1,i);
151 +    end
152 +    else
153 +    if Pos('localhost:',Result) = 1 then
154 +      system.Delete(Result,1,10)
155 +  end;
156 + end;
157  
158   function TTestBase.ReportResults(Statement: IStatement): IResultSet;
159   begin
# Line 188 | Line 217 | begin
217  
218      SQL_TEXT,SQL_VARYING:
219      begin
220 <      s := aValue[i].AsString;
220 >      if aValue[i].GetCharSetID = 1 then
221 >      s := aValue[i].AsString
222 >      else
223 >        s := Trim(aValue[i].AsString);
224        if FHexStrings then
225        begin
226          write(OutFile,aValue[i].Name,' = ');
# Line 673 | Line 705 | constructor TTestManager.Create;
705   begin
706    inherited Create;
707    FTests := TList.Create;
708 <  FNewDatabaseName := 'localhost:' + GetTempDir + 'fbtestsuite.fdb';
709 <  FSecondNewDatabaseName :=  'localhost:' + GetTempDir + 'fbtestsuite2.fdb';
708 >  FNewDatabaseName :=  GetTempDir + 'fbtestsuite.fdb';
709 >  FSecondNewDatabaseName :=   GetTempDir + 'fbtestsuite2.fdb';
710    FUserName := 'SYSDBA';
711    FPassword := 'masterkey';
712 <  FEmployeeDatabaseName := 'localhost:employee';
712 >  FEmployeeDatabaseName := 'employee';
713    FBackupFileName := GetTempDir + 'testbackup.gbk';
714 +  FServer := 'localhost';
715   end;
716  
717   destructor TTestManager.Destroy;
# Line 705 | Line 738 | end;
738  
739   function TTestManager.GetEmployeeDatabaseName: AnsiString;
740   begin
741 <  Result := FEmployeeDatabaseName;
741 >  if FirebirdAPI.GetClientMajor < 3 then
742 >    Result := MakeConnectString(FServer,  FEmployeeDatabaseName, TCP,FPortNo)
743 >  else
744 >    Result := MakeConnectString(FServer,  FEmployeeDatabaseName, inet,FPortNo);
745   end;
746  
747   function TTestManager.GetNewDatabaseName: AnsiString;
748   begin
749 <  Result := FNewDatabaseName;
749 >  if FirebirdAPI.GetClientMajor < 3 then
750 >    Result := MakeConnectString(FServer,  FNewDatabaseName, TCP,FPortNo)
751 >  else
752 >    Result := MakeConnectString(FServer,  FNewDatabaseName, inet,FPortNo);
753   end;
754  
755   function TTestManager.GetSecondNewDatabaseName: AnsiString;
756   begin
757 <  Result := FSecondNewDatabaseName;
757 >  if FirebirdAPI.GetClientMajor < 3 then
758 >    Result := MakeConnectString(FServer,  FSecondNewDatabaseName, TCP,FPortNo)
759 >  else
760 >    Result := MakeConnectString(FServer,  FSecondNewDatabaseName, inet,FPortNo);
761   end;
762  
763   function TTestManager.GetBackupFileName: AnsiString;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines