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-687-


From: Ralf Wildenhues
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-687-ge9d5de5
Date: Sat, 22 Jan 2011 17:32:32 +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=e9d5de54179ce6d40c62f5bb26e281748b6ea719

The branch, master has been updated
       via  e9d5de54179ce6d40c62f5bb26e281748b6ea719 (commit)
       via  c23bfd88a1c6098ece130af225b0dc51d69b84cb (commit)
       via  e09e0b9105627b4a855a7df0d41e471ff4b7f6b9 (commit)
       via  1d6463069d5cbdc68ae413ce52947e962183033e (commit)
       via  e9cb6db11693a39051b43574405c651ce91ab37d (commit)
       via  92c4c0c0a073fee1497ae70b8d269fc81f3884c7 (commit)
       via  4a492566abfbecd896073dc62e4099e182e5e69c (commit)
       via  c876b0e062a41150a667470e250794efed83f721 (commit)
       via  7e2e93d82b46e743c68a821684fc5afc54bfef54 (commit)
       via  e9b44d82fd9d4d55223f11a4fff011c2c7036175 (commit)
       via  4e1ab202ca72822803463aa71e676b938210f0f5 (commit)
       via  15a6e56f4a8f9e262631419dbfc46483c0b69428 (commit)
       via  10315b6dc8fe65f86a901ee9692271b2e8e4f541 (commit)
      from  5640d721dcadaa181d5432bf02bee4064662cb12 (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 e9d5de54179ce6d40c62f5bb26e281748b6ea719
Merge: c23bfd8 e9cb6db
Author: Ralf Wildenhues <address@hidden>
Date:   Sat Jan 22 18:31:12 2011 +0100

    Merge branch 'maint'

commit c23bfd88a1c6098ece130af225b0dc51d69b84cb
Merge: 5640d72 e09e0b9
Author: Ralf Wildenhues <address@hidden>
Date:   Sat Jan 22 18:27:30 2011 +0100

    Merge branch 'tests-suffix-extend'
    
    * tests-suffix-extend:
      tests: fix VPATH auto-expansion workarounds.
      tests: fix VPATH auto-expansion workarounds.

commit e09e0b9105627b4a855a7df0d41e471ff4b7f6b9
Author: Ralf Wildenhues <address@hidden>
Date:   Sat Jan 22 13:11:39 2011 +0100

    tests: fix VPATH auto-expansion workarounds.
    
    * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
    tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
    Ensure $< is not surrounded by white space, to prevent Solaris
    make from applying automatic VPATH text expansion.
    
    Signed-off-by: Ralf Wildenhues <address@hidden>

commit 1d6463069d5cbdc68ae413ce52947e962183033e
Merge: d47051e 92c4c0c
Author: Ralf Wildenhues <address@hidden>
Date:   Sat Jan 22 18:22:18 2011 +0100

    Merge branch 'vpath-autoexp-fix-maint' into tests-suffix-extend
    
    * vpath-autoexp-fix-maint:
      tests: fix VPATH auto-expansion workarounds.

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

Summary of changes:
 ChangeLog                  |   56 ++++++++++++++++++++++++++++++++++++++++++++
 doc/automake.texi          |   14 ++++++++---
 lib/am/check.am            |    4 +++
 lib/install-sh             |   23 ++++++++++--------
 tests/fn99.test            |    3 ++
 tests/fn99subdir.test      |    3 ++
 tests/instsh2.test         |   33 +++++++++++++++++++++++++-
 tests/parallel-tests8.test |    2 +-
 tests/spy.test             |   16 ++++++++----
 tests/suffix10.test        |    2 +-
 tests/suffix11.test        |    2 +-
 tests/suffix12.test        |    2 +-
 tests/suffix13.test        |    2 +-
 tests/suffix3.test         |    2 +-
 tests/suffix5.test         |    2 +-
 tests/suffix8.test         |    8 +++---
 tests/yflags.test          |    4 +++
 tests/yflags2.test         |    4 +++
 18 files changed, 150 insertions(+), 32 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f683399..6bae147 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,59 @@
+2011-01-22  Ralf Wildenhues  <address@hidden>
+
+       tests: fix VPATH auto-expansion workarounds.
+       * tests/suffix10.test, tests/suffix11.test, tests/suffix12.test,
+       tests/suffix3.test, tests/suffix5.test, tests/suffix8.test:
+       Ensure $< is not surrounded by white space, to prevent Solaris
+       make from applying automatic VPATH text expansion.
+
+       tests: fix VPATH auto-expansion workarounds.
+       * tests/parallel-tests8.test, tests/suffix13.test:
+       Ensure $< is not surrounded by white space, to prevent Solaris
+       make from applying automatic VPATH text expansion.
+
+2011-01-22  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failures in yflags*.test
+       * tests/yflags.test: Remove 'YACC' from the environment, so
+       that it won't be erroneously picked up by `make -e'.
+       * tests/yflags2.test: Likewise.
+
+2011-01-22  Ralf Wildenhues  <address@hidden>
+
+       tests: avoid fn99*.test failures due to buggy AIX 5.3 cp -R.
+       * tests/fn99.test, tests/fn99subdir.test: Skip if an initial
+       `cp -R' of the subdir tree already fails; AIX 5.3 cp messes
+       up its internal memory when copying this tree.
+
+2011-01-22  Ralf Wildenhues  <address@hidden>
+           Stefano Lattarini  <address@hidden>
+
+       Add comment to check-TESTS rule working around make 3.80 bug.
+       * lib/am/check.am (check-TESTS): Update comment.
+
+2011-01-20  Ralf Wildenhues  <address@hidden>
+
+       tests: less strict double-colon spy.test again.
+       * tests/spy.test: We know BSD make doesn't invoke more than one
+       double-colon rule, so no need to expose that failure.
+
+2011-01-19  Ralf Wildenhues  <address@hidden>
+
+       install-sh: avoid Tru64 sh `test' operator precedence issues.
+       * lib/install-sh: Protect file names and directory components
+       that consist of `=', `(', `)', or `!'.  Move protection as early
+       as possible, to avoid errors such as with Tru64 sh `test -z ='.
+       * tests/instsh2.test: Extend test to cover more possibilities.
+       Fixes 1.12 instspc-equal-install.test failure on Tru64/OSF 5.1.
+
+2011-01-19  Stefano Lattarini  <address@hidden>
+           Ralf Wildenhues  <address@hidden>
+
+       docs: automake testsuite doesn't use TESTS_ENVIRONMENT anymore
+       * doc/automake.texi (Simple Tests): Do not claim Automake uses
+       TESTS_ENVIRONMENT for the perl driver.  Instead, point to the
+       parallel-tests driver.
+
 2011-01-21  Ralf Wildenhues  <address@hidden>
 
        tests: check for presence of cscope with redirected input.
diff --git a/doc/automake.texi b/doc/automake.texi
index 9f66a9d..3af5201 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -8638,13 +8638,19 @@ variables for the test run; the environment variable 
@env{srcdir} is
 set in the rule.  If all your test programs are scripts, you can also
 set @code{TESTS_ENVIRONMENT} to an invocation of the shell (e.g.
 @samp{$(SHELL) -x} can be useful for debugging the tests), or any other
-interpreter.  For instance the following setup is used by the Automake
-package to run four tests in Perl.
+interpreter.  For instance, the following setup may be used to run tests
+with Perl:
+
 @example
-TESTS_ENVIRONMENT = $(PERL) -Mstrict -I $(top_srcdir)/lib -w
-TESTS = Condition.pl DisjConditions.pl Version.pl Wrap.pl
+TESTS_ENVIRONMENT = $(PERL) -Mstrict -w
+TESTS = foo.pl bar.pl baz.pl
 @end example
 
+Note that the @option{parallel-tests} driver provides a more elegant
+way to achieve the same effect, freeing the @code{TESTS_ENVIRONMENT}
+variable for the user to override (@pxref{Simple Tests using
+parallel-tests}).
+
 
 @cindex Tests, expected failure
 @cindex Expected test failure
diff --git a/lib/am/check.am b/lib/am/check.am
index 5728081..4d10ce9 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -235,6 +235,10 @@ check-TESTS:
 ## OTOH, this means that, in the rule for `$(TEST_SUITE_LOG)', we
 ## cannot use `$?' to compute the set of lazily rerun tests, lest
 ## we rely on .PHONY to work portably.
+##
+## Trailing whitespace in `TESTS = foo.test $(empty)' causes GNU make
+## 3.80 to erroneously expand $(TESTS_LOGS) to `foo.log .log'.
+## Work around this bug.
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
        @list='$(TEST_LOGS)';                                           \
        list=`for f in $$list; do                                       \
diff --git a/lib/install-sh b/lib/install-sh
index 3f83ce9..a9244eb 100755
--- a/lib/install-sh
+++ b/lib/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2010-02-06.18; # UTC
+scriptversion=2011-01-19.21; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -156,6 +156,10 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
+       # Protect names problematic for `test' and other utilities.
+       case $dst_arg in
+         -* | [=\(\)!]) dst_arg=./$dst_arg;;
+       esac
        shift;;
 
     -T) no_target_directory=true;;
