This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[2.20] [2/6] Generate .test-result files for tests with special rules


This patch extends the generation of PASS and FAIL status in
.test-result files for individual tests to cover tests with their own
custom makefile rules.

In general it's just adding $(evaluate-test) calls to all such rules.
Where a rule had multiple commands, they need linking in the form

	command1 && command2; $(evaluate-test)

so that $(evaluate-test) still gets run even if the first command
fails and so the second isn't run at all.

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; patch 3 will introduce a better XFAIL mechanism.

There are a few stylistic questions here:

* Should $(evaluate-test) go on the same line as the previous part of
  the command if it fits, or always on a separate line (or on a
  separate line unless the whole thing fits on a single line)?  (Patch
  1 uses a single line; this patch generally puts it on the same line
  as the previous part of the command if it fits.)

* Where && is used between commands, should it go at the start of a
  line (normal GNU style, and used in this patch) or at the end of a
  line (used in various places in existing makefiles), and if at the
  start, should the continuation line be indented?

* Should all tests that generate a .out file and then further examine
  it (e.g. comparing with an expected file) have their makefile rules
  split (in a separate patch) into part that generates the file and
  part that examines its contents (the two parts each having their own
  test results)?  This would reduce the need for use of && in test
  commands.

* Should all the tests generating output files not named
  <something>.out be changed (in a separate patch) to use the .out
  naming convention?

Tested x86_64.

2014-01-10  Joseph Myers  <joseph@codesourcery.com>

	* Makefile ($(objpfx)c++-types-check.out): Use $(evaluate-test).
	($(objpfx)check-local-headers.out): Likewise.
	($(objpfx)begin-end-check.out): Likewise.
	* Makerules (check-abi-%): 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.out): Likewise.
	($(objpfx)noload-mem): Likewise.
	($(objpfx)tst-pathopt.out): Likewise.
	($(objpfx)tst-rtld-load-self.out): Likewise.
	($(objpfx)tst-array1.out): Likewise.
	($(objpfx)tst-array1-static.out): Likewise.
	($(objpfx)tst-array2.out): Likewise.
	($(objpfx)tst-array3.out): Likewise.
	($(objpfx)tst-array4.out): Likewise.
	($(objpfx)tst-array5.out): Likewise.
	($(objpfx)tst-array5-static.out): Likewise.
	($(objpfx)check-textrel.out:): Likewise.
	($(objpfx)check-execstack.out): Likewise.
	($(objpfx)check-localplt.out): Likewise.
	($(objpfx)order2.out): Likewise.
	($(objpfx)tst-leaks1-mem): Likewise.
	($(objpfx)tst-leaks1-static-mem): Likewise.
	($(objpfx)tst-initorder.out): Likewise.
	($(objpfx)tst-initorder2.out): Likewise.
	($(objpfx)tst-unused-dep.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.check): 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-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.
	* stdlib/Makefile ($(objpfx)isomac.out): Likewise.
	($(objpfx)tst-fmtmsg.out): Likewise.
	* string/Makefile ($(objpfx)tst-svc.out): Likewise.
	* sysdeps/x86/Makefile ($(objpfx)tst-xmmymm.out): Likewise.

localedata:
2014-01-10  Joseph Myers  <joseph@codesourcery.com>

	* 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:
2014-01-10  Joseph Myers  <joseph@codesourcery.com>

	* nptl/Makefile ($(objpfx)tst-stack3-mem): Use $(evaluate-test).
	($(objpfx)tst-tls6.out): Likewise.
	($(objpfx)tst-cleanup0.out): Likewise.
	($(objpfx)tst-cancel-wrappers.out): Likewise.
	($(objpfx)tst-oddstacklimit.out): Likewise.

nptl_db:
2014-01-10  Joseph Myers  <joseph@codesourcery.com>

	* nptl_db/Makefile ($(objpfx)db-symbols.out): Use
	$(evaluate-test).

diff --git a/Makefile b/Makefile
index 51d4690..fe10c82 100644
--- a/Makefile
+++ b/Makefile
@@ -256,12 +256,16 @@ ifneq ($(CXX),no)
 vpath c++-types.data $(+sysdep_dirs)
 
 $(objpfx)c++-types-check.out: c++-types.data scripts/check-c++-types.sh
-	scripts/check-c++-types.sh $< $(CXX) $(filter-out -std=gnu99 -Wstrict-prototypes,$(CFLAGS)) $(CPPFLAGS) > $@
+	scripts/check-c++-types.sh $< $(CXX) \
+	  $(filter-out -std=gnu99 -Wstrict-prototypes,$(CFLAGS)) $(CPPFLAGS) \
+	  > $@; \
+	$(evaluate-test)
 endif
 
 $(objpfx)check-local-headers.out: scripts/check-local-headers.sh
 	AWK='$(AWK)' scripts/check-local-headers.sh \
