]> granicus.if.org Git - clang/commitdiff
Update TestRunner to not report failure for XFAIL tests
authorDaniel Dunbar <daniel@zuster.org>
Thu, 4 Sep 2008 00:30:11 +0000 (00:30 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 4 Sep 2008 00:30:11 +0000 (00:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55751 91177308-0d34-0410-b5e6-96231b3b80d8

test/TestRunner.sh

index 767d9660d584331d3826495e25ca5b1133ae4579..455674cc0258b5b3389a260868151da45d707959 100755 (executable)
@@ -61,7 +61,12 @@ grep 'RUN:' $FILENAME | \
       -e "s|%t|$TEMPOUTPUT|g" \
       -e "s|clang|$CLANG|g" > $SCRIPT  
 
-grep -q XFAIL $FILENAME && (printf "XFAILED '$TESTNAME': "; grep XFAIL $FILENAME)
+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=$?
@@ -72,12 +77,22 @@ else
   VG_STATUS=0
 fi
 
+if [ $IS_XFAIL -ne 0 ]; then
+    if [ $SCRIPT_STATUS -ne 0 ]; then
+        SCRIPT_STATUS=0
+    else
+        SCRIPT_STATUS=1
+    fi
+fi
+
 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