]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Merge branch 'perl-coverage'
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 18 Oct 2009 09:19:03 +0000 (11:19 +0200)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 18 Oct 2009 09:19:03 +0000 (11:19 +0200)
* perl-coverage:
  Perl coverage support using Devel::Cover.
  Add convenience `recheck' target to our toplevel Makefile.am.

1  2 
ChangeLog
Makefile.am
Makefile.in

diff --cc ChangeLog
index 763c5738b403b522a635e5247e41e57b0cb4a667,7eabdb5894ffb223befaa4c06373ff34e8bf2b81..0dd91993d7ce68679db5acdc29d4e59bc3be7a35
+++ b/ChangeLog
@@@ -1,24 -1,31 +1,50 @@@
  2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
  
+       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 e8edc667afa69f11c53803f807cfc00eb91710b9,fc16b7a38abdffd149beb9edcfa64c0bf8059ce4..70cb6427a70b12e6b7042f8958a3f97044c4b18e
@@@ -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 6727cf30aa15d6ce781549dab60fc676b049f69b,c6956a948453c7980260e8acf3b9581f650716bf..100b1926aeef25554050a82716e6928d61f26b83
@@@ -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