From: Ryan Lortie Date: Fri, 6 Aug 2010 19:28:58 +0000 (-0400) Subject: gtester: Run tests only once on 'make check' X-Git-Tag: 2.25.13~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d96b7c5c8aacc2b8516c03a2801db731d4171570;p=platform%2Fupstream%2Fglib.git gtester: Run tests only once on 'make check' The gtester makefile runs 'make test' on 'make check' and also recurses on 'make test'. automake recurses on 'make check'. This means that every level of recursive make that we go through results in the tests running twice as many times. If you type 'make check' at the toplevel, for example, tests in gio/tests/ run 4 times. Fix that by introducing a 'test-nonrecursive' target and using that one from 'make check'. 'make test', 'make test-report', etc. are still recursive. --- diff --git a/Makefile.decl b/Makefile.decl index eb8237a..3b344eb 100644 --- a/Makefile.decl +++ b/Makefile.decl @@ -11,15 +11,20 @@ TEST_PROGS = ### testing rules # test: run all tests in cwd and subdirs -test: ${TEST_PROGS} +test: test-nonrecursive if OS_UNIX - @test -z "${TEST_PROGS}" || MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS} @ for subdir in $(SUBDIRS) . ; do \ test "$$subdir" = "." -o "$$subdir" = "po" || \ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \ done endif +# test-nonrecursive: run tests only in cwd +test-nonrecursive: ${TEST_PROGS} +if OS_UNIX + @test -z "${TEST_PROGS}" || MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS} +endif + # test-report: run tests in subdirs and generate report # perf-report: run tests in subdirs with -m perf and generate report # full-report: like test-report: with -m perf and -m slow @@ -60,7 +65,7 @@ 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 +.PHONY: test test-report perf-report full-report test-nonrecursive .PHONY: lcov genlcov lcov-clean # use recursive makes in order to ignore errors during check @@ -83,5 +88,5 @@ lcov-clean: -rm -rf glib-lcov.info glib-lcov -find -name '*.gcda' -print | xargs rm -# run make test as part of make check -check-local: test +# run tests in cwd as part of make check +check-local: test-nonrecursive