diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-02-27 03:25:27 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-02-27 03:25:27 +0000 |
commit | f8c17e79fab13a3d1de976c1c3564df7f8c2a175 (patch) | |
tree | 3192a7221761cb0a42279698044f338c961ccc1e /scripts | |
parent | a5f891ac8df09e56ecc64bf18a839a06470deacd (diff) | |
download | glibc-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-x | scripts/evaluate-test.sh | 11 |
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 |