X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FTestRunner.sh;h=4f04d81aac64807458161d477465195ef6669571;hb=8e4b197e0b9b382b717074510cecc205be7f1eb4;hp=a9f27ac96f93260ec949327326693a607b6b8d51;hpb=d24d4afb99da4c60acbd692c77faf72f46edea52;p=oota-llvm.git diff --git a/test/TestRunner.sh b/test/TestRunner.sh index a9f27ac96f9..4f04d81aac6 100755 --- a/test/TestRunner.sh +++ b/test/TestRunner.sh @@ -1,24 +1,36 @@ #!/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. +# TestRunner.sh - This script is used to run the deja-gnu tests exactly like +# deja-gnu does, by executing the Tcl script specified in the test case's +# RUN: lines. This is made possible by a simple make target supported by the +# test/Makefile. All this script does is invoke that make target. # -# This runner recognizes and replaces the following strings in the command: -# %s - Replaced with the input name of the program +# Usage: +# TestRunner.sh {script_names} # +# This script is typically used by cd'ing to a test directory and then +# running TestRunner.sh with a list of test file names you want to run. +# +TESTPATH=`pwd` +SUBDIR="" +if test `dirname $1` = "." ; then + while test `basename $TESTPATH` != "test" -a ! -z "$TESTPATH" ; do + tmp=`basename $TESTPATH` + SUBDIR="$tmp/$SUBDIR" + TESTPATH=`dirname $TESTPATH` + done +fi -grep 'RUN:' $1 | sed "s/^.*RUN:\(.*\)$/\1/g;s/%s/$1/g" > Output/$1.script -OUTPUT=Output/$1.out - - -/bin/sh Output/$1.script > $OUTPUT 2>&1 || ( - echo "******************** TEST '$1' FAILED! ********************" - echo "Command: " - cat Output/$1.script - echo "Output:" - cat $OUTPUT - rm $OUTPUT - echo "******************** TEST '$1' FAILED! ********************" -) - +for TESTFILE in "$@" ; do + if test `dirname $TESTFILE` = . ; then + if test -d "$TESTPATH" ; then + cd $TESTPATH + make check-one TESTONE="$SUBDIR$TESTFILE" + cd $PWD + else + echo "Can't find llvm/test directory in " `pwd` + fi + else + make check-one TESTONE=$TESTFILE + fi +done