blob: 7e502cdf6b341508a93d292cc9515d2b93be5679 [file] [log] [blame]
Jens Geyeraa0c8b32019-01-28 23:27:45 +01001// Licensed to the Apache Software Foundation(ASF) under one
2// or more contributor license agreements.See the NOTICE file
3// distributed with this work for additional information
4// regarding copyright ownership.The ASF licenses this file
5// to you under the Apache License, Version 2.0 (the
6// "License"); you may not use this file except in compliance
7// with the License. You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing,
12// software distributed under the License is distributed on an
13// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14// KIND, either express or implied. See the License for the
15// specific language governing permissions and limitations
16// under the License.
17
18using System;
19using System.Collections.Generic;
Jens Geyer56700e42020-02-22 16:51:51 +010020using System.Linq;
Jens Geyeraa0c8b32019-01-28 23:27:45 +010021using ThriftTest;
22
23namespace Client
24{
25 public class Program
26 {
27 public static int Main(string[] args)
28 {
Jens Geyer526a1ac2021-02-13 13:58:09 +010029 if (OperatingSystem.IsWindows())
30 {
31 try
32 {
33 Console.SetBufferSize(Console.BufferWidth, 4096);
34 }
35 catch (Exception)
36 {
37 Console.WriteLine("Failed to grow scroll-back buffer");
38 }
Jens Geyeraa0c8b32019-01-28 23:27:45 +010039 }
40
Jens Geyerb541c6f2019-11-23 18:50:22 +010041 // run whatever mode is choosen, default to test impl
Jens Geyer56700e42020-02-22 16:51:51 +010042 var argslist = new List<string>(args);
43 switch (argslist.FirstOrDefault())
Jens Geyeraa0c8b32019-01-28 23:27:45 +010044 {
Jens Geyer56700e42020-02-22 16:51:51 +010045 case "client": // crosstest wants to pass this, so just emit a hint and ignore
46 Console.WriteLine("Hint: The 'client' argument is no longer required.");
47 argslist.RemoveAt(0);
48 return TestClient.Execute(argslist);
Jens Geyerffb97e12019-12-06 23:43:08 +010049 case "--performance":
Jens Geyerec439542019-11-01 19:19:44 +010050 case "--performance-test":
Jens Geyer5a17b132019-05-26 15:53:37 +020051 return Tests.PerformanceTests.Execute();
Jens Geyeraa0c8b32019-01-28 23:27:45 +010052 case "--help":
53 PrintHelp();
54 return 0;
55 default:
Jens Geyer56700e42020-02-22 16:51:51 +010056 return TestClient.Execute(argslist);
Jens Geyeraa0c8b32019-01-28 23:27:45 +010057 }
58 }
59
60 private static void PrintHelp()
61 {
62 Console.WriteLine("Usage:");
Jens Geyerec439542019-11-01 19:19:44 +010063 Console.WriteLine(" Client [options]");
64 Console.WriteLine(" Client --performance-test");
Jens Geyeraa0c8b32019-01-28 23:27:45 +010065 Console.WriteLine(" Client --help");
66 Console.WriteLine("");
67
68 TestClient.PrintOptionsHelp();
69 }
70 }
71}
72
73