mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
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.
This commit is contained in:
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
|||||||
|
2014-02-27 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2014-02-26 Joseph Myers <joseph@codesourcery.com>
|
2014-02-26 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* argp/Makefile: Include Makeconfig immediately after defining
|
* argp/Makefile: Include Makeconfig immediately after defining
|
||||||
|
@ -1083,8 +1083,11 @@ endif
|
|||||||
# The name to give to a test in test results summaries.
|
# The name to give to a test in test results summaries.
|
||||||
test-name = $(strip $(patsubst %.out, %, $(patsubst $(common-objpfx)%, %, $@)))
|
test-name = $(strip $(patsubst %.out, %, $(patsubst $(common-objpfx)%, %, $@)))
|
||||||
|
|
||||||
# Command to output a test status line (such as PASS: test-name).
|
# Command to output a test status line (such as PASS: test-name). If
|
||||||
|
# test-xfail-$(@F:.out=) has a nonempty value, the status will be
|
||||||
|
# XPASS or XFAIL rather than PASS or FAIL.
|
||||||
evaluate-test = $(..)scripts/evaluate-test.sh $(test-name) $$? \
|
evaluate-test = $(..)scripts/evaluate-test.sh $(test-name) $$? \
|
||||||
|
$(if $(test-xfail-$(@F:.out=)),true,false) \
|
||||||
> $(common-objpfx)$(test-name).test-result
|
> $(common-objpfx)$(test-name).test-result
|
||||||
|
|
||||||
endif # Makeconfig not yet included
|
endif # Makeconfig not yet included
|
||||||
|
@ -30,10 +30,11 @@ tests: $(objpfx)run-conformtest.out
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
test-xfail-run-conformtest = yes
|
||||||
$(objpfx)run-conformtest.out: run-conformtest.sh conformtest.pl \
|
$(objpfx)run-conformtest.out: run-conformtest.sh conformtest.pl \
|
||||||
$(wildcard data/*.h-data) \
|
$(wildcard data/*.h-data) \
|
||||||
$(wildcard data/*/*.h-data)
|
$(wildcard data/*/*.h-data)
|
||||||
-$(BASH) -e $< $(objpfx) $(PERL) '$(CC)' \
|
$(BASH) -e $< $(objpfx) $(PERL) '$(CC)' \
|
||||||
'-I../include $(+sysdep-includes) $(sysincludes) -I..'; \
|
'-I../include $(+sysdep-includes) $(sysincludes) -I..'; \
|
||||||
$(evaluate-test)
|
$(evaluate-test)
|
||||||
|
|
||||||
|
@ -233,8 +233,9 @@ tests: $(objpfx)bug-regex2-mem $(objpfx)bug-regex14-mem \
|
|||||||
xtests: $(objpfx)bug-ga2-mem
|
xtests: $(objpfx)bug-ga2-mem
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
test-xfail-annexc = yes
|
||||||
$(objpfx)annexc.out: $(objpfx)annexc
|
$(objpfx)annexc.out: $(objpfx)annexc
|
||||||
-$(dir $<)$(notdir $<) '$(CC)' \
|
$(dir $<)$(notdir $<) '$(CC)' \
|
||||||
'$(patsubst %,-I../%,$(sorted-subdirs)) -I../include $(+sysdep-includes) $(sysincludes) -I..' > $@; \
|
'$(patsubst %,-I../%,$(sorted-subdirs)) -I../include $(+sysdep-includes) $(sysincludes) -I..' > $@; \
|
||||||
$(evaluate-test)
|
$(evaluate-test)
|
||||||
|
|
||||||
|
@ -17,10 +17,12 @@
|
|||||||
# License along with the GNU C Library; if not, see
|
# License along with the GNU C Library; if not, see
|
||||||
# <http://www.gnu.org/licenses/>.
|
# <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# usage: evaluate-test.sh test_name rc
|
# usage: evaluate-test.sh test_name rc xfail
|
||||||
|
|
||||||
test_name=$1
|
test_name=$1
|
||||||
rc=$2
|
rc=$2
|
||||||
|
orig_rc=$rc
|
||||||
|
xfail=$3
|
||||||
|
|
||||||
if [ $rc -eq 0 ]; then
|
if [ $rc -eq 0 ]; then
|
||||||
result="PASS"
|
result="PASS"
|
||||||
@ -28,6 +30,11 @@ else
|
|||||||
result="FAIL"
|
result="FAIL"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if $xfail; then
|
||||||
|
result="X$result"
|
||||||
|
rc=0
|
||||||
|
fi
|
||||||
|
|
||||||
echo "$result: $test_name"
|
echo "$result: $test_name"
|
||||||
echo "original exit status $rc"
|
echo "original exit status $orig_rc"
|
||||||
exit $rc
|
exit $rc
|
||||||
|
Reference in New Issue
Block a user