summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rwxr-xr-xclang/test/TestRunner.sh17
1 files changed, 16 insertions, 1 deletions
diff --git a/clang/test/TestRunner.sh b/clang/test/TestRunner.sh
index 767d9660d58..455674cc025 100755
--- a/clang/test/TestRunner.sh
+++ b/clang/test/TestRunner.sh
@@ -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
OpenPOWER on IntegriCloud