|  | /* | 
|  | * Licensed to the Apache Software Foundation (ASF) under one | 
|  | * or more contributor license agreements. See the NOTICE file | 
|  | * distributed with this work for additional information | 
|  | * regarding copyright ownership. The ASF licenses this file | 
|  | * to you under the Apache License, Version 2.0 (the | 
|  | * "License"); you may not use this file except in compliance | 
|  | * with the License. You may obtain a copy of the License at | 
|  | * | 
|  | *   http://www.apache.org/licenses/LICENSE-2.0 | 
|  | * | 
|  | * Unless required by applicable law or agreed to in writing, | 
|  | * software distributed under the License is distributed on an | 
|  | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | * KIND, either express or implied. See the License for the | 
|  | * specific language governing permissions and limitations | 
|  | * under the License. | 
|  | */ | 
|  |  | 
|  | package; | 
|  |  | 
|  | import org.apache.thrift.*; | 
|  | import org.apache.thrift.protocol.*; | 
|  | import org.apache.thrift.transport.*; | 
|  | import org.apache.thrift.server.*; | 
|  | import org.apache.thrift.meta_data.*; | 
|  |  | 
|  | import thrift.test.*;  // generated code | 
|  |  | 
|  |  | 
|  | enum WhatTests { | 
|  | Normal; | 
|  | Multiplex; | 
|  | Constants; | 
|  | } | 
|  |  | 
|  | class Main | 
|  | { | 
|  | static private var tests : WhatTests = Normal; | 
|  | static private var server : Bool = false; | 
|  |  | 
|  | static private inline var CMDLINEHELP : String | 
|  | = "\nHaxeTests  [client|server]  [multiplex]\n" | 
|  | + "  client|server  ... determines run mode for some tests, default is client\n" | 
|  | + "  multiplex ........ run multiplex test server or client\n"; | 
|  |  | 
|  | static private function ParseArgs() { | 
|  | #if sys | 
|  |  | 
|  | var args = Sys.args(); | 
|  | if ( args != null) { | 
|  | for ( arg in args) { | 
|  | switch(arg.toLowerCase()) { | 
|  | case "client": | 
|  | server = false; | 
|  | case "server" : | 
|  | server = true; | 
|  | case "multiplex" : | 
|  | tests = Multiplex; | 
|  | case "constants" : | 
|  | tests = Constants; | 
|  | default: | 
|  | throw 'Invalid argument "$arg"\n'+CMDLINEHELP; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | #end | 
|  | } | 
|  |  | 
|  | static public function main() | 
|  | { | 
|  | try | 
|  | { | 
|  | ParseArgs(); | 
|  |  | 
|  | switch( tests) { | 
|  | case Normal: | 
|  | #if sys | 
|  | StreamTest.Run(server); | 
|  | #end | 
|  | case Multiplex: | 
|  | #if ! (flash || html5 || js) | 
|  | MultiplexTest.Run(server); | 
|  | #end | 
|  | case Constants: | 
|  | ConstantsTest.Run(server); | 
|  | default: | 
|  | throw "Unhandled test mode $tests"; | 
|  | } | 
|  |  | 
|  | trace("All tests completed."); | 
|  | } | 
|  | catch( e: Dynamic) | 
|  | { | 
|  | trace('$e'); | 
|  | #if sys | 
|  | Sys.exit(1);  // indicate error | 
|  | #end | 
|  | } | 
|  | } | 
|  | } |