]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Perl coverage convenience targets.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sat, 31 Oct 2009 01:22:04 +0000 (02:22 +0100)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sat, 31 Oct 2009 01:22:04 +0000 (02:22 +0100)
* Makefile.am (PERL_COVERAGE_DB, PERL_COVERAGE_FLAGS)
(PERL_COVER): New variables.
(check-coverage, check-coverage-run, check-coverage-report)
(clean-coverage): New phony targets.
(clean-local): Depend on clean-coverage.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ChangeLog
Makefile.am

index f688b2631eef5916439ceaa49fa919906904ba63..a152b253aacab0e40383ac0e6808647feaefc102 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2009-10-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       Perl coverage convenience targets.
+       * Makefile.am (PERL_COVERAGE_DB, PERL_COVERAGE_FLAGS)
+       (PERL_COVER): New variables.
+       (check-coverage, check-coverage-run, check-coverage-report)
+       (clean-coverage): New phony targets.
+       (clean-local): Depend on clean-coverage.
+
 2009-10-28  Eric Blake  <ebb9@byu.net>
 
        Fix corner cases in AS_LITERAL_IF and AS_TR_SH.
index 3c906578c8fc5496619388a7d8b83cba1e51257a..78916123a77ea5c7b28ccd4356d1c5fa9a9ddc0f 100644 (file)
@@ -74,3 +74,32 @@ dist-hook:
 # TODO remove this once automake vs. AC_CONFIG_LINKS issue is fixed.
 distclean-local:
        if test x"$(VPATH)" != x ; then rm -f GNUmakefile ; fi
+
+# Perl coverage statistics.
+PERL_COVERAGE_DB = `pwd`/cover_db
+PERL_COVERAGE_FLAGS = -MDevel::Cover=-db,$(PERL_COVERAGE_DB),-silent,on,-summary,off
+PERL_COVER = cover
+
+check-coverage-run: all
+       $(mkinstalldirs) $(PERL_COVERAGE_DB)
+       PERL5OPT="$(PERL_COVERAGE_FLAGS)"; export PERL5OPT; \
+       $(MAKE) $(AM_MAKEFLAGS) check
+
+check-coverage-report:
+       @if test ! -d $(PERL_COVERAGE_DB); then \
+         echo "No coverage database found in \`$(PERL_COVERAGE_DB)'." >&2; \
+         echo "Please run \`make check-coverage' first" >&2; \
+         exit 1; \
+       fi
+       $(PERL_COVER) $(PERL_COVERAGE_DB) $(PERL_COVER_FLAGS)
+
+# We don't use direct dependencies here because we'd like to be able
+# to invoke the report even after interrupted check-coverage.
+check-coverage: check-coverage-run
+       $(MAKE) $(AM_MAKEFLAGS) check-coverage-report
+
+clean-local: clean-coverage
+clean-coverage:
+       rm -rf $(PERL_COVERAGE_DB)
+
+.PHONY: check-coverage check-coverage-run check-coverage-report clean-coverage