summary refs log tree commit diff
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
glibc-f8c17e79fab13a3d1de976c1c3564df7f8c2a175.tar.xz
glibc-f8c17e79fab13a3d1de976c1c3564df7f8c2a175.zip
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