@@ -186,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
+    # Protect names problematic for `test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
   done
 fi
 
@@ -232,9 +240,9 @@ fi
 
 for src
 do
-  # Protect names starting with `-'.
+  # Protect names problematic for `test' and other utilities.
   case $src in
-    -*) src=./$src;;
+    -* | [=\(\)!]) src=./$src;;
   esac
 
   if test -n "$dir_arg"; then
@@ -256,12 +264,7 @@ do
       echo "$0: no destination specified." >&2
       exit 1
     fi
-
     dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
 
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
@@ -389,7 +392,7 @@ do
 
       case $dstdir in
        /*) prefix='/';;
-       -*) prefix='./';;
+       [-=\(\)!]*) prefix='./';;
        *)  prefix='';;
       esac
 
@@ -407,7 +410,7 @@ do
 
       for d
       do
-       test -z "$d" && continue
+       test X"$d" = X && continue
 
        prefix=$prefix$d
        if test -d "$prefix"; then
diff --git a/tests/fn99.test b/tests/fn99.test
index e80d09f..c2afd2e 100755
--- a/tests/fn99.test
+++ b/tests/fn99.test
@@ -32,6 +32,9 @@ do
   touch x
 done) || Exit 77
 
+# AIX 5.3 `cp -R' is too buggy for `make dist'.
+cp -R 12345678 t || Exit 77
+
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
diff --git a/tests/fn99subdir.test b/tests/fn99subdir.test
index 0f05b5a..a040e58 100755
--- a/tests/fn99subdir.test
+++ b/tests/fn99subdir.test
@@ -53,6 +53,9 @@ do
   touch x
 done)
 
+# AIX 5.3 `cp -R' is too buggy for `make dist'.
+cp -R ${subdirname} t || Exit 77
+
 for init_dir in ${subdirname} .; do
        (
                cd ${init_dir} || Exit 1
diff --git a/tests/instsh2.test b/tests/instsh2.test
index a3ba300..2019b35 100755
--- a/tests/instsh2.test
+++ b/tests/instsh2.test
@@ -76,9 +76,40 @@ test -f d3/y
 ./install-sh -T x d3 && Exit 1
 ./install-sh -T x d4// && Exit 1
 
-# Ensure that install-sh works with names that include spaces
+# Ensure that install-sh works with names that include spaces.
 touch 'a  b'
 mkdir 'x  y'
 ./install-sh 'a  b' 'x  y'
 test -f x\ \ y/a\ \ b
 test -f 'a  b'
+
+# Ensure we do not run into `test' operator precedence bugs with Tru64 sh.
+for c in = '(' ')' '!'; do
+  ./install-sh $c 2>stderr && { cat stderr >&2; Exit 1; }
+  cat stderr >&2
+  grep 'test: ' stderr && Exit 1
+  # Skip tests if the file system is not capable.
+  mkdir ./$c || continue
+  rmdir ./$c
+  ./install-sh -d $c/$c/$c
+  rm -rf ./$c
+  ./install-sh -d $c d5/$c/$c
+  test -d ./$c
+  test -d d5/$c/$c
+  ./install-sh x $c
+  test -f ./$c/x
+  rm -f ./$c/x
+  ./install-sh -t $c x
+  test -f ./$c/x
+  rm -rf ./$c
+  ( : > ./$c ) || continue
+  ./install-sh $c x d5/$c/$c
+  test -f d5/$c/$c/x
+  test -f d5/$c/$c/$c
+  rm -f d5/$c/$c/?
+  ./install-sh -t d5/$c/$c $c x
+  test -f d5/$c/$c/x
+  test -f d5/$c/$c/$c
+done
+
+:
diff --git a/tests/parallel-tests8.test b/tests/parallel-tests8.test
index 302125f..d1d5b74 100755
--- a/tests/parallel-tests8.test
+++ b/tests/parallel-tests8.test
@@ -37,7 +37,7 @@ TESTS = foo.test
 TESTS += $(srcdir)/bar.test $(top_srcdir)/baz.test
 .in.test:
 ## Account for VPATH issues on weaker make implementations (e.g. IRIX 6.5)
-       cp `test -f $< || echo $(srcdir)/`$< $@
+       cp `test -f '$<' || echo $(srcdir)/`$< $@
        chmod +x $@
 check_SCRIPTS = $(TESTS)
 EXTRA_DIST = foo.in foo.test
diff --git a/tests/spy.test b/tests/spy.test
index f4bd6ef..1a97ae7 100755
--- a/tests/spy.test
+++ b/tests/spy.test
@@ -92,11 +92,15 @@ $sleep
 touch c
 $MAKE
 test "`cat a`" = rule2
-: > a
-$sleep
-touch b c
-$MAKE
-grep rule1 a
-grep rule2 a
+
+# Unfortunately, the following is not portable to FreeBSD/NetBSD/OpenBSD
+# make, see explanation above.
+
+#: > a
+#$sleep
+#touch b c
+#$MAKE
+#grep rule1 a
+#grep rule2 a
 
 :
diff --git a/tests/suffix10.test b/tests/suffix10.test
index 8160a8d..026da24 100755
--- a/tests/suffix10.test
+++ b/tests/suffix10.test
@@ -42,7 +42,7 @@ libfoo_la_SOURCES = foo.x_
          && echo 'WORD: "foo";' \
          && echo '%%' \
 ## account for VPATH issues on weaker make implementations
-         && cat `test -f $< || echo $(srcdir)/`$<; \
+         && cat `test -f '$<' || echo $(srcdir)/`$<; \
        } > address@hidden
        mv -f address@hidden $@
 .PHONY: test
diff --git a/tests/suffix11.test b/tests/suffix11.test
index eac61f4..daeba1c 100755
--- a/tests/suffix11.test
+++ b/tests/suffix11.test
@@ -33,7 +33,7 @@ baz_SOURCES = baz1.x_ baz2.y-z
 
 .y-z.c .x_.c:
 ## account for VPATH issues on weaker make implementations (e.g. IRIX 6.5)
-       sed 's/INTEGER/int/g' `test -f $< || echo $(srcdir)/`$< >$@
+       sed 's/INTEGER/int/g' `test -f '$<' || echo $(srcdir)/`$< >$@
 
 CLEANFILES = foo.c bar.c baz1.c baz2.c
 
diff --git a/tests/suffix12.test b/tests/suffix12.test
index 6628d31..a515f41 100755
--- a/tests/suffix12.test
+++ b/tests/suffix12.test
@@ -31,7 +31,7 @@ SUFFIXES = .baz .o
 # we fake here:
 .baz.o:
        ## account for VPATH issues on weaker make implementations
-       cp `test -f $< || echo $(srcdir)/`$< $@
+       cp `test -f '$<' || echo $(srcdir)/`$< $@
 
 bin_PROGRAMS = foo
 foo_SOURCES = foo.c sub/bar.baz
diff --git a/tests/suffix13.test b/tests/suffix13.test
index c81692c..228d04a 100755
--- a/tests/suffix13.test
+++ b/tests/suffix13.test
@@ -37,7 +37,7 @@ SUFFIXES = .baz .c
 .baz.c:
        case $@ in sub/*) $(MKDIR_P) sub;; *) :;; esac
 ## Account for VPATH issues on weaker make implementations (e.g. IRIX 6.5)
-       cp `test -f $< || echo $(srcdir)/`$< $@
+       cp `test -f '$<' || echo $(srcdir)/`$< $@
 
 DISTCLEANFILES = sub/bar.c
 
diff --git a/tests/suffix3.test b/tests/suffix3.test
index 060cc49..e0c01f6 100755
--- a/tests/suffix3.test
+++ b/tests/suffix3.test
@@ -27,7 +27,7 @@ END
 cat > Makefile.am << 'END'
 SUFFIXES = .zoo
 .zoo.cc:
-       sed 's/INTEGER/int/g' `test -f $< || echo $(srcdir)/`$< >$@
+       sed 's/INTEGER/int/g' `test -f '$<' || echo $(srcdir)/`$< >$@
 bin_PROGRAMS = foo
 foo_SOURCES = foo.zoo
 # This is required by "make distcheck".  The useless indirection is
diff --git a/tests/suffix5.test b/tests/suffix5.test
index 68de440..60417e4 100755
--- a/tests/suffix5.test
+++ b/tests/suffix5.test
@@ -30,7 +30,7 @@ END
 cat > Makefile.am << 'END'
 .k.lo:
 ## account for VPATH issues on weaker make implementations
-       (echo $< && cat `test -f $< || echo $(srcdir)/`$<) > $@
+       (echo $< && cat `test -f '$<' || echo $(srcdir)/`$<) > $@
 
 noinst_LTLIBRARIES = libfoo.la
 libfoo_la_SOURCES = foo.k
diff --git a/tests/suffix8.test b/tests/suffix8.test
index 33cf331..921c641 100755
--- a/tests/suffix8.test
+++ b/tests/suffix8.test
@@ -41,13 +41,13 @@ libfoo_la_SOURCES = bar.x_
 # The elaborate cp commands below account for VPATH issues on
 # weaker make implementations (e.g. IRIX 6.5).
 .x_.y_:
-       cp `test -f $< || echo $(srcdir)/`$< $@
+       cp `test -f '$<' || echo $(srcdir)/`$< $@
 .y_.o:
-       cp `test -f $< || echo $(srcdir)/`$< $@
+       cp `test -f '$<' || echo $(srcdir)/`$< $@
 .y_.z_:
-       cp `test -f $< || echo $(srcdir)/`$< $@
+       cp `test -f '$<' || echo $(srcdir)/`$< $@
 .z_.lo:
-       cp `test -f $< || echo $(srcdir)/`$< $@
+       cp `test -f '$<' || echo $(srcdir)/`$< $@
 
 # Some make implementations don't remove intermediate files
 # automatically, thus causing "make distcheck" to fail if
diff --git a/tests/yflags.test b/tests/yflags.test
index 7113da8..aac1986 100755
--- a/tests/yflags.test
+++ b/tests/yflags.test
@@ -28,6 +28,10 @@ echo 'extern int dummy;' >> y.tab.c
 END
 chmod a+x fake-yacc
 
+# Remove Yacc from the environment, so that it won't interfere
+# with `make -e' below.
+unset YACC || :
+
 cat >> configure.in <<'END'
 AC_PROG_CC
 # Simulate presence of Yacc using our fake-yacc script.
diff --git a/tests/yflags2.test b/tests/yflags2.test
index fac4524..fe0d4b3 100755
--- a/tests/yflags2.test
+++ b/tests/yflags2.test
@@ -29,6 +29,10 @@ echo 'extern int dummy;' >> y.tab.c
 END
 chmod a+x fake-yacc
 
+# Remove Yacc from the environment, so that it won't interfere
+# with `make -e' below.
+unset YACC || :
+
 cat >> configure.in <<'END'
 AC_PROG_CXX
 # Simulate presence of Yacc using our fake-yacc script.


hooks/post-receive
-- 
GNU Automake



reply via email to

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