diff options
author | Jim Meyering <meyering@redhat.com> | 2011-02-09 17:08:58 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2011-02-10 08:50:14 +0100 |
commit | ee6c466ba807fb16f3d37c72ece5ec28fb6c87fc (patch) | |
tree | 362428deb747dd3a60fc377655f8ada667d98713 | |
parent | 5c3fd50a751a93acf5ad7bb69d01261267a53a1e (diff) | |
download | coreutils-ee6c466ba807fb16f3d37c72ece5ec28fb6c87fc.tar.xz |
tests: avoid gross inefficiency in "make test"
Do not run a sub-make to set up the environment for each
and every test script. Instead, run it just once and store
the result in a file.
* tests/check.mk (built_programs): Remove definition.
(.built-programs): New rule to create the temporary file.
(CLEANFILES): Arrange to remove it.
(TESTS_ENVIRONMENT): Simply cat .built-programs, rather than
running the sub-make.
* .gitignore: Ignore it.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | tests/check.mk | 11 |
2 files changed, 9 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore index 7fead3d49..138e72abb 100644 --- a/.gitignore +++ b/.gitignore @@ -76,6 +76,7 @@ /stamp-h1 /tests/*/*.log /tests/t? +/tests/.built-programs /tests/test-suite.log ID Makefile diff --git a/tests/check.mk b/tests/check.mk index f931806d2..b80dce8ac 100644 --- a/tests/check.mk +++ b/tests/check.mk @@ -40,8 +40,13 @@ vc_exe_in_TESTS: Makefile check: vc_exe_in_TESTS .PHONY: vc_exe_in_TESTS -built_programs = \ - (cd $(top_builddir)/src && MAKEFLAGS= $(MAKE) -s built_programs.list) +CLEANFILES = +CLEANFILES += .built-programs +check-am: .built-programs +.built-programs: + $(AM_V_GEN)cd $(top_builddir)/src \ + && MAKEFLAGS= $(MAKE) -s built_programs.list \ + > $@-t && mv $@-t $@ # Note that the first lines are statements. They ensure that environment # variables that can perturb tests are unset or set to expected values. @@ -76,7 +81,7 @@ TESTS_ENVIRONMENT = \ abs_top_builddir='$(abs_top_builddir)' \ abs_top_srcdir='$(abs_top_srcdir)' \ abs_srcdir='$(abs_srcdir)' \ - built_programs="`$(built_programs)`" \ + built_programs="`cat .built-programs`" \ host_os=$(host_os) \ host_triplet='$(host_triplet)' \ srcdir='$(srcdir)' \ |