automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.12-84-g


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.12-84-g6dad21b
Date: Sat, 05 May 2012 08:59:40 +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=6dad21bfc921cecde339723a463f1bf6abdbf2ba

The branch, master has been updated
       via  6dad21bfc921cecde339723a463f1bf6abdbf2ba (commit)
       via  5677e1d4e4c94261413f59b241f8c8191566e8bb (commit)
       via  67b86e0868d04d53e4c630633cbdccb6c5900cdf (commit)
      from  7f3f467aab0184dedddca2b5c6edd48dab6303db (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 6dad21bfc921cecde339723a463f1bf6abdbf2ba
Merge: 7f3f467 5677e1d
Author: Stefano Lattarini <address@hidden>
Date:   Sat May 5 10:57:27 2012 +0200

    Merge branch 'maint'
    
    * maint:
      maintcheck: avoid a couple of spurious failures
      maintcheck: reduce code duplication, increase coverage

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

Summary of changes:
 syntax-checks.mk       |  128 ++++++++++++++++--------------------------------
 t/auxdir-autodetect.sh |    2 +-
 t/cond5.sh             |    2 +-
 t/dist-formats.tap     |    2 +-
 t/location.sh          |   48 +++++++++---------
 t/tap-signal.tap       |    5 +-
 6 files changed, 74 insertions(+), 113 deletions(-)

diff --git a/syntax-checks.mk b/syntax-checks.mk
index 130d469..bac6c7b 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -38,6 +38,7 @@ ams := $(shell find $(srcdir) -name '*.dir' -prune -o -name 
'*.am' -print)
 # Some simple checks, and then ordinary check.  These are only really
 # guaranteed to work on my machine.
 syntax_check_rules = \
+$(sc_tests_plain_check_rules) \
 sc_test_names \
 sc_diff_automake_in_automake \
 sc_diff_aclocal_in_automake \
@@ -56,22 +57,13 @@ sc_perl_local \
 sc_AMDEP_TRUE_in_automake_in \
 sc_tests_make_without_am_makeflags \
 sc_tests_obsolete_variables \
-sc_tests_plain_make \
-sc_tests_plain_autoconf \
-sc_tests_plain_autoupdate \
-sc_tests_plain_automake \
-sc_tests_plain_autom4te \
-sc_tests_plain_autoheader \
-sc_tests_plain_autoreconf \
 sc_tests_here_document_format \
 sc_tests_Exit_not_exit \
 sc_tests_automake_fails \
-sc_tests_plain_aclocal \
-sc_tests_plain_perl \
 sc_tests_required_after_defs \
 sc_tests_overriding_macros_on_cmdline \
 sc_tests_plain_sleep \
-sc_tests_plain_egrep_fgrep \
+sc_m4_am_plain_egrep_fgrep \
 sc_tests_no_configure_in \
 sc_tests_PATH_SEPARATOR \
 sc_tests_logs_duplicate_prefixes \
@@ -81,14 +73,6 @@ sc_unquoted_DESTDIR \
 sc_tabs_in_texi \
 sc_at_in_texi
 
-$(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.
-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).
@@ -311,53 +295,36 @@ sc_tests_obsolete_variables:
          exit 1; \
        else :; fi
 
-## Tests should never call make directly.
-sc_tests_plain_make:
-       @if grep -v '^#' $(xtests) | $(EGREP) ':[       ]*make( |$$)'; then \
-         echo 'Do not run "make" in the above tests.  Use "$$MAKE" instead.' 
1>&2; \
-         exit 1; \
-       fi
-
-## Tests should never call autoconf directly.
-sc_tests_plain_autoconf:
-       @if grep -v '^#' $(xtests) | grep ':[   ]*autoconf\>'; then \
-         echo 'Do not run "autoconf" in the above tests.  Use "$$AUTOCONF" 
instead.' 1>&2; \
-         exit 1; \
-       fi
-
-## Tests should never call autoupdate directly.
-sc_tests_plain_autoupdate:
-       @if grep -v '^#' $(xtests) | grep ':[   ]*autoupdate\>'; then \
-         echo 'Do not run "autoupdate" in the above tests.  Use "$$AUTOUPDATE" 
instead.' 1>&2; \
-         exit 1; \
-       fi
-
-## Tests should never call automake directly.
-sc_tests_plain_automake:
-       @if grep -v '^#' $(xtests) | grep -E ':[        ]*automake\>([^:]|$$)'; 
then \
-         echo 'Do not run "automake" in the above tests.  Use "$$AUTOMAKE" 
instead.' 1>&2;  \
-         exit 1; \
-       fi
-
-## Tests should never call autoheader directly.
-sc_tests_plain_autoheader:
-       @if grep -v '^#' $(xtests) | grep ':[   ]*autoheader\>'; then \
-         echo 'Do not run "autoheader" in the above tests.  Use "$$AUTOHEADER" 
instead.' 1>&2;  \
-         exit 1; \
-       fi
-
-## Tests should never call autoreconf directly.
-sc_tests_plain_autoreconf:
-       @if grep -v '^#' $(xtests) | grep ':[   ]*autoreconf\>'; then \
-         echo 'Do not run "autoreconf" in the above tests.  Use "$$AUTORECONF" 
instead.' 1>&2;  \
-         exit 1; \
-       fi
-
-## Tests should never call autom4te directly.
-sc_tests_plain_autom4te:
-       @if grep -v '^#' $(xtests) | grep ':[   ]*autom4te\>'; then \
-         echo 'Do not run "autom4te" in the above tests.  Use "$$AUTOM4TE" 
instead.' 1>&2;  \
-         exit 1; \
+## Tests should never call some programs directly, but only through the
+## corresponding variable (e.g., '$MAKE', not 'make').  This will allow
+## the programs to be overridden at configure time (for less brittleness)
+## or by the user at make time (to allow better testsuite coverage).
+sc_tests_plain_check_rules = \
+  sc_tests_plain_egrep \
+  sc_tests_plain_fgrep \
+  sc_tests_plain_make \
+  sc_tests_plain_perl \
+  sc_tests_plain_automake \
+  sc_tests_plain_aclocal \
+  sc_tests_plain_autoconf \
+  sc_tests_plain_autoupdate \
+  sc_tests_plain_autom4te \
+  sc_tests_plain_autoheader \
+  sc_tests_plain_autoreconf
+
+toupper = $(shell echo $(1) | LC_ALL=C tr '[a-z]' '[A-Z]')
+
+$(sc_tests_plain_check_rules): sc_tests_plain_% :
+       @# The leading ':' in the grep below is what is printed by the
+       @# preceding 'grep -v' after the file name.
+       @# It works here as a poor man's substitute for beginning-of-line
+       @# marker.
+       @if grep -v '^[         ]*#' $(xtests) \
+          | $(EGREP) '(:|\bif|\bnot|[;!{\|\(]|&&|\|\|)[        ]*?$*\b'; \
+        then \
+          echo 'Do not run "$*" in the above tests.' \
+               'Use "$$$(call toupper,$*)" instead.' 1>&2; \
+          exit 1; \
        fi
 
 ## Tests should only use END and EOF for here documents
@@ -393,20 +360,6 @@ sc_tests_automake_fails:
          exit 1; \
        fi
 
-## Tests should never call aclocal directly.
-sc_tests_plain_aclocal:
-       @if grep -v '^#' $(xtests) | grep ':[   ]*aclocal\>'; then \
-         echo 'Do not run "aclocal" in the above tests.  Use "$$ACLOCAL" 
instead.' 1>&2;  \
-         exit 1; \
-       fi
-
-## Tests should never call perl directly.
-sc_tests_plain_perl:
-       @if grep -v '^#' $(xtests) | grep ':[   ]*perl\>'; then \
-         echo 'Do not run "perl" in the above tests.  Use "$$PERL" instead.' 
1>&2; \
-         exit 1; \
-       fi
-
 ## Setting 'required' after sourcing './defs' is a bug.
 sc_tests_required_after_defs:
        @for file in $(xtests); do \
@@ -468,13 +421,10 @@ sc_tests_plain_sleep:
        fi
 
 ## fgrep and egrep are not required by POSIX.
-sc_tests_plain_egrep_fgrep:
-       @if grep -E '\b[ef]grep\b' $(xtests) ; then \
-         echo 'Do not use egrep or fgrep in test cases.  Use $$FGREP or 
$$EGREP.' 1>&2; \
-         exit 1; \
-       fi
+sc_m4_am_plain_egrep_fgrep:
        @if grep -E '\b[ef]grep\b' $(ams) $(srcdir)/m4/*.m4; then \
-         echo 'Do not use egrep or fgrep in the above files, they are not 
portable.' 1>&2; \
+         echo 'Do not use egrep or fgrep in the above files,' \
+              'they are not portable.' 1>&2; \
          exit 1; \
        fi
 
@@ -574,3 +524,11 @@ sc_at_in_texi:
          echo 'Unescaped @.' 1>&2; \
          exit 1; \
        fi
+
+$(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.
+maintainer-check: maintainer-check-list-of-tests
diff --git a/t/auxdir-autodetect.sh b/t/auxdir-autodetect.sh
index 790d1b1..41a73d5 100755
--- a/t/auxdir-autodetect.sh
+++ b/t/auxdir-autodetect.sh
@@ -121,7 +121,7 @@ grep '%%d[013]' out2 && Exit 1
 rm -f ../../missing ../../install-sh
 
 # --------------------------------------------------------- #
-:  AC_CONFIG_AUX_DIR will not be found: automake must fail  #
+:  AC_CONFIG_AUX_DIR will not be found: Automake must fail  #
 # --------------------------------------------------------- #
 
 AUTOMAKE_fails
diff --git a/t/cond5.sh b/t/cond5.sh
index dd45678..3961303 100755
--- a/t/cond5.sh
+++ b/t/cond5.sh
@@ -64,6 +64,6 @@ while test $try -le 30; do
   fi
 done
 # The automake process probably hung.  Kill it, and exit with failure.
-echo "$me: automake process $pid hung"
+echo "$me: Automake process $pid hung"
 kill $pid
 Exit 1
diff --git a/t/dist-formats.tap b/t/dist-formats.tap
index d627cf8..26c6c97 100755
--- a/t/dist-formats.tap
+++ b/t/dist-formats.tap
@@ -168,7 +168,7 @@ can_compress ()
   command_ok_if_have_compressor "'make dist-$format' work by default" \
     eval '
       rm -rf *$tarname* \
-        && make dist-$format \
+        && $MAKE dist-$format \
         && test -f $tarname-1.0.$suffix \
         && ls -l *$tarname* \
         && test "`ls *$tarname*`" = $tarname-1.0.$suffix'
diff --git a/t/location.sh b/t/location.sh
index e496ca6..f9dd289 100755
--- a/t/location.sh
+++ b/t/location.sh
@@ -48,10 +48,10 @@ END
 # Smash the useless difference of lib file locations.
 smash_useless_diffs ()
 {
-  # FIXME: we could get rid of the second 's|||' once we improve our
+  # FIXME: we could get rid of the second 's,,,' once we improve our
   # wrapper scripts ...
-  sed -e "s|^$am_amdir/\\([a-z]*\.am\\)|\\1|" \
-      -e "s|^automake-$APIVERSION:|automake:|" ${1+"$@"};
+  sed -e "s,^$am_amdir/\\([a-z]*\.am\\),\\1," \
+      -e "s,^automake-$APIVERSION:,automake:," ${1+"$@"};
 }
 
 $ACLOCAL
@@ -59,26 +59,28 @@ AUTOMAKE_fails -Wno-error
 
 smash_useless_diffs stderr >observed
 
-cat >expected <<\EOF
-Makefile.am:12: warning: VAR multiply defined in condition TRUE ...
-Makefile.am:8: ... 'VAR' previously defined here
-automake: error: libfoo_a_OBJECTS should not be defined
-Makefile.am:3:   while processing library 'libfoo.a'
-automake: error: use 'libfoo_a_LDADD', not 'libfoo_a_LIBADD'
-Makefile.am:3:   while processing library 'libfoo.a'
-library.am: warning: deprecated feature: target 'libfoo.a' overrides 
'libfoo.a$(EXEEXT)'
-library.am: change your target to read 'libfoo.a$(EXEEXT)'
-Makefile.am:3:   while processing library 'libfoo.a'
-program.am: target 'libfoo.a$(EXEEXT)' was defined here
-Makefile.am:1:   while processing program 'libfoo.a'
-program.am: warning: redefinition of 'libfoo.a$(EXEEXT)' ...
-Makefile.am:1:   while processing program 'libfoo.a'
-library.am: ... 'libfoo.a' previously defined here
-Makefile.am:3:   while processing library 'libfoo.a'
-tags.am: warning: redefinition of 'ctags' ...
-program.am: ... 'ctags$(EXEEXT)' previously defined here
-Makefile.am:6:   while processing program 'ctags'
-EOF
+# Apparently useless use of sed here required to avoid spuriously
+# triggering some maintainer-checks failures.
+sed 's/^> //' > expected << 'END'
+> Makefile.am:12: warning: VAR multiply defined in condition TRUE ...
+> Makefile.am:8: ... 'VAR' previously defined here
+> automake: error: libfoo_a_OBJECTS should not be defined
+> Makefile.am:3:   while processing library 'libfoo.a'
+> automake: error: use 'libfoo_a_LDADD', not 'libfoo_a_LIBADD'
+> Makefile.am:3:   while processing library 'libfoo.a'
+> library.am: warning: deprecated feature: target 'libfoo.a' overrides 
'libfoo.a$(EXEEXT)'
+> library.am: change your target to read 'libfoo.a$(EXEEXT)'
+> Makefile.am:3:   while processing library 'libfoo.a'
+> program.am: target 'libfoo.a$(EXEEXT)' was defined here
+> Makefile.am:1:   while processing program 'libfoo.a'
+> program.am: warning: redefinition of 'libfoo.a$(EXEEXT)' ...
+> Makefile.am:1:   while processing program 'libfoo.a'
+> library.am: ... 'libfoo.a' previously defined here
+> Makefile.am:3:   while processing library 'libfoo.a'
+> tags.am: warning: redefinition of 'ctags' ...
+> program.am: ... 'ctags$(EXEEXT)' previously defined here
+> Makefile.am:6:   while processing program 'ctags'
+END
 
 cat expected
 cat observed
diff --git a/t/tap-signal.tap b/t/tap-signal.tap
index ab1cd40..cf5c945 100755
--- a/t/tap-signal.tap
+++ b/t/tap-signal.tap
@@ -49,7 +49,7 @@ for sig in $all_signals; do
   # to themselves consistently).  The shebang is dummy here, as we prefer
   # to rely on the definition of TEST_LOG_COMPILER instead.
   unindent > signal-$sig.test <<END
-    #! perl
+    #! /usr/bin/env perl
     # We need autoflush to avoid losing output, which could cause spurious
     # "no test plan seen" in the TAP driver.
     BEGIN { $| = 1 }
@@ -95,7 +95,8 @@ signal_caught ()
   wbound_re="($|[^a-zA-Z0-9_-])"
   pfx_re="^ERROR: signal-$numeric\\.test"
   case $am_tap_implementation in
-    perl) rx="$pfx_re - terminated by signal $sig_re$";;
+    # Dummy escape to please maintainer-check.
+    per\l) rx="$pfx_re - terminated by signal $sig_re$";;
     shell) rx="$pfx_re .*terminated by signal $sig_re$wbound_re";;
     *) fatal_ "invalid \$am_tap_implementation '$am_tap_implementation'";;
   esac


hooks/post-receive
-- 
GNU Automake



reply via email to

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