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.11-1065


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-1065-g30eb17f
Date: Thu, 06 Oct 2011 19:42:47 +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=30eb17ff6ebb7d3c3904f7f65ded96a9568dbcd7

The branch, master has been updated
       via  30eb17ff6ebb7d3c3904f7f65ded96a9568dbcd7 (commit)
       via  d710255c09afd2d6e06d72259816988a0a79ea18 (commit)
       via  b9b79d887abdc615bae92a9dd79de881664d19d3 (commit)
       via  7d40532a3464eee6a26d303c378c44af95075698 (commit)
       via  39a9fd16381469f911d42a3e27975edcb248bbf2 (commit)
       via  736fde9f6cf8d514ef30dc5d83fe2a41c3e22c9a (commit)
       via  0773a99888c8932c19b61145d78317278d2bdd66 (commit)
       via  1cfe9542265d1d2a36d7cd90751b2ed269b0fbd3 (commit)
      from  8b27c5b5678b4502d15c0a6c8fdcda7a45ddbb16 (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 30eb17ff6ebb7d3c3904f7f65ded96a9568dbcd7
Merge: 8b27c5b d710255
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 6 21:42:06 2011 +0200

    Merge branch 'maint'

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

Summary of changes:
 ChangeLog                  |   34 ++++++++++++++++++++++++++++++++++
 Makefile.in                |    2 +-
 automake.in                |   19 +++++++++++++++----
 lib/am/distdir.am          |    4 ++--
 tests/insthook.test        |    6 +++++-
 tests/test-extensions.test |   21 +++++++++++----------
 6 files changed, 68 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9105370..8f200e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,39 @@
 2011-10-06  Stefano Lattarini  <address@hidden>
 
+       parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS
+       Even after the last commit `v1.11-476-g90bea64', the checks
+       performed by automake on entries in $(TEST_EXTENSIONS) tried to
+       allow for @substitited@ stuff.  This however ends up allowing
+       quite brittle setups, which, most importantly, are of no real
+       practical usefulness anyway.  So it's better to just disallow
+       @substitutions@ in TEST_EXTENSIONS altogether, offering a clear
+       error message, instead of risking weird bugs and unexpected
+       behaviors in the generated Makefile.in.
+       * automake.in ($TEST_EXTENSION_PATTERN): Turned from a regular
+       expression ...
+       (is_valid_test_extension): ... into this subroutine.  Don't allow
+       generic @substitutions@ anymore (possibly making an exception for
+       address@hidden@' under the proper circumstances).
+       * tests/test-extensions.test: Adjust and extend.
+
+2011-10-06  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failure in 'insthook.test'
+       * tests/insthook.test (Makefile.am): Add a proper `uninstall-hook'
+       target to remove the symlink created by the `install-exec-hook'
+       target; this prevents "make distcheck" from failing spuriously.
+       Since we are at it, delete an extra blank line, and add a trailing
+       `:' command.
+
+2011-10-06  Stefano Lattarini  <address@hidden>
+
+       maintcheck: fix spurious failure
+       * lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid
+       complaints from the `sc_no_brace_variable_expansions' maintainer
+       check.
+
+2011-10-06  Stefano Lattarini  <address@hidden>
+
        fix: make a test script executable
        * tests/nobase-nodist.test: Make executable.
 
diff --git a/Makefile.in b/Makefile.in
index 6466418..24a6c7f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -161,7 +161,7 @@ GZIP_ENV = --best
 DIST_TARGETS = dist-bzip2 dist-gzip
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
-  | sed 's|^\./|${prefix}/|' | grep -v '${infodir}/dir$$'
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
diff --git a/automake.in b/automake.in
index 4055e58..b69884a 100644
--- a/automake.in
+++ b/automake.in
@@ -210,8 +210,6 @@ my $INCLUDE_PATTERN = ('^include\s+'
 # Directories installed during 'install-exec' phase.
 my $EXEC_DIR_PATTERN =
   '^(?:bin|sbin|libexec|sysconf|localstate|lib|pkglib|.*exec.*)' . "\$";
-# Suffixes that can appear in TEST_EXTENSIONS (parallel-tests support).
-my $TEST_EXTENSION_PATTERN = '^(\.[a-zA-Z_][a-zA-Z0-9_]*|@[a-zA-Z0-9_]+@)$';
 
 # Values for AC_CANONICAL_*
 use constant AC_CANONICAL_BUILD  => 1;
@@ -4795,6 +4793,19 @@ sub handle_tests_dejagnu
     $output_rules .= file_contents ('dejagnu', new Automake::Location);
 }
 
+# is_valid_test_extension ($EXT)
+# ------------------------------
+# Return true if $EXT can appear in $(TEST_EXTENSIONS), return false
+# otherwise.
+sub is_valid_test_extension ($)
+{
+  my $ext = shift;
+  return 1
+    if ($ext =~ /^\.[a-zA-Z_][a-zA-Z0-9_]*$/);
+  return 1
+    if (exists $configure_vars{'EXEEXT'} && $ext eq subst ('EXEEXT'));
+  return 0;
+}
 
 # Handle TESTS variable and other checks.
 sub handle_tests
@@ -4842,12 +4853,12 @@ sub handle_tests
          my $var = rvar 'TEST_EXTENSIONS';
          my @test_suffixes = $var->value_as_list_recursive;
           if ((my @invalid_test_suffixes =
-                  grep { !/$TEST_EXTENSION_PATTERN/o } @test_suffixes) > 0)
+                  grep { !is_valid_test_extension $_ } @test_suffixes) > 0)
             {
               error $var->rdef (TRUE)->location,
                     "invalid test extensions: @invalid_test_suffixes";
             }
-          @test_suffixes = grep { /$TEST_EXTENSION_PATTERN/o } @test_suffixes;
+          @test_suffixes = grep { is_valid_test_extension $_ } @test_suffixes;
          if ($handle_exeext)
            {
              unshift (@test_suffixes, $at_exeext)
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index 81bd62c..7e31f2c 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -533,9 +533,9 @@ distuninstallcheck_listfiles = find . -type f -print
 ## The `dir' file (created by install-info) might still exist after
 ## uninstall, so we must be prepared to account for it.  The following
 ## check is not 100% strict, but is definitely good enough, and even
-## accounts for overridden ${infodir}.
+## accounts for overridden $(infodir).
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
-  | sed 's|^\./|${prefix}/|' | grep -v '${infodir}/dir$$'
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distuninstallcheck:
        @test -n '$(distuninstallcheck_dir)' || { \
          echo 'ERROR: trying to run $@ with an empty' \
diff --git a/tests/insthook.test b/tests/insthook.test
index ee89057..50b7fd2 100755
--- a/tests/insthook.test
+++ b/tests/insthook.test
@@ -36,6 +36,9 @@ installcheck-local:
        test -f "$(bindir)/foo"
        test -f "$(bindir)/foo-$(VERSION)"
        : > $(top_srcdir)/../ok
+
+uninstall-hook:
+       rm -f $(DESTDIR)$(bindir)/foo-$(VERSION)
 END
 
 echo 1 > foo
@@ -62,7 +65,6 @@ grep 1 bin/foo-1.0
 grep 2 bin/foo-2.0
 grep 2 bin/foo
 
-
 # install-hook is an error.
 cat >>Makefile.am <<EOF
 install-hook:
@@ -72,3 +74,5 @@ EOF
 AUTOMAKE_fails
 grep install-data-hook stderr
 grep install-exec-hook stderr
+
+:
diff --git a/tests/test-extensions.test b/tests/test-extensions.test
index 1d5872c..901d872b 100755
--- a/tests/test-extensions.test
+++ b/tests/test-extensions.test
@@ -24,29 +24,29 @@ parallel_tests=yes
 set -e
 
 cat >> configure.in <<'END'
-AC_SUBST([ext], [".e"])
 AC_OUTPUT
 END
 
 $ACLOCAL
 $AUTOCONF
 
-cat > Makefile.am << 'END'
-TESTS =
-TEST_EXTENSIONS = .sh .T .t1 ._foo .BAR .x_Y_z ._ @ext@
-END
+valid_extensions='sh T t1 _foo BAR x_Y_z _'
+
+echo TESTS = > Makefile.am
+echo " $valid_extensions" \
+  | sed -e 's/ / ./g' -e 's/^/TEST_EXTENSIONS =/' >> Makefile.am
+cat Makefile.am # For debugging.
 
 $AUTOMAKE
 
-$EGREP -i 'log|ext' Makefile.in # For debugging.
+grep -i 'log' Makefile.in # For debugging.
 
-for lc in sh T t1 _foo BAR x_Y_z _; do
+for lc in $valid_extensions; do
   uc=`echo $lc | tr '[a-z]' '[A-Z]'`
   $FGREP "\$(${uc}_LOG_COMPILER)" Makefile.in
   grep "^${uc}_LOG_COMPILE =" Makefile.in
   grep "^\.${lc}\.log:" Makefile.in
 done
-grep "address@hidden@\.log:" Makefile.in
 
 # The produced Makefile is not broken.
 ./configure
@@ -54,11 +54,12 @@ $MAKE all check
 
 cat > Makefile.am << 'END'
 TESTS = foo.test bar.sh
-TEST_EXTENSIONS = .test mu .x-y a-b .t.1 .sh .6c .0 .11 .@ .t33 .a=b _&_
+TEST_EXTENSIONS  = .test mu .x-y a-b .t.1 .sh .6c .0 .11 .= @suf@ 
address@hidden@
+TEST_EXTENSIONS += .= .t33 address@hidden _&_
 END
 
 AUTOMAKE_fails
-for suf in mu .x-y a-b .t.1 .6c .0 .11 '.@' '.a=b' '_&_'; do
+for suf in mu .x-y a-b .t.1 .6c .0 .11  @suf@ address@hidden@ '.=' '_&_'; do
   suf2=`printf '%s\n' "$suf" | sed -e 's/\./\\./'`
   $EGREP "^Makefile\.am:2:.*invalid test extension.* $suf2( |$)" stderr
 done


hooks/post-receive
-- 
GNU Automake



reply via email to

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