blob: f2e52505e29c63c017037b667864d171dca716e2 [file] [log] [blame]
Jake Farrell29defeb2011-11-10 21:11:46 +00001(*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 *)
19
20
21program client;
22
23{$APPTYPE CONSOLE}
24
25uses
Jake Farrell27274222011-11-10 20:32:44 +000026 SysUtils,
27 TestClient in 'TestClient.pas',
Roger Meier3bef8c22012-10-06 06:58:00 +000028 Thrift.Test, // in 'gen-delphi\Thrift.Test.pas',
29 Thrift in '..\src\Thrift.pas',
30 Thrift.Transport in '..\src\Thrift.Transport.pas',
Jens Geyerbea9bbe2016-04-20 00:02:40 +020031 Thrift.Socket in '..\src\Thrift.Socket.pas',
Roger Meier3bef8c22012-10-06 06:58:00 +000032 Thrift.Transport.Pipes in '..\src\Thrift.Transport.Pipes.pas',
33 Thrift.Protocol in '..\src\Thrift.Protocol.pas',
34 Thrift.Protocol.JSON in '..\src\Thrift.Protocol.JSON.pas',
Jens Geyerf0e63312015-03-01 18:47:49 +010035 Thrift.Protocol.Compact in '..\src\Thrift.Protocol.Compact.pas',
Jens Geyere0e32402016-04-20 21:50:48 +020036 Thrift.Protocol.Multiplex in '..\src\Thrift.Protocol.Multiplex.pas',
Roger Meier3bef8c22012-10-06 06:58:00 +000037 Thrift.Collections in '..\src\Thrift.Collections.pas',
38 Thrift.Server in '..\src\Thrift.Server.pas',
39 Thrift.Stream in '..\src\Thrift.Stream.pas',
40 Thrift.Console in '..\src\Thrift.Console.pas',
Jens Geyer6bbbf192014-09-07 01:45:56 +020041 Thrift.TypeRegistry in '..\src\Thrift.TypeRegistry.pas',
Roger Meier3bef8c22012-10-06 06:58:00 +000042 Thrift.Utils in '..\src\Thrift.Utils.pas';
Jake Farrell27274222011-11-10 20:32:44 +000043
Jake Farrell29defeb2011-11-10 21:11:46 +000044var
45 nParamCount : Integer;
46 args : array of string;
47 i : Integer;
48 arg : string;
Jake Farrell29defeb2011-11-10 21:11:46 +000049
50begin
51 try
52 Writeln( 'Delphi TestClient '+Thrift.Version);
53 nParamCount := ParamCount;
54 SetLength( args, nParamCount);
Jens Geyer9f7f11e2016-04-14 21:37:11 +020055 for i := 1 to nParamCount do begin
Jake Farrell29defeb2011-11-10 21:11:46 +000056 arg := ParamStr( i );
57 args[i-1] := arg;
58 end;
Jens Geyer9f7f11e2016-04-14 21:37:11 +020059
Jens Geyerf8a1b7a2014-09-24 00:26:46 +020060 ExitCode := TTestClient.Execute( args);
Jens Geyer9f7f11e2016-04-14 21:37:11 +020061
Jake Farrell29defeb2011-11-10 21:11:46 +000062 except
Jens Geyerf8a1b7a2014-09-24 00:26:46 +020063 on E: EAbort do begin
64 ExitCode := $FF;
65 end;
Roger Meierbb6de7a2012-05-04 23:35:45 +000066 on E: Exception do begin
Jake Farrell29defeb2011-11-10 21:11:46 +000067 Writeln(E.ClassName, ': ', E.Message);
Jens Geyerf8a1b7a2014-09-24 00:26:46 +020068 ExitCode := $FF;
Roger Meierbb6de7a2012-05-04 23:35:45 +000069 end;
Jake Farrell29defeb2011-11-10 21:11:46 +000070 end;
71end.
72