r22602 - gnucash/trunk/test-templates - Update Makefile.decl to a newer version that works with MinGW
John Ralls
jralls at code.gnucash.org
Sat Dec 1 17:41:49 EST 2012
Author: jralls
Date: 2012-12-01 17:41:49 -0500 (Sat, 01 Dec 2012)
New Revision: 22602
Trac: http://svn.gnucash.org/trac/changeset/22602
Modified:
gnucash/trunk/test-templates/Makefile.decl
Log:
Update Makefile.decl to a newer version that works with MinGW
Modified: gnucash/trunk/test-templates/Makefile.decl
===================================================================
--- gnucash/trunk/test-templates/Makefile.decl 2012-12-01 22:41:41 UTC (rev 22601)
+++ gnucash/trunk/test-templates/Makefile.decl 2012-12-01 22:41:49 UTC (rev 22602)
@@ -1,8 +1,7 @@
-# -*- makefile-automake-mode -*-
# GLIB - Library of useful C routines
-GTESTER = gtester # for non-GLIB packages
-GTESTER_REPORT = gtester_report # for non-GLIB packages
+GTESTER = gtester # for non-GLIB packages
+GTESTER_REPORT = gtester-report
#GTESTER = $(top_builddir)/glib/gtester # for the GLIB package
#GTESTER_REPORT = $(top_builddir)/glib/gtester-report # for the GLIB package
@@ -13,15 +12,20 @@
### testing rules
# test: run all tests in cwd and subdirs
-test: ${TEST_PROGS}
+test: test-nonrecursive
if !PLATFORM_WIN32
- @test -z "${TEST_PROGS}" || ${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 !PLATFORM_WIN32
+ @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
@@ -43,13 +47,23 @@
GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
ignore_logdir=false ; \
fi ; \
+ if test -d "$(top_srcdir)/.git" ; then \
+ REVISION=`git describe` ; \
+ else \
+ REVISION=$(VERSION) ; \
+ fi ; \
for subdir in $(SUBDIRS) . ; do \
test "$$subdir" = "." -o "$$subdir" = "po" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done ; \
$$ignore_logdir || { \
- echo '<?xml version="1.0"?>' > $@.xml ; \
- echo '<report-collection>' >> $@.xml ; \
+ echo '<?xml version="1.0"?>' > $@.xml ; \
+ echo '<report-collection>' >> $@.xml ; \
+ echo '<info>' >> $@.xml ; \
+ echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
+ echo ' <version>$(VERSION)</version>' >> $@.xml ; \
+ echo " <revision>$$REVISION</revision>" >> $@.xml ; \
+ echo '</info>' >> $@.xml ; \
for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
done ; \
@@ -58,6 +72,26 @@
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-report perf-report full-report test-nonrecursive
+
+.PHONY: lcov genlcov lcov-clean
+# use recursive makes in order to ignore errors during check
+lcov:
+ -$(MAKE) $(AM_MAKEFLAGS) -k check
+ $(MAKE) $(AM_MAKEFLAGS) genlcov
+
+# we have to massage the lcov.info file slightly to hide the effect of libtool
+# placing the objects files in the .libs/ directory separate from the *.c
+# we also have to delete tests/.libs/libmoduletestplugin_*.gcda
+genlcov:
+ rm -f $(top_builddir)/tests/.libs/libmoduletestplugin_*.gcda
+ $(LTP) --directory $(top_builddir) --capture --output-file glib-lcov.info --test-name GLIB_PERF --no-checksum --compat-libtool
+ LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory glib-lcov --title "GLib Code Coverage" --legend --show-details glib-lcov.info
+
+lcov-clean:
+ -$(LTP) --directory $(top_builddir) -z
+ -rm -rf glib-lcov.info glib-lcov
+ -find -name '*.gcda' -print | xargs rm
+
+# run tests in cwd as part of make check
+check-local: test-nonrecursive
More information about the gnucash-changes
mailing list