Change initialize a bit
[c11tester.git] / run.sh
diff --git a/run.sh b/run.sh
index fecd43d..0807b2e 100755 (executable)
--- a/run.sh
+++ b/run.sh
@@ -2,27 +2,27 @@
 #
 # Runs a simple test (default: ./test/userprog.o)
 # 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=./test/userprog.o
+# Get the directory in which this script and the binaries are located
+BINDIR="${0%/*}"
 
-export LD_LIBRARY_PATH=.
+BIN=${BINDIR}/test/userprog.o
+PREFIX=
 
-[ $# -gt 0 ] && [ "$1" != "gdb" ] && BIN=$1 && shift
+export LD_LIBRARY_PATH=${BINDIR}
+# For Mac OSX
+export DYLD_LIBRARY_PATH=${BINDIR}
 
-if [ $# -gt 0 ]; then
-       if [ "$1" = "gdb" ]; then
-               gdb $BIN
-       else
-               echo "Invalid argument(s)"
-               exit 1
-       fi
-else
-       $BIN
-fi
+[ $# -gt 0 ] && [ "$1" = "gdb" ] && PREFIX=gdb && shift
+[ $# -gt 0 ] && [ -e "$1" ] && BIN="$1" && shift
+
+set -xe
+$PREFIX $BIN $@