summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-02-27 03:25:27 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-02-27 03:25:27 +0000
commitf8c17e79fab13a3d1de976c1c3564df7f8c2a175 (patch)
tree3192a7221761cb0a42279698044f338c961ccc1e /scripts
parenta5f891ac8df09e56ecc64bf18a839a06470deacd (diff)
downloadglibc-f8c17e79fab13a3d1de976c1c3564df7f8c2a175.tar.gz
Support expected failures in .test-result files.
This patch, an updated version of <https://sourceware.org/ml/libc-alpha/2014-01/msg00195.html>, makes it possible for .test-result files for individual tests to contain XPASS and XFAIL rather than PASS and FAIL in cases where failure is expected. This replaces the marking of two individual tests with "-" to cause them to be expected at makefile level to fail; evaluate-test.sh will ensure it exits with status 0 for an expected failure. Tested x86_64. * scripts/evaluate-test.sh: Take new argument indicating whether failure is expected. * Makeconfig (evaluate-test): Pass argument to evaluate-test.sh indicating whether failure is expected. * conform/Makefile (test-xfail-run-conformtest): New variable. ($(objpfx)run-conformtest.out): Don't expect to fail at makefile level. * posix/Makefile (test-xfail-annexc): New variable. ($(objpfx)annexc.out): Don't expect to fail at makefile level.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/evaluate-test.sh11
1 files changed, 9 insertions, 2 deletions
diff --git a/scripts/evaluate-test.sh b/scripts/evaluate-test.sh
index 9cb6435de2..c8f5012c5a 100755
--- a/scripts/evaluate-test.sh
+++ b/scripts/evaluate-test.sh
@@ -17,10 +17,12 @@
# License along with the GNU C Library; if not, see
# <http://www.gnu.org/licenses/>.
-# usage: evaluate-test.sh test_name rc
+# usage: evaluate-test.sh test_name rc xfail
test_name=$1
rc=$2
+orig_rc=$rc
+xfail=$3
if [ $rc -eq 0 ]; then
result="PASS"
@@ -28,6 +30,11 @@ else
result="FAIL"
fi
+if $xfail; then
+ result="X$result"
+ rc=0
+fi
+
echo "$result: $test_name"
-echo "original exit status $rc"
+echo "original exit status $orig_rc"
exit $rc