-	  "$(includedir)" "$(objpfx)" > $@
+	  "$(includedir)" "$(objpfx)" > $@; \
+	$(evaluate-test)
 
 ifneq ($(PERL),no)
 installed-headers = argp/argp.h assert/assert.h catgets/nl_types.h \
@@ -310,7 +314,8 @@ installed-headers = argp/argp.h assert/assert.h catgets/nl_types.h \
 
 tests: $(objpfx)begin-end-check.out
 $(objpfx)begin-end-check.out: scripts/begin-end-check.pl
-	$(PERL) scripts/begin-end-check.pl $(installed-headers) > $@
+	$(PERL) scripts/begin-end-check.pl $(installed-headers) > $@; \
+	$(evaluate-test)
 endif
 
 # The realclean target is just like distclean for the parent, but we want
diff --git a/Makerules b/Makerules
index 70a7108..d818d7f 100644
--- a/Makerules
+++ b/Makerules
@@ -1185,9 +1185,9 @@ vpath %.abilist $(+sysdep_dirs)
 generated += $(extra-libs:=.symlist)
 
 check-abi-%: $(common-objpfx)config.make %.abilist $(objpfx)%.symlist
-	$(check-abi)
+	$(check-abi); $(evaluate-test)
 check-abi-%: $(common-objpfx)config.make %.abilist $(common-objpfx)%.symlist
-	$(check-abi)
+	$(check-abi); $(evaluate-test)
 define check-abi
 	diff -p -U 0 $(filter %.abilist,$^) $(filter %.symlist,$^)
 endef
diff --git a/catgets/Makefile b/catgets/Makefile
index c95442d..17ef907 100644
--- a/catgets/Makefile
+++ b/catgets/Makefile
@@ -58,15 +58,16 @@ tests: $(objpfx)de/libc.cat $(objpfx)test1.cat $(objpfx)test2.cat \
 $(objpfx)test1.cat: test1.msg $(objpfx)gencat
 	LC_ALL=hr_HR.ISO-8859-2 LOCPATH=$(common-objpfx)localedata \
 	GCONV_PATH=$(common-objpfx)iconvdata \
-	$(built-program-cmd) -H $(objpfx)test1.h $@ $<
+	$(built-program-cmd) -H $(objpfx)test1.h $@ $<; $(evaluate-test)
 $(objpfx)test2.cat: test2.msg $(objpfx)gencat
 	LOCPATH=$(common-objpfx)localedata \
 	GCONV_PATH=$(common-objpfx)iconvdata \
-	$(built-program-cmd) -H $(objpfx)test2.h $@ $<
+	$(built-program-cmd) -H $(objpfx)test2.h $@ $<; $(evaluate-test)
 $(objpfx)de/libc.cat: $(objpfx)de.msg $(objpfx)gencat
 	$(make-target-directory)
 	LC_ALL=de_DE.ISO-8859-1 LOCPATH=$(common-objpfx)localedata \
-	GCONV_PATH=$(common-objpfx)iconvdata $(built-program-cmd) $@ $<
+	GCONV_PATH=$(common-objpfx)iconvdata $(built-program-cmd) $@ $<; \
+	$(evaluate-test)
 $(objpfx)tst-catgets.out: $(objpfx)de/libc.cat
 
 # Generate a non-simple input file.
@@ -75,7 +76,7 @@ $(objpfx)de.msg: xopen-msg.awk $(..)po/de.po
 
 $(objpfx)test-gencat.out: test-gencat.sh $(objpfx)test-gencat \
 			  $(objpfx)sample.SJIS.cat
-	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'; $(evaluate-test)
 
 $(objpfx)sample.SJIS.cat: sample.SJIS $(objpfx)gencat
 	GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
diff --git a/conform/Makefile b/conform/Makefile
index df510d8..0761a1c 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -32,6 +32,7 @@ $(objpfx)run-conformtest.out: run-conformtest.sh conformtest.pl \
 			      $(wildcard data/*.h-data) \
 			      $(wildcard data/*/*.h-data)
 	-$(BASH) -e $< $(objpfx) $(PERL) '$(CC)' \
-	  '-I../include $(+sysdep-includes) $(sysincludes) -I..'
+	  '-I../include $(+sysdep-includes) $(sysincludes) -I..'; \
+	$(evaluate-test)
 
 generated = $(wildcard $(objpfx)conform-*.out)
diff --git a/elf/Makefile b/elf/Makefile
index 4c58fc9..be5919b 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -639,8 +639,9 @@ $(objpfx)order: $(addprefix $(objpfx),dep4.so dep3.so dep2.so dep1.so)
 
 $(objpfx)order.out: $(objpfx)order
 	$(test-program-prefix) \
-	  $(objpfx)order > $@
-	(echo "0123456789" | cmp $@ -) > /dev/null
+	  $(objpfx)order > $@ \
+	&& (echo "0123456789" | cmp $@ -) > /dev/null; \
+	$(evaluate-test)
 
 $(objpfx)vismain: $(addprefix $(objpfx),vismod1.so vismod2.so)
 $(objpfx)vismain.out: $(addprefix $(objpfx),vismod3.so)
