[cfe-commits] r82406 - /cfe/trunk/test/TestRunner.sh

Daniel Dunbar daniel at zuster.org
Sun Sep 20 15:00:23 PDT 2009


Author: ddunbar
Date: Sun Sep 20 17:00:23 2009
New Revision: 82406

URL: http://llvm.org/viewvc/llvm-project?rev=82406&view=rev
Log:
Switch TestRunner.sh to just use 'lit'.
 - Does people use this?

Modified:
    cfe/trunk/test/TestRunner.sh

Modified: cfe/trunk/test/TestRunner.sh
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/TestRunner.sh?rev=82406&r1=82405&r2=82406&view=diff

==============================================================================
--- cfe/trunk/test/TestRunner.sh (original)
+++ cfe/trunk/test/TestRunner.sh Sun Sep 20 17:00:23 2009
@@ -1,132 +1,13 @@
 #!/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.
-#     %S - Replaced with the directory where the input file resides
-#     %t - temporary file name (derived from testcase name)
-#
-
-FILENAME=$1
-TESTNAME=$1
-SUBST=$1
-FILEDIR=`dirname $TESTNAME`
-
-OUTPUT=Output/$1.out
-
-# create the output directory if it does not already exist
-mkdir -p `dirname $OUTPUT` > /dev/null 2>&1
-
-if test $# != 1; then
-  # If more than one parameter is passed in, there must be three parameters:
-  # The filename to read from (already processed), the command used to execute,
-  # and the file to output to.
-  SUBST=$2
-  OUTPUT=$3
-  TESTNAME=$3
-fi
-
-ulimit -t 40
-
-# Verify the script contains a run line.
-grep -q 'RUN:' $FILENAME || ( 
-   echo "******************** TEST '$TESTNAME' HAS NO RUN LINE! ********************"
-   exit 1
-)
-
-# Run under valgrind if the VG environment variable has been set.
-CLANG=$CLANG
-if [ ! -n "$CLANG" ]; then
-    CLANG="clang"
-fi
-
-# Resolve the path, and Make sure $CLANG actually exists; otherwise
-# ensuing failures are non-obvious.
-CLANG=$(which "$CLANG")
-if [ -z $CLANG ]; then
-  echo "Couldn't find 'clang' program, try setting CLANG in your environment"
-  exit 1
-fi
-
-if [ -n "$VG" ]; then
-  rm -f $OUTPUT.vg
-  CLANG="valgrind --leak-check=full --quiet --log-file=$OUTPUT.vg $CLANG"
-fi
-
-# Assuming $CLANG is correct, use it to derive clang-cc. We expect to
-# be looking in a build directory, so just add '-cc'.
-CLANGCC=$CLANGCC
-if [ ! -n "$CLANGCC" ]; then
-    CLANGCC="$CLANG-cc"
-fi
-
-# Try to sanity check $CLANGCC too
-CLANGCC=$(which "$CLANGCC")
-# If that failed, ask clang.
-if [ -z "$CLANGCC" ]; then
-    CLANGCC=$($CLANG -print-prog-name=clang-cc)
-fi
-if [ -z "$CLANGCC" ]; then
-  echo "Couldn't find 'clang-cc' program, make sure clang is found in your build directory"
-  exit 1
-fi
-
-SCRIPT=$OUTPUT.script
-TEMPOUTPUT=$OUTPUT.tmp
-grep 'RUN:' $FILENAME | \
-  sed -e "s|^.*RUN:\(.*\)$|\1|g" \
-      -e "s| clang | $CLANG |g" \
-      -e "s| clang-cc | $CLANGCC |g" \
-      -e "s|%s|$SUBST|g" \
-      -e "s|%S|$FILEDIR|g" \
-      -e "s|%t|$TEMPOUTPUT|g" > $SCRIPT
-
-IS_XFAIL=0
-if (grep -q XFAIL $FILENAME); then
-    IS_XFAIL=1
-    printf "XFAILED '$TESTNAME': "
-    grep XFAIL $FILENAME
-fi
-
-/bin/sh $SCRIPT > $OUTPUT 2>&1
-SCRIPT_STATUS=$?
+# TestRunner.sh - Backward compatible utility for testing an individual file.
 
-if [ -n "$VG" ]; then
-  [ ! -s $OUTPUT.vg ]
-  VG_STATUS=$?
-else
-  VG_STATUS=0
-fi
+# Find where this script is.
+Dir=$(dirname $(which $0))
+AbsDir=$(cd $Dir; pwd)
 
-if [ $IS_XFAIL -ne 0 ]; then
-    if [ $SCRIPT_STATUS -ne 0 ]; then
-        SCRIPT_STATUS=0
-    else
-        SCRIPT_STATUS=1
-    fi
-fi
+# Find 'lit', assuming standard layout.
+lit=$AbsDir/../../../utils/lit/lit.py
 
-if [ $SCRIPT_STATUS -ne 0 -o $VG_STATUS -ne 0 ]; then
-  echo "******************** TEST '$TESTNAME' FAILED! ********************"
-  echo "Command: "
-  cat $SCRIPT
-  if [ $SCRIPT_STATUS -eq 0 ]; then
-    echo "Output:"
-  elif [ $IS_XFAIL -ne 0 ]; then
-    echo "Incorrect Output (Expected Failure):"
-  else
-    echo "Incorrect Output:"
-  fi
-  cat $OUTPUT
-  if [ $VG_STATUS -ne 0 ]; then
-    echo "Valgrind Output:"
-    cat $OUTPUT.vg
-  fi
-  echo "******************** TEST '$TESTNAME' FAILED! ********************"
-  exit 1
-fi
+# Dispatch to lit.
+$lit "$@"





More information about the cfe-commits mailing list