2002-02-01 04:24:47 +00:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# TestRunner.sh - This script is used to run arbitrary unit tests. Unit
|
|
|
|
# tests must contain the command used to run them in the input file, starting
|
|
|
|
# immediately after a "RUN:" string.
|
|
|
|
#
|
|
|
|
# This runner recognizes and replaces the following strings in the command:
|
|
|
|
#
|
2003-05-14 18:39:57 +00:00
|
|
|
# %s - Replaced with the input name of the program, or the program to
|
|
|
|
# execute, as appropriate.
|
2006-11-02 03:37:39 +00:00
|
|
|
# %llvmgcc - llvm-gcc command
|
|
|
|
# %llvmgxx - llvm-g++ command
|
|
|
|
# %prcontext - prcontext.tcl script
|
2003-05-14 18:39:57 +00:00
|
|
|
#
|
2007-04-15 06:47:49 +00:00
|
|
|
TESTFILE=$1
|
|
|
|
if test `dirname $TESTFILE` == . ; then
|
|
|
|
TESTPATH=`pwd`
|
|
|
|
SUBDIR=""
|
|
|
|
while test `basename $TESTPATH` != "test" -a ! -z "$TESTPATH" ; do
|
|
|
|
tmp=`basename $TESTPATH`
|
|
|
|
SUBDIR="$tmp/$SUBDIR"
|
|
|
|
TESTPATH=`dirname $TESTPATH`
|
|
|
|
done
|
|
|
|
if test -d "$TESTPATH" ; then
|
|
|
|
cd $TESTPATH
|
|
|
|
make check-one TESTONE="$SUBDIR$TESTFILE"
|
|
|
|
else
|
|
|
|
echo "Can't find llvm/test directory in " `pwd`
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
make check-one TESTONE=$TESTFILE
|
|
|
|
fi
|