#
# Runs a simple test (default: ./barrier/barrier)
# Syntax:
-# ./run.sh [gdb]
-# ./run.sh [test program] [gdb]
+# ./run.sh [test program] [OPTIONS]
+# ./run.sh [OPTIONS]
+# ./run.sh [gdb [test program]]
#
# If you include a 'gdb' argument, the your program will be launched with gdb.
# You can also supply a test program argument to run something besides the
# default program.
#
-BIN=./barrier/barrier
+# Get the directory in which this script is located
+BINDIR="${0%/*}"
-export LD_LIBRARY_PATH=..
+BIN=${BINDIR}/barrier/barrier
+PREFIX=
-[ $# -gt 0 ] && [ "$1" != "gdb" ] && BIN=$1 && shift
+export LD_LIBRARY_PATH=${BINDIR}/..
+# For Mac OSX
+export DYLD_LIBRARY_PATH=${BINDIR}/..
-if [ $# -gt 0 ] && [ "$1" = "gdb" ]; then
- shift
- gdb $BIN $@
-fi
+[ $# -gt 0 ] && [ "$1" = "gdb" ] && PREFIX=gdb && shift
+[ $# -gt 0 ] && [ -e "$1" ] && BIN="$1" && shift
-$BIN $@
+set -xe
+$PREFIX $BIN $@