From: Ralf Wildenhues Date: Sun, 18 Oct 2009 09:19:03 +0000 (+0200) Subject: Merge branch 'perl-coverage' X-Git-Tag: ng-0.5a~461 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3f3013d853f36cd6fbc8f61ebecf91e5bb400ed;p=thirdparty%2Fautomake.git Merge branch 'perl-coverage' * perl-coverage: Perl coverage support using Devel::Cover. Add convenience `recheck' target to our toplevel Makefile.am. --- d3f3013d853f36cd6fbc8f61ebecf91e5bb400ed diff --cc ChangeLog index 763c5738b,7eabdb589..0dd91993d --- a/ChangeLog +++ b/ChangeLog @@@ -1,24 -1,31 +1,50 @@@ 2009-10-17 Ralf Wildenhues + Perl coverage support using Devel::Cover. + This introduces makefile rules to run the testsuite with Perl + coverage enabled. It skips tests that use perl ithreads, by + unsetting AUTOMAKE_JOBS and setting WANT_NO_THREADS to make the + threaded tests skip. + * Makefile.am (PERL_COVERAGE_DB, PERL_COVERAGE_FLAGS) + (PERL_COVER): New variables. + (check-coverage, recheck-coverage, clean-coverage): New phony + targets. + (check-coverage-run, recheck-coverage-run): New phony helper + targets. + (clean-local): New, depend on clean-coverage. + * lib/Automake/tests/Condition-t.pl: Skip if WANT_NO_THREADS is + set. + * lib/Automake/tests/DisjConditions-t.pl: Likewise. + * tests/defs.in: New required entry 'perl-threads'. + * tests/parallel-am.test: Use it to skip if WANT_NO_THREADS is + set. + * tests/parallel-am2.test: Likewise. + * tests/parallel-am3.test: Likewise. + + Add convenience `recheck' target to our toplevel Makefile.am. + * Makefile.am (recheck): New convenience target. + * tests/README: Give examples for running only failed or + outdated or otherwise selected tests. + + dist: allow running several compressors in parallel. + * lib/am/distdir.am (am__post_remove_distdir): New internal + variable. + (DIST_TARGETS): New variable, set to list of chosen distribution + formats. Order formats by expected duration, slowest first, for + better parallelism. + (dist-gzip, dist-bzip2, dist-lzma, dist-xz, dist-tarZ) + (dist-shar, dist-zip): Use $(am__post_remove_distdir). + (dist, dist-all): Do not depend on distdir. Instead of + replicating each compression command, use a recursive invocation + to allow running all $(DIST_TARGETS) in parallel. + * NEWS: Update. + Report by Peter Breitenlohner. + + Fix license headers of cscope tests to be GPLv2+. + * tests/cscope.test: Revert to GPL version 2. + * tests/cscope2.test: Likewise. + * tests/cscope3.test: Likewise. + Sync auxiliary files from upstream. * INSTALL, lib/INSTALL, lib/config.guess, lib/config.sub, lib/texinfo.tex: Sync from upstream. diff --cc Makefile.am index e8edc667a,fc16b7a38..70cb6427a --- a/Makefile.am +++ b/Makefile.am @@@ -92,8 -92,25 +92,25 @@@ automake aclocal: Makefil ## This is where `make fetch' will install new versions. ## Make sure we also update this copy. INSTALL: lib/INSTALL - cp $(srcdir)/lib/INSTALL $@ + $(AM_V_GEN)cp $(srcdir)/lib/INSTALL $@ + ## recheck: convenience proxy target for the test suites. + TEST_SUBDIRS = lib/Automake/tests tests + + .PHONY: recheck + recheck: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + for subdir in $(TEST_SUBDIRS); do \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) || eval $$failcom; \ + done; \ + test -z "$$fail" + ################################################################ ## ## Everything past here is useful to the maintainer, but probably not diff --cc Makefile.in index 6727cf30a,c6956a948..100b1926a --- a/Makefile.in +++ b/Makefile.in @@@ -829,26 -798,26 +835,27 @@@ ps-am uninstall-am: uninstall-binSCRIPTS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-exec-am install-strip tags-recursive \ - uninstall-am +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \ + cscopelist-recursive ctags-recursive install-am \ + install-exec-am install-strip tags-recursive uninstall-am .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-generic \ - clean-local ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \ - dist-zip distcheck distclean distclean-generic distclean-tags \ - distcleancheck distdir distuninstallcheck dvi dvi-am html \ - html-am info info-am install install-am install-binSCRIPTS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-exec-hook install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ - tags-recursive uninstall uninstall-am uninstall-binSCRIPTS \ - uninstall-hook + all all-am am--refresh check check-am clean clean-cscope \ - clean-generic cscope cscopelist cscopelist-recursive ctags \ - ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \ - dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \ - distclean distclean-generic distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-binSCRIPTS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-exec-hook install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-binSCRIPTS uninstall-hook ++ clean-generic clean-local cscope cscopelist \ ++ cscopelist-recursive ctags ctags-recursive dist dist-all \ ++ dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar dist-tarZ \ ++ dist-xz dist-zip distcheck distclean distclean-generic \ ++ distclean-tags distcleancheck distdir distuninstallcheck dvi \ ++ dvi-am html html-am info info-am install install-am \ ++ install-binSCRIPTS install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-exec-hook \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs installdirs-am maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ ++ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ ++ uninstall-binSCRIPTS uninstall-hook install-exec-hook: @@@ -871,15 -840,29 +878,29 @@@ uninstall-hook automake: automake.in aclocal: aclocal.in automake aclocal: Makefile - rm -f $@ $@.tmp - $(do_subst) $(srcdir)/$@.in >$@.tmp - chmod +x $@.tmp - chmod a-w $@.tmp - mv -f $@.tmp $@ + $(AM_V_GEN)rm -f $@ $@.tmp + $(AM_V_at)$(do_subst) $(srcdir)/$@.in >$@.tmp + $(AM_V_at)chmod +x $@.tmp + $(AM_V_at)chmod a-w $@.tmp + $(AM_V_at)mv -f $@.tmp $@ INSTALL: lib/INSTALL - cp $(srcdir)/lib/INSTALL $@ + $(AM_V_GEN)cp $(srcdir)/lib/INSTALL $@ + .PHONY: recheck + recheck: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + for subdir in $(TEST_SUBDIRS); do \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) || eval $$failcom; \ + done; \ + test -z "$$fail" + ################################################################ # Ensure tests are world-executable