@@ -651,7 +652,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
@@ -703,10 +705,11 @@ $(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
@@ -849,37 +852,37 @@ LDFLAGS-tst-array2 = $(no-as-needed)
 LDFLAGS-tst-array5 = $(no-as-needed)
 
 $(objpfx)tst-array1.out: tst-array1.exp $(objpfx)tst-array1
-	$(test-program-cmd) > $@
-	cmp $@ tst-array1.exp > /dev/null
+	$(test-program-cmd) > $@ \
+	&& cmp $@ tst-array1.exp > /dev/null; $(evaluate-test)
 
 $(objpfx)tst-array1-static.out: tst-array1.exp $(objpfx)tst-array1-static
-	$(test-program-cmd) > $@
-	cmp $@ tst-array1.exp > /dev/null
+	$(test-program-cmd) > $@ \
+	&& cmp $@ tst-array1.exp > /dev/null; $(evaluate-test)
 
 $(objpfx)tst-array2: $(objpfx)tst-array2dep.so
 $(objpfx)tst-array2.out: tst-array2.exp $(objpfx)tst-array2
-	$(test-program-cmd) > $@
-	cmp $@ tst-array2.exp > /dev/null
+	$(test-program-cmd) > $@ \
+	&& cmp $@ tst-array2.exp > /dev/null; $(evaluate-test)
 
 $(objpfx)tst-array3.out: tst-array1.exp $(objpfx)tst-array3
-	$(test-program-cmd) > $@
-	cmp $@ tst-array1.exp > /dev/null
+	$(test-program-cmd) > $@ \
+	&& cmp $@ tst-array1.exp > /dev/null; $(evaluate-test)
 
 $(objpfx)tst-array4: $(libdl)
 $(objpfx)tst-array4.out: tst-array4.exp $(objpfx)tst-array4 \
 			 $(objpfx)tst-array2dep.so
-	$(test-program-cmd) > $@
-	cmp $@ tst-array4.exp > /dev/null
+	$(test-program-cmd) > $@ \
+	&& cmp $@ tst-array4.exp > /dev/null; $(evaluate-test)
 
 $(objpfx)tst-array5: $(objpfx)tst-array5dep.so
 $(objpfx)tst-array5.out: tst-array5.exp $(objpfx)tst-array5
-	$(test-program-cmd) > $@
-	cmp $@ tst-array5.exp > /dev/null
+	$(test-program-cmd) > $@ \
+	&& cmp $@ tst-array5.exp > /dev/null; $(evaluate-test)
 
 $(objpfx)tst-array5-static.out: tst-array5-static.exp \
 				$(objpfx)tst-array5-static
-	$(test-program-cmd) > $@
-	cmp $@ tst-array5-static.exp > /dev/null
+	$(test-program-cmd) > $@ \
+	&& cmp $@ tst-array5-static.exp > /dev/null; $(evaluate-test)
 
 CFLAGS-tst-pie1.c += $(pie-ccflag)
 
@@ -903,7 +906,7 @@ 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)))
@@ -930,7 +933,7 @@ 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)
@@ -965,7 +968,7 @@ $(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)
@@ -1007,8 +1010,8 @@ $(objpfx)order2: $(libdl)
 $(objpfx)order2.out: $(objpfx)order2 $(objpfx)order2mod1.so \
 		     $(objpfx)order2mod2.so
 	$(test-program-prefix) \
-	  $(objpfx)order2 > $@
-	(echo "12345" | cmp $@ -) > /dev/null
+	  $(objpfx)order2 > $@ \
+	&& (echo "12345" | cmp $@ -) > /dev/null; $(evaluate-test)
 $(objpfx)order2mod1.so: $(objpfx)order2mod4.so
 $(objpfx)order2mod4.so: $(objpfx)order2mod3.so
 $(objpfx)order2mod2.so: $(objpfx)order2mod3.so
@@ -1027,11 +1030,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
@@ -1106,8 +1111,8 @@ $(objpfx)tst-unique4: $(objpfx)tst-unique4lib.so
 
 $(objpfx)tst-initorder.out: $(objpfx)tst-initorder
 	$(test-program-prefix) \
