| Bryan Duxbury | 3fb4f1e | 2009-03-24 00:36:00 +0000 | [diff] [blame] | 1 | #!/bin/sh | 
|  | 2 |  | 
| David Reiss | ea2cba8 | 2009-03-30 21:35:00 +0000 | [diff] [blame] | 3 | # | 
|  | 4 | # Licensed to the Apache Software Foundation (ASF) under one | 
|  | 5 | # or more contributor license agreements. See the NOTICE file | 
|  | 6 | # distributed with this work for additional information | 
|  | 7 | # regarding copyright ownership. The ASF licenses this file | 
|  | 8 | # to you under the Apache License, Version 2.0 (the | 
|  | 9 | # "License"); you may not use this file except in compliance | 
|  | 10 | # with the License. You may obtain a copy of the License at | 
|  | 11 | # | 
|  | 12 | #   http://www.apache.org/licenses/LICENSE-2.0 | 
|  | 13 | # | 
|  | 14 | # Unless required by applicable law or agreed to in writing, | 
|  | 15 | # software distributed under the License is distributed on an | 
|  | 16 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | 17 | # KIND, either express or implied. See the License for the | 
|  | 18 | # specific language governing permissions and limitations | 
|  | 19 | # under the License. | 
|  | 20 | # | 
|  | 21 |  | 
| Christian Lavoie | c59c30e | 2011-02-19 21:02:22 +0000 | [diff] [blame] | 22 | if [ "x" = "x$1" ]; then | 
| Bryan Duxbury | c657447 | 2010-10-06 00:12:33 +0000 | [diff] [blame] | 23 | printf "run-test.sh needs an argument, the name of the test to run. Try 'ThriftTest' or 'ProtoDebugTest'\n" | 
|  | 24 | exit 2 | 
|  | 25 | fi | 
|  | 26 |  | 
|  | 27 | # Check some basics | 
| Bryan Duxbury | 3fb4f1e | 2009-03-24 00:36:00 +0000 | [diff] [blame] | 28 | if [ -z $BASE ]; then | 
|  | 29 | BASE=../.. | 
|  | 30 | fi | 
|  | 31 |  | 
| Anthony F. Molinaro | 71a58a8 | 2010-09-27 19:27:40 +0000 | [diff] [blame] | 32 | if [ -z $THRIFT_BIN ]; then | 
| Bryan Duxbury | c657447 | 2010-10-06 00:12:33 +0000 | [diff] [blame] | 33 | THRIFT_BIN=$BASE/compiler/cpp/thrift | 
| Anthony F. Molinaro | 71a58a8 | 2010-09-27 19:27:40 +0000 | [diff] [blame] | 34 | fi | 
|  | 35 |  | 
|  | 36 | if [ ! -x "$THRIFT_BIN" ]; then | 
|  | 37 | printf "Could not find thrift binary; pass it as environment variable THRIFT_BIN\n" | 
|  | 38 | exit 1 | 
|  | 39 | fi | 
|  | 40 |  | 
|  | 41 | # Figure out what file to generate bindings from | 
|  | 42 | if [ -z $THRIFT_FILE ]; then | 
|  | 43 | THRIFT_FILE=$BASE/test/$1.thrift | 
|  | 44 | fi | 
|  | 45 |  | 
|  | 46 | if [ ! -e $THRIFT_FILE ]; then | 
|  | 47 | printf "Missing thrift file $THRIFT_FILE \n" | 
|  | 48 | exit 2 | 
|  | 49 | fi | 
|  | 50 |  | 
| Bryan Duxbury | c657447 | 2010-10-06 00:12:33 +0000 | [diff] [blame] | 51 | if [ ! -e "$THRIFT_FILE" ]; then | 
|  | 52 | printf "Could not find thrift file to run; pass it as environment variable THRIFT_FILE\n" | 
|  | 53 | exit 1 | 
| Anthony F. Molinaro | 71a58a8 | 2010-09-27 19:27:40 +0000 | [diff] [blame] | 54 | fi | 
|  | 55 |  | 
| Bryan Duxbury | c657447 | 2010-10-06 00:12:33 +0000 | [diff] [blame] | 56 | # Figure out what file to run has a server | 
|  | 57 | if [ -z $TEST_SOURCE_FILE ]; then | 
|  | 58 | TEST_SOURCE_FILE=$BASE/test/hs/$1_Main.hs | 
|  | 59 | fi | 
|  | 60 |  | 
|  | 61 | if [ ! -e $TEST_SOURCE_FILE ]; then | 
|  | 62 | printf "Missing server code file $TEST_SOURCE_FILE \n" | 
| Anthony F. Molinaro | 71a58a8 | 2010-09-27 19:27:40 +0000 | [diff] [blame] | 63 | exit 3 | 
|  | 64 | fi | 
|  | 65 |  | 
|  | 66 | # Actually run the server bits | 
| Anthony F. Molinaro | 71a58a8 | 2010-09-27 19:27:40 +0000 | [diff] [blame] | 67 | printf "Generating bindings... \n" | 
| Bryan Duxbury | c657447 | 2010-10-06 00:12:33 +0000 | [diff] [blame] | 68 | $THRIFT_BIN --gen hs $THRIFT_FILE | 
| Anthony F. Molinaro | 71a58a8 | 2010-09-27 19:27:40 +0000 | [diff] [blame] | 69 |  | 
| Bryan Duxbury | c657447 | 2010-10-06 00:12:33 +0000 | [diff] [blame] | 70 | printf "Running test... \n" | 
| Roger Meier | da74ff4 | 2012-05-18 09:25:02 +0000 | [diff] [blame] | 71 | runhaskell -Wall -i$BASE/lib/hs/src -igen-hs $TEST_SOURCE_FILE |