mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
f0881698bf
This patch, an updated version of <https://sourceware.org/ml/libc-alpha/2014-01/msg00194.html> now proposed for inclusion in glibc, extends the generation of PASS and FAIL status in .test-result files for individual tests to cover tests with their own custom makefile rules. This is just adding $(evaluate-test) calls to all such rules, since tests with multiple commands were previously split into separate tests. Note that the tests the makefiles expect to fail (posix/annexc and conformtest) currently get FAIL listed in the .test-result file, rather than XFAIL; a subsequent patch will introduce a better XFAIL mechanism. Tested x86_64. * Makefile ($(objpfx)c++-types-check.out): Use $(evaluate-test). ($(objpfx)check-local-headers.out): Likewise. ($(objpfx)begin-end-check.out): Likewise. * Makerules (check-abi-%.out): Likewise. * catgets/Makefile ($(objpfx)test1.cat): Likewise. ($(objpfx)test2.cat): Likewise. ($(objpfx)de/libc.cat): Likewise. ($(objpfx)test-gencat.out): Likewise. * conform/Makefile ($(objpfx)run-conformtest.out): Likewise. * elf/Makefile ($(objpfx)order-cmp.out): Likewise. ($(objpfx)noload-mem): Likewise. ($(objpfx)tst-pathopt.out): Likewise. ($(objpfx)tst-rtld-load-self.out): Likewise. ($(objpfx)tst-array1-cmp.out): Likewise. ($(objpfx)tst-array1-static-cmp.out): Likewise. ($(objpfx)tst-array2-cmp.out): Likewise. ($(objpfx)tst-array3-cmp.out): Likewise. ($(objpfx)tst-array4-cmp.out): Likewise. ($(objpfx)tst-array5-cmp.out): Likewise. ($(objpfx)tst-array5-static-cmp.out): Likewise. ($(objpfx)check-textrel.out): Likewise. ($(objpfx)check-execstack.out): Likewise. ($(objpfx)check-localplt.out): Likewise. ($(objpfx)order2-cmp.out): Likewise. ($(objpfx)tst-leaks1-mem): Likewise. ($(objpfx)tst-leaks1-static-mem): Likewise. ($(objpfx)tst-initorder-cmp.out): Likewise. ($(objpfx)tst-initorder2-cmp.out): Likewise. ($(objpfx)tst-unused-dep.out): Likewise. ($(objpfx)tst-unused-dep-cmp.out): Likewise. * grp/Makefile ($(objpfx)tst_fgetgrent.out): Likewise. * iconv/Makefile (test-iconvconfig): Likewise. * iconvdata/Makefile ($(objpfx)mtrace-tst-loading): Likewise. ($(objpfx)iconv-test.out): Likewise. ($(objpfx)tst-tables.out): Likewise. * intl/Makefile ($(objpfx)mtrace-tst-gettext): Likewise. ($(objpfx)tst-gettext.out): Likewise. ($(objpfx)tst-translit.out): Likewise. ($(objpfx)tst-gettext2.out): Likewise. ($(objpfx)tst-gettext4.out): Likewise. ($(objpfx)tst-gettext6.out): Likewise. * io/Makefile ($(objpfx)ftwtest.out): Likewise. * libio/Makefile ($(objpfx)test-freopen.out): Likewise. ($(objpfx)tst-fopenloc-cmp.out): Likewise. ($(objpfx)tst-fopenloc-mem.out): Likewise. * malloc/Makefile ($(objpfx)tst-mtrace.out): Likewise. * misc/Makefile ($(objpfx)tst-error1-mem): Likewise. * posix/Makefile ($(objpfx)globtest.out): Likewise. ($(objpfx)wordexp-tst.out): Likewise. ($(objpfx)annexc.out): Likewise. ($(objpfx)tst-fnmatch-mem): Likewise. ($(objpfx)bug-regex2-mem): Likewise. ($(objpfx)bug-regex14-mem): Likewise. ($(objpfx)bug-regex21-mem): Likewise. ($(objpfx)bug-regex31-mem): Likewise. ($(objpfx)tst-vfork3-mem): Likewise. ($(objpfx)tst-rxspencer-no-utf8-mem): Likewise. ($(objpfx)tst-pcre-mem): Likewise. ($(objpfx)tst-boost-mem): Likewise. ($(objpfx)tst-getconf.out): Likewise. ($(objpfx)bug-ga2-mem): Likewise. ($(objpfx)bug-glob2-mem): Likewise. * resolv/Makefile ($(objpfx)mtrace-tst-leaks): Likewise. ($(objpfx)mtrace-tst-leaks2): Likewise. * stdio-common/Makefile ($(objpfx)tst-unbputc.out): Likewise. ($(objpfx)tst-printf.out): Likewise. ($(objpfx)tst-setvbuf1.out): Likewise. ($(objpfx)tst-setvbuf1-cmp.out): Likewise. * stdlib/Makefile ($(objpfx)isomac.out): Likewise. ($(objpfx)tst-fmtmsg.out): Likewise. * string/Makefile ($(objpfx)tst-svc-cmp.out): Likewise. * sysdeps/x86/Makefile ($(objpfx)tst-xmmymm.out): Likewise. localedata: * Makefile ($(objpfx)sort-test.out): Use $(evaluate-test). ($(objpfx)tst-fmon.out): Likewise. ($(objpfx)tst-numeric.out): Likewise. ($(objpfx)tst-locale.out): Likewise. ($(objpfx)tst-rpmatch.out): Likewise. ($(objpfx)tst-trans.out): Likewise. ($(objpfx)tst-mbswcs.out): Likewise. ($(objpfx)tst-ctype.out): Likewise. ($(objpfx)tst-wctype.out): Likewise. ($(objpfx)tst-langinfo.out): Likewise. ($(objpfx)mtrace-tst-leaks): Likewise. nptl: * Makefile ($(objpfx)tst-stack3-mem): Use $(evaluate-test). ($(objpfx)tst-tls6.out): Likewise. ($(objpfx)tst-cleanup0.out): Likewise. ($(objpfx)tst-cleanup0-cmp.out): Likewise. ($(objpfx)tst-cancel-wrappers.out): Likewise. ($(objpfx)tst-oddstacklimit.out): Likewise. nptl_db: * Makefile ($(objpfx)db-symbols.out): Use $(evaluate-test).
147 lines
5.2 KiB
Makefile
147 lines
5.2 KiB
Makefile
# Copyright (C) 1991-2014 Free Software Foundation, Inc.
|
|
# This file is part of the GNU C Library.
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
|
|
# The GNU C Library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with the GNU C Library; if not, see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
#
|
|
# Specific makefile for stdio-common.
|
|
#
|
|
subdir := stdio-common
|
|
|
|
headers := stdio_ext.h printf.h bits/printf-ldbl.h bits/stdio_lim.h
|
|
|
|
routines := \
|
|
ctermid cuserid \
|
|
_itoa _itowa itoa-digits itoa-udigits itowa-digits \
|
|
vfprintf vprintf printf_fp reg-printf printf-prs printf_fphex \
|
|
reg-modifier reg-type \
|
|
printf_size fprintf printf snprintf sprintf asprintf dprintf \
|
|
vfwprintf vfscanf vfwscanf \
|
|
fscanf scanf sscanf \
|
|
perror psignal \
|
|
tmpfile tmpfile64 tmpnam tmpnam_r tempnam tempname \
|
|
getline getw putw \
|
|
remove rename renameat \
|
|
flockfile ftrylockfile funlockfile \
|
|
isoc99_scanf isoc99_vscanf isoc99_fscanf isoc99_vfscanf isoc99_sscanf \
|
|
isoc99_vsscanf \
|
|
psiginfo
|
|
|
|
include ../Makeconfig
|
|
|
|
aux := errlist siglist printf-parsemb printf-parsewc fxprintf
|
|
|
|
tests := tstscanf test_rdwr test-popen tstgetln test-fseek \
|
|
temptest tst-fileno test-fwrite tst-ungetc tst-ferror \
|
|
xbug errnobug \
|
|
bug1 bug2 bug3 bug4 bug5 bug6 bug7 bug8 bug9 bug10 bug11 bug12 bug13 \
|
|
tfformat tiformat tllformat tstdiomisc tst-printfsz tst-wc-printf \
|
|
scanf1 scanf2 scanf3 scanf4 scanf5 scanf7 scanf8 scanf9 scanf10 \
|
|
scanf11 scanf12 tst-tmpnam tst-cookie tst-obprintf tst-sscanf \
|
|
tst-swprintf tst-fseek tst-fmemopen test-vfprintf tst-gets \
|
|
tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 \
|
|
tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \
|
|
tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
|
|
bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
|
|
scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \
|
|
bug-vfprintf-nargs tst-long-dbl-fphex tst-fphex-wide tst-sprintf3 \
|
|
bug25 tst-printf-round bug26
|
|
|
|
test-srcs = tst-unbputc tst-printf
|
|
|
|
include ../Rules
|
|
|
|
ifeq ($(run-built-tests),yes)
|
|
tests: $(objpfx)tst-unbputc.out $(objpfx)tst-printf.out
|
|
|
|
$(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc
|
|
$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \
|
|
$(evaluate-test)
|
|
|
|
$(objpfx)tst-printf.out: tst-printf.sh $(objpfx)tst-printf
|
|
$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \
|
|
$(evaluate-test)
|
|
endif
|
|
|
|
CFLAGS-vfprintf.c = -Wno-uninitialized
|
|
CFLAGS-vfwprintf.c = -Wno-uninitialized
|
|
CFLAGS-tst-printf.c = -Wno-format
|
|
CFLAGS-tstdiomisc.c = -Wno-format
|
|
CFLAGS-scanf4.c = -Wno-format
|
|
CFLAGS-scanf7.c = -Wno-format
|
|
CFLAGS-tst-printfsz.c = -Wno-format
|
|
|
|
CFLAGS-tmpfile.c = -fexceptions
|
|
CFLAGS-tmpfile64.c = -fexceptions
|
|
CFLAGS-tempname.c = -fexceptions
|
|
CFLAGS-psignal.c = -fexceptions
|
|
CFLAGS-vprintf.c = -fexceptions
|
|
CFLAGS-cuserid.c = -fexceptions
|
|
|
|
CFLAGS-vfprintf.c += $(exceptions)
|
|
CFLAGS-fprintf.c += $(exceptions)
|
|
CFLAGS-printf.c += $(exceptions)
|
|
CFLAGS-vfwprintf.c += $(exceptions)
|
|
CFLAGS-vfscanf.c += $(exceptions)
|
|
CFLAGS-vfwscanf.c += $(exceptions)
|
|
CFLAGS-fscanf.c += $(exceptions)
|
|
CFLAGS-scanf.c += $(exceptions)
|
|
CFLAGS-isoc99_vfscanf.c += $(exceptions)
|
|
CFLAGS-isoc99_vscanf.c += $(exceptions)
|
|
CFLAGS-isoc99_fscanf.c += $(exceptions)
|
|
CFLAGS-isoc99_scanf.c += $(exceptions)
|
|
CFLAGS-errlist.c = $(fno-unit-at-a-time)
|
|
CFLAGS-siglist.c = $(fno-unit-at-a-time)
|
|
|
|
# The following is a hack since we must compile scanf1{5,7}.c without any
|
|
# GNU extension. The latter are needed, though, when internal headers
|
|
# are used. So made sure we see the installed headers first.
|
|
CFLAGS-scanf15.c = -I../libio -I../stdlib -I../wcsmbs -I../time -I../string \
|
|
-I../wctype
|
|
CFLAGS-scanf17.c = -I../libio -I../stdlib -I../wcsmbs -I../time -I../string \
|
|
-I../wctype
|
|
|
|
# We know the test has a format string problem.
|
|
CFLAGS-tst-sprintf.c = -Wno-format
|
|
tst-sprintf-ENV = LOCPATH=$(common-objpfx)localedata
|
|
tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata
|
|
tst-swprintf-ENV = LOCPATH=$(common-objpfx)localedata
|
|
tst-swscanf-ENV = LOCPATH=$(common-objpfx)localedata
|
|
test-vfprintf-ENV = LOCPATH=$(common-objpfx)localedata
|
|
scanf13-ENV = LOCPATH=$(common-objpfx)localedata
|
|
bug14-ENV = LOCPATH=$(common-objpfx)localedata
|
|
tst-grouping-ENV = LOCPATH=$(common-objpfx)localedata
|
|
|
|
CPPFLAGS += $(libio-mtsafe)
|
|
|
|
ifeq ($(run-built-tests),yes)
|
|
tests: $(objpfx)tst-setvbuf1-cmp.out
|
|
endif
|
|
|
|
$(objpfx)tst-setvbuf1.out: /dev/null $(objpfx)tst-setvbuf1
|
|
$(test-program-cmd) > $@ 2>&1; \
|
|
$(evaluate-test)
|
|
|
|
$(objpfx)tst-setvbuf1-cmp.out: tst-setvbuf1.expect $(objpfx)tst-setvbuf1.out
|
|
cmp $^ > $@; \
|
|
$(evaluate-test)
|
|
|
|
ifeq ($(build-shared),yes)
|
|
link-libm = $(common-objpfx)math/libm.so
|
|
else
|
|
link-libm = $(common-objpfx)math/libm.a
|
|
endif
|
|
$(objpfx)tst-printf-round: $(link-libm)
|