Update TestRunner to not report failure for XFAIL tests
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55751 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/TestRunner.sh b/test/TestRunner.sh
index 767d966..455674c 100755
--- a/test/TestRunner.sh
+++ b/test/TestRunner.sh
@@ -61,7 +61,12 @@
-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 @@
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