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); |
62 |
|
TTestManager = class |
63 |
|
private |
64 |
|
FTests: TList; |
65 |
+ |
FServer: AnsiString; |
66 |
+ |
FPortNo: AnsiString; |
67 |
|
FEmployeeDatabaseName: AnsiString; |
68 |
|
FNewDatabaseName: AnsiString; |
69 |
|
FSecondNewDatabaseName: AnsiString; |
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 |
102 |
|
|
103 |
|
implementation |
104 |
|
|
105 |
+ |
uses IBUtils |
106 |
|
{$IFDEF MSWINDOWS} |
107 |
< |
uses windows; |
107 |
> |
, windows; |
108 |
|
|
109 |
|
function GetTempDir: AnsiString; |
110 |
|
var |
113 |
|
GetTempPath(MAX_PATH, @tempFolder); |
114 |
|
result := StrPas(tempFolder); |
115 |
|
end; |
116 |
+ |
{$ELSE} |
117 |
+ |
; |
118 |
|
{$ENDIF} |
119 |
|
|
120 |
|
procedure RegisterTest(aTest: TTest); |
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 |
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,' = '); |
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; |
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; |