automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, test-protocols, updated. v1


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, test-protocols, updated. v1.11-1215-g473ea1d
Date: Thu, 06 Oct 2011 20:14:01 +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=473ea1d1ef00f0f2c537a2e54d5257b2639f3d35

The branch, test-protocols has been updated
       via  473ea1d1ef00f0f2c537a2e54d5257b2639f3d35 (commit)
       via  80795e05596fa50c395979bf0238d69709297f71 (commit)
       via  30eb17ff6ebb7d3c3904f7f65ded96a9568dbcd7 (commit)
       via  d710255c09afd2d6e06d72259816988a0a79ea18 (commit)
       via  b9b79d887abdc615bae92a9dd79de881664d19d3 (commit)
       via  49088d88d626fc63317e0e4dd9d56138336da7c1 (commit)
       via  7d40532a3464eee6a26d303c378c44af95075698 (commit)
       via  39a9fd16381469f911d42a3e27975edcb248bbf2 (commit)
       via  736fde9f6cf8d514ef30dc5d83fe2a41c3e22c9a (commit)
       via  0773a99888c8932c19b61145d78317278d2bdd66 (commit)
       via  1cfe9542265d1d2a36d7cd90751b2ed269b0fbd3 (commit)
      from  0da79637931ff0abeffc3d6b8352e18ef72b3609 (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 473ea1d1ef00f0f2c537a2e54d5257b2639f3d35
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 6 22:10:42 2011 +0200

    fix: improve latest ChangeLog entry after merge

commit 80795e05596fa50c395979bf0238d69709297f71
Merge: 49088d8 30eb17f
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 6 22:09:30 2011 +0200

    Merge branch 'master' into test-protocols

commit 49088d88d626fc63317e0e4dd9d56138336da7c1
Author: Stefano Lattarini <address@hidden>
Date:   Thu Oct 6 18:56:16 2011 +0200

    tests: fix spurious error in 'test-extensions.test'
    
    * tests/test-extensions.test: Call automake with the option
    `--add-missing', to ensure the required script `test-driver'
    gets installed.  Note that the test still fails due to an
    internal error in automake, though.

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

Summary of changes:
 ChangeLog                  |   43 +++++++++++++++++++++++++++++++++++++++++++
 Makefile.in                |    2 +-
 automake.in                |   20 ++++++++++++++++----
 lib/am/distdir.am          |    4 ++--
 tests/insthook.test        |    6 +++++-
 tests/test-extensions.test |   23 ++++++++++++-----------
 6 files changed, 79 insertions(+), 19 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 69bdc01..f58b01a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,48 @@
 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.  This test does
+       not cause any internal error in automake anymore now.
+
+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>
+
+       tests: fix spurious error in 'test-extensions.test'
+       * tests/test-extensions.test: Call automake with the option
+       `--add-missing', to ensure the required script `test-driver'
+       gets installed.  Note that the test still fails due to an
+       internal error in automake, though.
+
+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 d9caa6e..718b328 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;
@@ -4847,6 +4845,20 @@ sub handle_per_suffix_test
                                    %transform);
 }
 
+# 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
 {
@@ -4893,12 +4905,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..60b7085 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
+$AUTOMAKE -a
 
-$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]