-	  $< > $@
-	cmp $@ tst-initorder.exp > /dev/null
+	  $< > $@ \
+	&& cmp $@ tst-initorder.exp > /dev/null; $(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
@@ -1126,8 +1131,8 @@ include $(o-iterator)
 
 $(objpfx)tst-initorder2.out: $(objpfx)tst-initorder2
 	$(test-program-prefix) \
-	  $< > $@
-	cmp $@ tst-initorder2.exp > /dev/null
+	  $< > $@ \
+	&& cmp $@ tst-initorder2.exp > /dev/null; $(evaluate-test)
 
 $(objpfx)tst-relsort1: $(libdl)
 $(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so
@@ -1146,5 +1151,5 @@ $(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so
 	LD_PRELOAD= \
 	$(elf-objpfx)${rtld-installed-name} \
 	  --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
-	  $< > $@
-	cmp $@ /dev/null > /dev/null
+	  $< > $@ \
+	&& cmp $@ /dev/null > /dev/null; $(evaluate-test)
diff --git a/grp/Makefile b/grp/Makefile
index 3aa3176..880cff9 100644
--- a/grp/Makefile
+++ b/grp/Makefile
@@ -55,7 +55,7 @@ ifeq ($(run-built-tests),yes)
 ifeq (yes,$(build-shared))
 tests: $(objpfx)tst_fgetgrent.out
 $(objpfx)tst_fgetgrent.out: tst_fgetgrent.sh $(objpfx)tst_fgetgrent
-	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; $(evaluate-test)
 
 endif
 endif
diff --git a/iconv/Makefile b/iconv/Makefile
index e0d8ef1..03e2b41 100644
--- a/iconv/Makefile
+++ b/iconv/Makefile
@@ -78,4 +78,4 @@ test-iconvconfig: /dev/null $(objpfx)iconvconfig
 	rm -f $$tmp; \
 	$(make-test-out) --output=$$tmp --nostdlib $(inst_gconvdir) && \
 	cmp $$tmp $(inst_gconvdir)/gconv-modules.cache && \
-	rm -f $$tmp
+	rm -f $$tmp; $(evaluate-test)
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index 5c2154e..34110da 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -278,7 +278,8 @@ endif
 
 tst-loading-ENV = MALLOC_TRACE=$(objpfx)tst-loading.mtrace
 $(objpfx)mtrace-tst-loading: $(objpfx)tst-loading.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-loading.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-loading.mtrace > $@; \
+	$(evaluate-test)
 
 $(objpfx)bug-iconv1.out: $(objpfx)gconv-modules \
 			 $(addprefix $(objpfx),$(modules.so))
@@ -299,13 +300,13 @@ $(objpfx)tst-iconv7.out: $(objpfx)gconv-modules \
 $(objpfx)iconv-test.out: run-iconv-test.sh $(objpfx)gconv-modules \
 			 $(addprefix $(objpfx),$(modules.so)) \
 			 $(common-objdir)/iconv/iconv_prog TESTS
-	$(SHELL) $< $(common-objdir) '$(test-wrapper)' > $@
+	$(SHELL) $< $(common-objdir) '$(test-wrapper)' > $@; $(evaluate-test)
 
 $(objpfx)tst-tables.out: tst-tables.sh $(objpfx)gconv-modules \
 			 $(addprefix $(objpfx),$(modules.so)) \
 			 $(objpfx)tst-table-from $(objpfx)tst-table-to
 	$(SHELL) $< $(common-objpfx) $(common-objpfx)iconvdata/ \
-		'$(test-program-prefix)' > $@
+		'$(test-program-prefix)' > $@; $(evaluate-test)
 
 do-tests-clean common-mostlyclean: tst-tables-clean
 
diff --git a/intl/Makefile b/intl/Makefile
index 93d2f9d..fbe4ff4 100644
--- a/intl/Makefile
+++ b/intl/Makefile
@@ -72,20 +72,23 @@ $(codeset_mo): tstcodeset.po
 	mv -f $@T $@
 
 $(objpfx)mtrace-tst-gettext: $(objpfx)tst-gettext.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-gettext.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-gettext.mtrace > $@; \
+	$(evaluate-test)
 $(objpfx)tst-gettext.out: tst-gettext.sh $(objpfx)tst-gettext
 	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \
-	  $(common-objpfx)intl/ $(objpfx)tst-gettext.mtrace
+	  $(common-objpfx)intl/ $(objpfx)tst-gettext.mtrace; $(evaluate-test)
 $(objpfx)tst-translit.out: tst-translit.sh $(objpfx)tst-translit
 	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \
-	  $(common-objpfx)intl/
+	  $(common-objpfx)intl/; $(evaluate-test)
 $(objpfx)tst-gettext2.out: tst-gettext2.sh $(objpfx)tst-gettext2
 	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \
-	  $(common-objpfx)intl/
+	  $(common-objpfx)intl/; $(evaluate-test)
 $(objpfx)tst-gettext4.out: tst-gettext4.sh $(objpfx)tst-gettext4
-	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(common-objpfx)intl/
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \
+	  $(common-objpfx)intl/; $(evaluate-test)
 $(objpfx)tst-gettext6.out: tst-gettext6.sh $(objpfx)tst-gettext6
-	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(common-objpfx)intl/
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \
+	  $(common-objpfx)intl/; $(evaluate-test)
 
 $(objpfx)tst-codeset.out: $(codeset_mo)
 $(objpfx)tst-gettext3.out: $(codeset_mo)
diff --git a/io/Makefile b/io/Makefile
index 19d3a6b..bb32b86 100644
--- a/io/Makefile
+++ b/io/Makefile
@@ -104,5 +104,6 @@ ifeq ($(run-built-tests),yes)
 tests: $(objpfx)ftwtest.out
 
 $(objpfx)ftwtest.out: ftwtest-sh $(objpfx)ftwtest
-	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)' > $@
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)' > $@; \
+	$(evaluate-test)
 endif
diff --git a/libio/Makefile b/libio/Makefile
index 05432f4..d892eb8 100644
--- a/libio/Makefile
+++ b/libio/Makefile
@@ -187,9 +187,10 @@ endif
 
 $(objpfx)test-freopen.out: test-freopen.sh $(objpfx)test-freopen
 	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'	\
-	$(common-objpfx)libio/
+	$(common-objpfx)libio/; $(evaluate-test)
 
 $(objpfx)tst-fopenloc.check: $(objpfx)tst-fopenloc.out
 	cmp ../iconvdata/testdata/ISO-8859-1..UTF8 $(objpfx)tst-fopenloc.out \
-	  > $@
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-fopenloc.mtrace >> $@
+	  > $@ \
+	&& $(common-objpfx)malloc/mtrace $(objpfx)tst-fopenloc.mtrace >> $@; \
+	$(evaluate-test)
diff --git a/localedata/Makefile b/localedata/Makefile
index 7d157bf..de1d5c7 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -148,45 +148,48 @@ tests: $(objpfx)sort-test.out $(objpfx)tst-fmon.out $(objpfx)tst-locale.out \
 $(objpfx)sort-test.out: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \
 		       $(test-input-data) $(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(test-input) \
-	  > $@
+	  > $@; $(evaluate-test)
 $(objpfx)tst-fmon.out: tst-fmon.sh $(objpfx)tst-fmon tst-fmon.data \
 		       $(objpfx)sort-test.out \
 		       $(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' \
 		'$(test-program-prefix)' tst-fmon.data  \
-	  > $@
+	  > $@; $(evaluate-test)
 $(objpfx)tst-numeric.out: tst-numeric.sh $(objpfx)tst-numeric tst-numeric.data \
 		       $(objpfx)sort-test.out \
 		       $(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' tst-numeric.data \
-	  > $@
+	  > $@; $(evaluate-test)
 $(objpfx)tst-locale.out: tst-locale.sh $(common-objpfx)locale/localedef \
 			 $(ld-test-srcs) $(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)' > $@
+	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)' > $@; \
+	$(evaluate-test)
 $(objpfx)tst-rpmatch.out: tst-rpmatch.sh $(objpfx)tst-rpmatch \
 			  $(objpfx)tst-fmon.out \
 			  $(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)' > $@
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)' > $@; \
+	$(evaluate-test)
 $(objpfx)tst-trans.out: tst-trans.sh $(objpfx)tst-trans \
 			$(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' '$(test-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(run-program-prefix)' \
+	  '$(test-program-prefix)'; $(evaluate-test)
 $(objpfx)tst-mbswcs.out: tst-mbswcs.sh $(objpfx)tst-mbswcs1 \
 			 $(objpfx)tst-mbswcs2 $(objpfx)tst-mbswcs3 \
 			 $(objpfx)tst-mbswcs4 $(objpfx)tst-mbswcs5 \
 			 $(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; $(evaluate-test)
 $(objpfx)tst-ctype.out: tst-ctype.sh $(objpfx)tst-ctype \
 			$(objpfx)sort-test.out \
 			$(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'; $(evaluate-test)
 $(objpfx)tst-wctype.out: tst-wctype.sh $(objpfx)tst-wctype \
 			$(objpfx)sort-test.out tst-wctype.input \
 			$(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'; $(evaluate-test)
 $(objpfx)tst-langinfo.out: tst-langinfo.sh $(objpfx)tst-langinfo \
 			$(objpfx)sort-test.out \
 			$(addprefix $(objpfx),$(CTYPE_FILES))
-	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-cmd)'; $(evaluate-test)
 $(objpfx)tst-digits.out: $(objpfx)tst-locale.out
 $(objpfx)tst-mbswcs6.out: $(addprefix $(objpfx),$(CTYPE_FILES))
 endif
@@ -285,7 +288,8 @@ tst-sscanf-ENV = LOCPATH=$(common-objpfx)localedata
 tst-leaks-ENV = MALLOC_TRACE=$(objpfx)tst-leaks.mtrace \
 		LOCPATH=$(common-objpfx)localedata
 $(objpfx)mtrace-tst-leaks: $(objpfx)tst-leaks.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@; \
+	$(evaluate-test)
 
 bug-setlocale1-ENV = LOCPATH=$(common-objpfx)localedata
 bug-setlocale1-ARGS = -- $(host-test-program-cmd)
diff --git a/malloc/Makefile b/malloc/Makefile
index 5db93db..c1dbbde 100644
--- a/malloc/Makefile
+++ b/malloc/Makefile
@@ -111,7 +111,7 @@ ifeq (yes,$(build-shared))
 ifneq ($(PERL),no)
 tests: $(objpfx)tst-mtrace.out
 $(objpfx)tst-mtrace.out: tst-mtrace.sh $(objpfx)tst-mtrace
-	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; $(evaluate-test)
 endif
 endif
 endif
diff --git a/misc/Makefile b/misc/Makefile
index b039182..66d0ab7 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -111,4 +111,5 @@ endif
 tst-error1-ENV = MALLOC_TRACE=$(objpfx)tst-error1.mtrace
 tst-error1-ARGS = $(objpfx)tst-error1.out
 $(objpfx)tst-error1-mem: $(objpfx)tst-error1.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-error1.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-error1.mtrace > $@; \
+	$(evaluate-test)
diff --git a/nptl/Makefile b/nptl/Makefile
index a43e740..be4e180 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -464,7 +464,8 @@ tests: $(objpfx)tst-stack3-mem
 endif
 tst-stack3-ENV = MALLOC_TRACE=$(objpfx)tst-stack3.mtrace
 $(objpfx)tst-stack3-mem: $(objpfx)tst-stack3.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-stack3.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-stack3.mtrace > $@; \
+	$(evaluate-test)
 generated += tst-stack3-mem tst-stack3.mtrace
 
 $(objpfx)tst-cleanup4: $(objpfx)tst-cleanup4aux.o $(shared-thread-library)
@@ -497,7 +498,7 @@ $(objpfx)tst-tls6.out: tst-tls6.sh $(objpfx)tst-tls5 \
 		       $(objpfx)tst-tls5modc.so $(objpfx)tst-tls5modd.so \
 		       $(objpfx)tst-tls5mode.so $(objpfx)tst-tls5modf.so
 	$(BASH) $< $(common-objpfx) '$(test-via-rtld-prefix)' \
-	  '$(test-wrapper-env)'
+	  '$(test-wrapper-env)'; $(evaluate-test)
 endif
 
 $(objpfx)tst-dlsym1: $(libdl) $(shared-thread-library)
@@ -550,7 +551,8 @@ endif
 ifeq ($(build-shared),yes)
 
 $(objpfx)tst-cleanup0.out: /dev/null $(objpfx)tst-cleanup0
-	$(make-test-out) 2>&1 | cmp - tst-cleanup0.expect > $@
+	$(make-test-out) 2>&1 | cmp - tst-cleanup0.expect > $@; \
+	$(evaluate-test)
 
 $(objpfx)crti.o: $(objpfx)pt-crti.o
 	ln -f $< $@
@@ -587,7 +589,7 @@ $(objpfx)tst-cancel-wrappers.out: tst-cancel-wrappers.sh
 		    $(common-objpfx)libc_pic.a \
 		    $(common-objpfx)libc.a \
 		    $(objpfx)libpthread_pic.a \
-		    $(objpfx)libpthread.a > $@
+		    $(objpfx)libpthread.a > $@; $(evaluate-test)
 endif
 endif
 
@@ -606,7 +608,8 @@ ifeq ($(run-built-tests),yes)
 tests: $(objpfx)tst-oddstacklimit.out
 
 $(objpfx)tst-oddstacklimit.out: $(objpfx)tst-oddstacklimit $(objpfx)tst-basic1
-	$(test-program-prefix) $< --command '$(host-test-program-cmd)' > $@
+	$(test-program-prefix) $< --command '$(host-test-program-cmd)' > $@; \
+	$(evaluate-test)
 endif
 
 # The tests here better do not run in parallel
diff --git a/nptl_db/Makefile b/nptl_db/Makefile
index 93aad19..5d20dd5 100644
--- a/nptl_db/Makefile
+++ b/nptl_db/Makefile
@@ -54,6 +54,7 @@ include ../Rules
 tests: $(objpfx)db-symbols.out
 $(objpfx)db-symbols.out: $(objpfx)db-symbols.v.i \
 			 $(common-objpfx)nptl/libpthread.so
-	LC_ALL=C $(READELF) -W -s $(filter %.so,$^) | $(AWK) -f $< > $@
+	LC_ALL=C $(READELF) -W -s $(filter %.so,$^) | $(AWK) -f $< > $@; \
+	$(evaluate-test)
 
 $(objpfx)db-symbols.v.i: db-symbols.awk
diff --git a/posix/Makefile b/posix/Makefile
index 6709900..ac462c9 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -120,9 +120,10 @@ ifeq (yes,$(build-shared))
 tests: $(objpfx)globtest.out $(objpfx)wordexp-tst.out
 $(objpfx)globtest.out: globtest.sh $(objpfx)globtest
 	$(SHELL) $< $(common-objpfx) '$(test-via-rtld-prefix)' \
-		'$(test-program-prefix)' '$(test-wrapper-env)'
+		'$(test-program-prefix)' '$(test-wrapper-env)'; \
+	$(evaluate-test)
 $(objpfx)wordexp-tst.out: wordexp-tst.sh $(objpfx)wordexp-test
-	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; $(evaluate-test)
 endif
 endif
 
@@ -229,7 +230,8 @@ endif
 
 $(objpfx)annexc.out: $(objpfx)annexc
 	-$(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)
 
 annexc-CFLAGS = -O
 $(objpfx)annexc: annexc.c
@@ -238,32 +240,38 @@ $(objpfx)annexc: annexc.c
 tst-fnmatch-ENV += MALLOC_TRACE=$(objpfx)tst-fnmatch.mtrace
 
 $(objpfx)tst-fnmatch-mem: $(objpfx)tst-fnmatch.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-fnmatch.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-fnmatch.mtrace > $@; \
+	$(evaluate-test)
 
 bug-regex2-ENV = MALLOC_TRACE=$(objpfx)bug-regex2.mtrace
 
 $(objpfx)bug-regex2-mem: $(objpfx)bug-regex2.out
-	$(common-objpfx)malloc/mtrace $(objpfx)bug-regex2.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)bug-regex2.mtrace > $@; \
+	$(evaluate-test)
 
 bug-regex14-ENV = MALLOC_TRACE=$(objpfx)bug-regex14.mtrace
 
 $(objpfx)bug-regex14-mem: $(objpfx)bug-regex14.out
-	$(common-objpfx)malloc/mtrace $(objpfx)bug-regex14.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)bug-regex14.mtrace > $@; \
+	$(evaluate-test)
 
 bug-regex21-ENV = MALLOC_TRACE=$(objpfx)bug-regex21.mtrace
 
 $(objpfx)bug-regex21-mem: $(objpfx)bug-regex21.out
-	$(common-objpfx)malloc/mtrace $(objpfx)bug-regex21.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)bug-regex21.mtrace > $@; \
+	$(evaluate-test)
 
 bug-regex31-ENV = MALLOC_TRACE=$(objpfx)bug-regex31.mtrace
 
 $(objpfx)bug-regex31-mem: $(objpfx)bug-regex31.out
-	$(common-objpfx)malloc/mtrace $(objpfx)bug-regex31.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)bug-regex31.mtrace > $@; \
+	$(evaluate-test)
 
 tst-vfork3-ENV = MALLOC_TRACE=$(objpfx)tst-vfork3.mtrace
 
 $(objpfx)tst-vfork3-mem: $(objpfx)tst-vfork3.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-vfork3.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-vfork3.mtrace > $@; \
+	$(evaluate-test)
 
 # tst-rxspencer.mtrace is generated only when run without --utf8
 # option, since otherwise the file has almost 100M and takes very long
@@ -271,29 +279,34 @@ $(objpfx)tst-vfork3-mem: $(objpfx)tst-vfork3.out
 $(objpfx)tst-rxspencer-mem: $(objpfx)tst-rxspencer.out
 	MALLOC_TRACE=$(objpfx)tst-rxspencer.mtrace $(tst-rxspencer-ENV) \
 	  $(test-program-prefix) $(objpfx)tst-rxspencer rxspencer/tests \
-	  > /dev/null
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-rxspencer.mtrace > $@
+	  > /dev/null \
+	&& $(common-objpfx)malloc/mtrace $(objpfx)tst-rxspencer.mtrace > $@; \
+	$(evaluate-test)
 
 tst-pcre-ENV = MALLOC_TRACE=$(objpfx)tst-pcre.mtrace
 $(objpfx)tst-pcre-mem: $(objpfx)tst-pcre.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-pcre.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-pcre.mtrace > $@; \
+	$(evaluate-test)
 
 tst-boost-ENV = MALLOC_TRACE=$(objpfx)tst-boost.mtrace
 $(objpfx)tst-boost-mem: $(objpfx)tst-boost.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-boost.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-boost.mtrace > $@; \
+	$(evaluate-test)
 
 $(objpfx)tst-getconf.out: tst-getconf.sh $(objpfx)getconf
-	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)'
+	$(SHELL) $< $(common-objpfx) '$(built-program-cmd)'; $(evaluate-test)
 
 $(objpfx)bug-ga2-mem: $(objpfx)bug-ga2.out
-	$(common-objpfx)malloc/mtrace $(objpfx)bug-ga2.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)bug-ga2.mtrace > $@; \
+	$(evaluate-test)
 
 bug-ga2-ENV = MALLOC_TRACE=$(objpfx)bug-ga2.mtrace
 
 bug-glob2-ENV = MALLOC_TRACE=$(objpfx)bug-glob2.mtrace
 
 $(objpfx)bug-glob2-mem: $(objpfx)bug-glob2.out
