#!/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: # # %s - Replaced with the input name of the program, or the program to # execute, as appropriate. # %llvmgcc - llvm-gcc command # %llvmgxx - llvm-g++ command # %prcontext - prcontext.tcl script # 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