| #!/bin/sh | 
 | # | 
 | # Wrapper script to run tests from inside the Wine tree | 
 | # | 
 | # Usage: runtest [options] input_file | 
 | # | 
 | # Copyright 2002 Alexandre Julliard | 
 | # Copyright 2002 Dimitrie O. Paun | 
 | # | 
 | # This library is free software; you can redistribute it and/or | 
 | # modify it under the terms of the GNU Lesser General Public | 
 | # License as published by the Free Software Foundation; either | 
 | # version 2.1 of the License, or (at your option) any later version. | 
 | # | 
 | # This library is distributed in the hope that it will be useful, | 
 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 | # Lesser General Public License for more details. | 
 | # | 
 | # You should have received a copy of the GNU Lesser General Public | 
 | # License along with this library; if not, write to the Free Software | 
 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
 | # | 
 |  | 
 | usage() | 
 | { | 
 |     cat >&2 <<EOF | 
 |  | 
 | Usage: $0 [options] input_file | 
 |  | 
 | input_file:  the source code for the test program | 
 |  | 
 | Options: | 
 |     -q       quiet mode | 
 |     -v       verbose mode (can be specified multiple times) | 
 |     -s       announce successful tests | 
 |     -p prog  name of the program to run for C tests | 
 |     -P name  set the current platform name | 
 |     -M names set the module names to be tested | 
 |     -T dir   set Wine tree top directory (autodetected if not specified) | 
 |  | 
 | EOF | 
 |     exit 1 | 
 | } | 
 |  | 
 | # Default values | 
 | platform=$WINETEST_PLATFORM | 
 | WINETEST_DEBUG=${WINETEST_DEBUG:-1} | 
 |  | 
 | # parse command-line options | 
 | while [ "$#" != 0 ]; do | 
 |     case "$1" in | 
 |     -h) | 
 | 	usage | 
 |     ;; | 
 |     -p) | 
 | 	shift; program="$1" | 
 |     ;; | 
 |     -q) | 
 | 	WINETEST_DEBUG=0 | 
 |     ;; | 
 |     -v) | 
 | 	WINETEST_DEBUG=`expr $WINETEST_DEBUG + 1` | 
 |     ;; | 
 |     -s) | 
 | 	WINETEST_REPORT_SUCCESS=1 | 
 | 	export WINETEST_REPORT_SUCCESS | 
 |     ;; | 
 |     -P) | 
 | 	shift; platform="$1" | 
 |     ;; | 
 |     -M) | 
 | 	shift; modules="$1" | 
 |     ;; | 
 |     -T) | 
 | 	shift; topobjdir="$1" | 
 | 	if [ ! -d "$topobjdir" ]; then usage; fi | 
 |     ;; | 
 |     --) | 
 | 	break | 
 |     ;; | 
 |     *) | 
 | 	infile="$1" | 
 |     ;; | 
 |     esac | 
 |     shift | 
 | done	     | 
 | 	 | 
 | # we must have found an input file | 
 | if [ ! -f "$infile" ]; then usage; fi | 
 |  | 
 | # set program to the .c file base name if not specified otherwise | 
 | if [ -z "$program" ]; then | 
 |     program=`basename "$infile" .c` | 
 | fi | 
 |  | 
 | # check/detect topobjdir | 
 | if [ -n "$topobjdir" ]; then | 
 |     if [ ! -f "$topobjdir/server/wineserver" ] | 
 |     then | 
 | 	echo "Wrong -T argument, $topobjdir/server/wineserver does not exist" 2>&1 | 
 | 	usage | 
 |     fi | 
 | else | 
 |     if [ -f "./server/wineserver" ]; then topobjdir="." | 
 |     elif [ -f "../server/wineserver" ]; then topobjdir=".." | 
 |     elif [ -f "../../server/wineserver" ]; then topobjdir="../.." | 
 |     elif [ -f "../../../server/wineserver" ]; then topobjdir="../../.." | 
 |     fi | 
 | fi | 
 |  | 
 | # set environment variables needed for Wine | 
 |  | 
 | if [ -n "$modules" ]; then | 
 |     WINEDLLOVERRIDES="$WINEDLLOVERRIDES;$modules=b" | 
 |     export WINEDLLOVERRIDES | 
 | fi | 
 | WINETEST_PLATFORM=${platform:-wine} | 
 | export WINETEST_PLATFORM WINETEST_DEBUG | 
 |  | 
 | exec "$topobjdir/wine" "$program" "$infile" "$@" |