From f0881698bf244bcb16c394d2d6258d975a11baef Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 21 Feb 2014 21:48:08 +0000 Subject: Generate .test-result files for tests with special rules. This patch, an updated version of 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). --- elf/Makefile | 63 ++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 21 deletions(-) (limited to 'elf') diff --git a/elf/Makefile b/elf/Makefile index 6f4f2f81b5..863acd8627 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -641,7 +641,8 @@ ifeq ($(run-built-tests),yes) tests: $(objpfx)order-cmp.out endif $(objpfx)order-cmp.out: $(objpfx)order.out - (echo "0123456789" | cmp $< -) > $@ + (echo "0123456789" | cmp $< -) > $@; \ + $(evaluate-test) $(objpfx)vismain: $(addprefix $(objpfx),vismod1.so vismod2.so) $(objpfx)vismain.out: $(addprefix $(objpfx),vismod3.so) @@ -652,7 +653,8 @@ LDFLAGS-noload = -rdynamic $(no-as-needed) $(objpfx)noload.out: $(objpfx)testobj5.so $(objpfx)noload-mem: $(objpfx)noload.out - $(common-objpfx)malloc/mtrace $(objpfx)noload.mtrace > $@ + $(common-objpfx)malloc/mtrace $(objpfx)noload.mtrace > $@; \ + $(evaluate-test) noload-ENV = MALLOC_TRACE=$(objpfx)noload.mtrace LDFLAGS-nodelete = -rdynamic @@ -704,10 +706,12 @@ $(objpfx)lateglobal.out: $(objpfx)ltglobmod1.so $(objpfx)ltglobmod2.so $(objpfx)tst-pathopt: $(libdl) $(objpfx)tst-pathopt.out: tst-pathopt.sh $(objpfx)tst-pathopt \ $(objpfx)pathoptobj.so - $(SHELL) $< $(common-objpfx) '$(test-wrapper-env)' + $(SHELL) $< $(common-objpfx) '$(test-wrapper-env)'; \ + $(evaluate-test) $(objpfx)tst-rtld-load-self.out: tst-rtld-load-self.sh $(objpfx)ld.so - $(SHELL) $^ '$(test-wrapper)' '$(test-wrapper-env)' > $@ + $(SHELL) $^ '$(test-wrapper)' '$(test-wrapper-env)' > $@; \ + $(evaluate-test) $(objpfx)initfirst: $(libdl) $(objpfx)initfirst.out: $(objpfx)firstobj.so @@ -857,31 +861,38 @@ tests: $(objpfx)tst-array1-cmp.out $(objpfx)tst-array1-static-cmp.out \ endif $(objpfx)tst-array1-cmp.out: tst-array1.exp $(objpfx)tst-array1.out - cmp $^ > $@ + cmp $^ > $@; \ + $(evaluate-test) $(objpfx)tst-array1-static-cmp.out: tst-array1.exp \ $(objpfx)tst-array1-static.out - cmp $^ > $@ + cmp $^ > $@; \ + $(evaluate-test) $(objpfx)tst-array2: $(objpfx)tst-array2dep.so $(objpfx)tst-array2-cmp.out: tst-array2.exp $(objpfx)tst-array2.out - cmp $^ > $@ + cmp $^ > $@; \ + $(evaluate-test) $(objpfx)tst-array3-cmp.out: tst-array1.exp $(objpfx)tst-array3.out - cmp $^ > $@ + cmp $^ > $@; \ + $(evaluate-test) $(objpfx)tst-array4: $(libdl) $(objpfx)tst-array4.out: $(objpfx)tst-array2dep.so $(objpfx)tst-array4-cmp.out: tst-array4.exp $(objpfx)tst-array4.out - cmp $^ > $@ + cmp $^ > $@; \ + $(evaluate-test) $(objpfx)tst-array5: $(objpfx)tst-array5dep.so $(objpfx)tst-array5-cmp.out: tst-array5.exp $(objpfx)tst-array5.out - cmp $^ > $@ + cmp $^ > $@; \ + $(evaluate-test) $(objpfx)tst-array5-static-cmp.out: tst-array5-static.exp \ $(objpfx)tst-array5-static.out - cmp $^ > $@ + cmp $^ > $@; \ + $(evaluate-test) CFLAGS-tst-pie1.c += $(pie-ccflag) @@ -905,7 +916,8 @@ common-generated += $(all-built-dso:$(common-objpfx)%=%.dyn) $(objpfx)check-textrel.out: $(..)scripts/check-textrel.awk \ $(all-built-dso:=.dyn) - LC_ALL=C $(AWK) -f $^ > $@ + LC_ALL=C $(AWK) -f $^ > $@; \ + $(evaluate-test) generated += check-textrel.out $(objpfx)execstack-default: $(first-word $(wildcard $(sysdirs:%=%/stackinfo.h))) @@ -932,7 +944,8 @@ common-generated += $(all-built-dso:$(common-objpfx)%=%.phdr) $(objpfx)check-execstack.out: $(..)scripts/check-execstack.awk \ $(objpfx)execstack-default \ $(all-built-dso:=.phdr) - LC_ALL=C $(AWK) -f $^ > $@ + LC_ALL=C $(AWK) -f $^ > $@; \ + $(evaluate-test) generated += check-execstack.out $(objpfx)tst-dlmodcount: $(libdl) @@ -967,7 +980,8 @@ $(objpfx)check-localplt.out: $(..)scripts/check-localplt.awk \ localplt.data LC_ALL=C $(AWK) -f $(filter-out $< %localplt.data,$^) | \ LC_ALL=C $(AWK) -f $< $(filter %localplt.data,$^) - \ - > $@ + > $@; \ + $(evaluate-test) endif $(objpfx)tst-dlopenrpathmod.so: $(libdl) @@ -1011,7 +1025,8 @@ endif $(objpfx)order2: $(libdl) $(objpfx)order2.out: $(objpfx)order2mod1.so $(objpfx)order2mod2.so $(objpfx)order2-cmp.out: $(objpfx)order2.out - (echo "12345" | cmp $< -) > $@ + (echo "12345" | cmp $< -) > $@; \ + $(evaluate-test) $(objpfx)order2mod1.so: $(objpfx)order2mod4.so $(objpfx)order2mod4.so: $(objpfx)order2mod3.so $(objpfx)order2mod2.so: $(objpfx)order2mod3.so @@ -1030,11 +1045,13 @@ tst-ptrguard1-static-ARGS = --command "$(objpfx)tst-ptrguard1-static --child" $(objpfx)tst-leaks1: $(libdl) $(objpfx)tst-leaks1-mem: $(objpfx)tst-leaks1.out - $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1.mtrace > $@ + $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1.mtrace > $@; \ + $(evaluate-test) $(objpfx)tst-leaks1-static: $(common-objpfx)dlfcn/libdl.a $(objpfx)tst-leaks1-static-mem: $(objpfx)tst-leaks1-static.out - $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1-static.mtrace > $@ + $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1-static.mtrace > $@; \ + $(evaluate-test) tst-leaks1-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1.mtrace tst-leaks1-static-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1-static.mtrace @@ -1111,7 +1128,8 @@ ifeq ($(run-built-tests),yes) tests: $(objpfx)tst-initorder-cmp.out endif $(objpfx)tst-initorder-cmp.out: tst-initorder.exp $(objpfx)tst-initorder.out - cmp $^ > $@ + cmp $^ > $@; \ + $(evaluate-test) $(objpfx)tst-initorder2: $(objpfx)tst-initorder2a.so $(objpfx)tst-initorder2d.so $(objpfx)tst-initorder2c.so $(objpfx)tst-initorder2a.so: $(objpfx)tst-initorder2b.so @@ -1132,7 +1150,8 @@ ifeq ($(run-built-tests),yes) tests: $(objpfx)tst-initorder2-cmp.out endif $(objpfx)tst-initorder2-cmp.out: tst-initorder2.exp $(objpfx)tst-initorder2.out - cmp $^ > $@ + cmp $^ > $@; \ + $(evaluate-test) $(objpfx)tst-relsort1: $(libdl) $(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so @@ -1151,7 +1170,9 @@ $(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so LD_PRELOAD= \ $(elf-objpfx)${rtld-installed-name} \ --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \ - $< > $@ + $< > $@; \ + $(evaluate-test) $(objpfx)tst-unused-dep-cmp.out: $(objpfx)tst-unused-dep.out - cmp $< /dev/null > $@ + cmp $< /dev/null > $@; \ + $(evaluate-test) -- cgit 1.4.1