automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-647-g


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-647-g27f1a1c
Date: Mon, 16 Jan 2012 09:14:02 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=27f1a1c967bc6af59cc940ba42114d795fb458d5

The branch, maint has been updated
       via  27f1a1c967bc6af59cc940ba42114d795fb458d5 (commit)
      from  48c9d57f1769789dfd6cb876bd3e82d2252d1e59 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 27f1a1c967bc6af59cc940ba42114d795fb458d5
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jan 16 10:05:59 2012 +0100

    maintcheck: consistency of list of test scripts
    
    This is basically a backport of commit 'v1.11-358-g7b6ab07'
    and its follow-ups.  The possibility of easily checking that
    the list of test scripts listed in a Makefile equals that of
    the tests on the filesystem has proved itself so useful that
    it's worth taking the annoyance of backporting it to maint.
    
    * CheckListOfTests.am: New file, backported from master (commit
    'v1.11-1736-g083a75b') with minor adjustments.
    (maintainer-check-list-of-tests): New target, check for consistency
    between the list of tests defined in the including Makefile and the
    list of tests on the filesystem.
    (clean-maintcheck-testslist-tmp): New rule, to clean up temporary
    files that might be left around by the rules associated with the
    previous target.
    (clean-local): Depend on it.
    * lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
    * tests/Makefile.am: Likewise.
    * Makefile.am (maintainer-check-list-of-test): New target,
    calling recursively into `tests/' and `lib/Automake/tests/',
    using ...
    (TEST_SUBDIRS): ... this new variable.
    (maintainer-check): Added dependency from the new target
    `maintainer-check-list-of-tests'.

-----------------------------------------------------------------------

Summary of changes:
 CheckListOfTests.am            |   62 ++++++++++++++++++++++++++++++++++++++++
 Makefile.am                    |   20 +++++++++++++
 lib/Automake/tests/Makefile.am |    5 ++-
 tests/Makefile.am              |    4 ++
 4 files changed, 90 insertions(+), 1 deletions(-)
 create mode 100644 CheckListOfTests.am

diff --git a/CheckListOfTests.am b/CheckListOfTests.am
new file mode 100644
index 0000000..0a48447
--- /dev/null
+++ b/CheckListOfTests.am
@@ -0,0 +1,62 @@
+## -*- Automake -*-
+##
+## Copyright (C) 2011, 2012 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+##
+
+## Temporary files used in the `check-list-of-tests' target.
+am__tmk = tests-in-makefile-list.tmp
+am__tfs = tests-on-filesystem-list.tmp
+am__tdf = diff-in-tests-lists.tmp
+
+## Check that the list of tests given in the Makefile is equal to the
+## list of all test scripts in the Automake testsuite.
+.PHONY: maintainer-check-list-of-tests
+maintainer-check-list-of-tests:
+## Prefer unified diffs over plain diffs, for readability.
+        @if diff -u /dev/null /dev/null >/dev/null 2>&1; then \
+          diff='diff -u'; \
+        else \
+          diff='diff'; \
+        fi; \
+## List of tests in Makefile.
+        lst='$(expected_list_of_tests)'; \
+        test -n "$$lst" || lst='$(TESTS)'; \
+        for t in $$lst; do \
+          echo "$$t"; \
+        done | sort >$(am__tmk); \
+## List of tests on filesystem.  Be careful to cater for VPATH builds too.
+        for ext in $(TEST_EXTENSIONS); do \
+          ls *$$ext 2>/dev/null; \
+          if test $(srcdir) != $(builddir); then \
+            (cd $(srcdir) && ls *$$ext 2>/dev/null); \
+          fi; \
+        done | sort | uniq >$(am__tfs); \
+## Compare the two lists, complain if they differ.
+        if $$diff $(am__tmk) $(am__tfs) >$(am__tdf); then \
+           result=0; \
+        else \
+           echo '$@: list of tests in Makefile an on filesystem differ' >&2; \
+           echo "+ $$diff in-makefile on-filesystem" >&2; \
+           cat $(am__tdf) >&2; \
+           result=1; \
+        fi; \
+        rm -f $(am__tmk) $(am__tfs) $(am__tdf); \
+        exit $$result;
+
+.PHONY: clean-maintcheck-testslist-tmp
+clean-local: clean-maintcheck-testslist-tmp
+clean-maintcheck-testslist-tmp:
+       rm -f $(am__tmk) $(am__tfs) $(am__tdf)
diff --git a/Makefile.am b/Makefile.am
index 893baff..735cb00 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,6 +25,8 @@
 ## run aclocal and automake.
 SUBDIRS = lib . doc m4 tests
 
+TEST_SUBDIRS = tests lib/Automake/tests
+
 bin_SCRIPTS = automake aclocal
 
 CLEANFILES = $(bin_SCRIPTS)
@@ -196,6 +198,24 @@ $(syntax_check_rules): automake aclocal
 maintainer-check: $(syntax_check_rules)
 .PHONY: maintainer-check $(syntax_check_rules)
 
+## Check that the list of tests given in the Makefile is equal to the
+## list of all test scripts in the Automake testsuite.
+.PHONY: maintainer-check-list-of-tests
+maintainer-check-list-of-tests:
+       @fail= 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"
+
+maintainer-check: maintainer-check-list-of-tests
+
 ## Look for test whose names can cause spurious failures when used as
 ## first argument to AC_INIT (chiefly because they might contain an
 ## m4/m4sugar builtin or macro name).
diff --git a/lib/Automake/tests/Makefile.am b/lib/Automake/tests/Makefile.am
index c5e53d2..a537fd1 100644
--- a/lib/Automake/tests/Makefile.am
+++ b/lib/Automake/tests/Makefile.am
@@ -1,6 +1,7 @@
 ## Process this file with automake to create Makefile.in
 
-# Copyright (C) 2002, 2003, 2008, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2008, 2009, 2012 Free Software Foundation,
+# Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,3 +29,5 @@ Version.pl \
 Wrap.pl
 
 EXTRA_DIST = $(TESTS)
+
+include $(top_srcdir)/CheckListOfTests.am
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b6f9fb3..c2daff4 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -127,6 +127,10 @@ EXTRA_DIST += distcheck-hook-m4.am
 # Each test case depends on defs, aclocal, and automake.
 check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION)
 
+## Checking the list of tests.
+include $(top_srcdir)/CheckListOfTests.am
+maintainer-check-list-of-tests: $(parallel_tests)
+
 clean-local: clean-local-check
 .PHONY: clean-local-check
 clean-local-check:


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]