[glib] gtester: Run tests only once on 'make check'



commit d96b7c5c8aacc2b8516c03a2801db731d4171570
Author: Ryan Lortie <desrt desrt ca>
Date:   Fri Aug 6 15:28:58 2010 -0400

    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.

 Makefile.decl |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)
---
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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]