-	$(common-objpfx)malloc/mtrace $(objpfx)bug-glob2.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)bug-glob2.mtrace > $@; \
+	$(evaluate-test)
 
 $(inst_libexecdir)/getconf: $(inst_bindir)/getconf \
 			    $(objpfx)getconf.speclist FORCE
diff --git a/resolv/Makefile b/resolv/Makefile
index b96b8ed..7a102cd 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -94,7 +94,8 @@ $(objpfx)ga_test: $(objpfx)libanl.so $(shared-thread-library)
 $(objpfx)tst-leaks: $(objpfx)libresolv.so
 tst-leaks-ENV = MALLOC_TRACE=$(objpfx)tst-leaks.mtrace
 $(objpfx)mtrace-tst-leaks: $(objpfx)tst-leaks.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@; \
+	$(evaluate-test)
 ifeq ($(run-built-tests),yes)
 ifneq (no,$(PERL))
 tests: $(objpfx)mtrace-tst-leaks
@@ -103,7 +104,8 @@ endif
 
 tst-leaks2-ENV = MALLOC_TRACE=$(objpfx)tst-leaks2.mtrace
 $(objpfx)mtrace-tst-leaks2: $(objpfx)tst-leaks2.out
-	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks2.mtrace > $@
+	$(common-objpfx)malloc/mtrace $(objpfx)tst-leaks2.mtrace > $@; \
+	$(evaluate-test)
 ifeq ($(run-built-tests),yes)
 ifneq (no,$(PERL))
 xtests: $(objpfx)mtrace-tst-leaks2
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index 76eccb0..c990ffe 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -69,11 +69,11 @@ tests: do-tst-unbputc do-tst-printf
 
 do-tst-unbputc: $(objpfx)tst-unbputc.out
 $(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc
-	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; $(evaluate-test)
 
 do-tst-printf: $(objpfx)tst-printf.out
 $(objpfx)tst-printf.out: tst-printf.sh $(objpfx)tst-printf
-	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; $(evaluate-test)
 endif
 
 CFLAGS-vfprintf.c = -Wno-uninitialized
@@ -128,8 +128,8 @@ tst-grouping-ENV = LOCPATH=$(common-objpfx)localedata
 CPPFLAGS += $(libio-mtsafe)
 
 $(objpfx)tst-setvbuf1.out: tst-setvbuf1.expect $(objpfx)tst-setvbuf1
-	$(test-program-cmd) > $@ 2>&1
-	cmp tst-setvbuf1.expect $@
+	$(test-program-cmd) > $@ 2>&1 \
+	&& cmp tst-setvbuf1.expect $@; $(evaluate-test)
 
 ifeq ($(build-shared),yes)
 link-libm = $(common-objpfx)math/libm.so
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 1be16eb..c23df96 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -132,14 +132,16 @@ endif
 
 $(objpfx)isomac.out: $(objpfx)isomac
 	$(dir $<)$(notdir $<) '$(CC)'  \
-	'-I../include $(+sysdep-includes) $(sysincludes) -I..' > $<.out
+	'-I../include $(+sysdep-includes) $(sysincludes) -I..' > $<.out; \
+	$(evaluate-test)
 
 isomac-CFLAGS = -O
 $(objpfx)isomac: isomac.c
 	$(native-compile)
 
 $(objpfx)tst-fmtmsg.out: tst-fmtmsg.sh $(objpfx)tst-fmtmsg
-	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' $(common-objpfx)stdlib/
+	$(SHELL) $< $(common-objpfx) '$(test-program-prefix)' \
+	  $(common-objpfx)stdlib/; $(evaluate-test)
 
 $(objpfx)tst-putenv: $(objpfx)tst-putenvmod.so
 LDFLAGS-tst-putenv = $(no-as-needed)
diff --git a/string/Makefile b/string/Makefile
index ffc02ef..ec71eaa 100644
--- a/string/Makefile
+++ b/string/Makefile
@@ -77,6 +77,6 @@ ifeq ($(run-built-tests),yes)
 tests: $(objpfx)tst-svc.out
 $(objpfx)tst-svc.out: tst-svc.input $(objpfx)tst-svc
 	GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \
-	  $(test-program-cmd) < $(word 1,$^) > $@
-	@cmp tst-svc.expect $(objpfx)tst-svc.out
+	  $(test-program-cmd) < $(word 1,$^) > $@ \
+	&& cmp tst-svc.expect $(objpfx)tst-svc.out; $(evaluate-test)
 endif
diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile
index 3e87a77..80d03d5 100644
--- a/sysdeps/x86/Makefile
+++ b/sysdeps/x86/Makefile
@@ -5,5 +5,6 @@ CFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
 tests: $(objpfx)tst-xmmymm.out
 $(objpfx)tst-xmmymm.out: ../sysdeps/x86/tst-xmmymm.sh $(objpfx)ld.so
 	@echo "Checking ld.so for SSE register use.  This will take a few seconds..."
-	$(SHELL) $< $(objpfx) '$(NM)' '$(OBJDUMP)' '$(READELF)' > $@
+	$(SHELL) $< $(objpfx) '$(NM)' '$(OBJDUMP)' '$(READELF)' > $@; \
+	$(evaluate-test)
 endif

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]