From cd00b0a490330d43cc0c9950cd590cac38a06be9 Mon Sep 17 00:00:00 2001 From: Sven Herzberg Date: Thu, 12 Aug 2010 11:20:41 +0200 Subject: [PATCH] avoid redundant recursion for executing tests * Makefile.decl: make sure that check-local does not depend on a recursive target for the tests. This way check can recurse and call check-local in each folder which then invokes test-cwd. This will make sure that a toplevel check-local doesn't recurse into subfolders as well. The was resulting in test being run twice (for "/tests"), tree times (e.g. for "/gtk/tests") and potentially more often --- Makefile.decl | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Makefile.decl b/Makefile.decl index cca7eb60a2..2f6c579d2d 100644 --- a/Makefile.decl +++ b/Makefile.decl @@ -30,13 +30,17 @@ XVFB_START = \ # call as: $(XVFB_START) && someprogram # test: run all tests in cwd and subdirs -test: ${TEST_PROGS} +test: test-cwd test-recurse +# test-cwd: run tests in cwd +test-cwd: ${TEST_PROGS} @$(SKIP_GDKTARGET) || test -z "${TEST_PROGS}" || { \ - $(XVFB_START) && { set -e; ${GTESTER} --verbose ${TEST_PROGS}; }; \ + $(XVFB_START) && { set -e; $(TESTS_ENVIRONMENT) ${GTESTER} --verbose ${TEST_PROGS}; }; \ } +# test-recurse: run tests in subdirs +test-recurse: @ for subdir in $(SUBDIRS) ; do \ test "$$subdir" = "." -o "$$subdir" = "po" -o "$$subdir" = "po-properties" || \ - ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \ + ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) test ) || exit $? ; \ done # test-report: run tests in subdirs and generate report # perf-report: run tests in subdirs with -m perf and generate report @@ -77,6 +81,6 @@ test-report perf-report full-report: ${TEST_PROGS} rm -rf "$$GTESTER_LOGDIR"/ ; \ ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \ } -.PHONY: test test-report perf-report full-report -# run make test as part of make check -check-local: test +.PHONY: test test-cwd test-recurse test-report perf-report full-report +# run make test-cwd as part of make check +check-local: test-cwd