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-531-g


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-531-gc615147
Date: Tue, 08 Nov 2011 19:19:55 +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=c615147195e1248a5e896a38623fa085861460d2

The branch, maint has been updated
       via  c615147195e1248a5e896a38623fa085861460d2 (commit)
       via  d9ea65c09108dc08c5d4526fc8b60e1df84bf00a (commit)
      from  549f3844cc9bca0dfd28d5631e0229922c7e709f (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 c615147195e1248a5e896a38623fa085861460d2
Author: Stefano Lattarini <address@hidden>
Date:   Tue Nov 8 19:50:29 2011 +0100

    tests: testsuite is now safe to run with dmake in parallel mode
    
    * tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
    and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
    in parallel mode, and which might confuse make processes spawned
    by our testsuite.

commit d9ea65c09108dc08c5d4526fc8b60e1df84bf00a
Author: Stefano Lattarini <address@hidden>
Date:   Tue Nov 8 18:41:30 2011 +0100

    tests: fix spurious failures w.r.t. parallel make and colorization
    
    * tests/color2.test: Skip the test if the $MAKE program fails to
    consider the standard output as a tty when spawned by `expect'.
    This is required for make implementations, like FreeBSD make and
    Solaris dmake, that redirect the output of recipes to temporary
    files or pipes when run in parallel mode.  Since we are at it,
    simplify the detection of a working `expect' program, and throw
    in other minor simplifications.

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

Summary of changes:
 ChangeLog         |   19 +++++++++++++++++++
 tests/color2.test |   32 +++++++++++++++++++++++---------
 tests/defs.in     |    8 +++++---
 3 files changed, 47 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index cc917f0..8769d83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2011-11-08  Stefano Lattarini  <address@hidden>
+
+       tests: testsuite is now safe to run with dmake in parallel mode
+       * tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
+       and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
+       in parallel mode, and which might confuse make processes spawned
+       by our testsuite.
+
+2011-11-08  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failures w.r.t. parallel make and colorization
+       * tests/color2.test: Skip the test if the $MAKE program fails to
+       consider the standard output as a tty when spawned by `expect'.
+       This is required for make implementations, like FreeBSD make and
+       Solaris dmake, that redirect the output of recipes to temporary
+       files or pipes when run in parallel mode.  Since we are at it,
+       simplify the detection of a working `expect' program, and throw
+       in other minor simplifications.
+
 2011-11-07  Stefano Lattarini  <address@hidden>
 
        tests: fix spurious failure in 'distcheck-override-infodir.test'
diff --git a/tests/color2.test b/tests/color2.test
index 306aa04..2217d88 100755
--- a/tests/color2.test
+++ b/tests/color2.test
@@ -38,16 +38,31 @@ case `echo "$std" | grep .` in
   *) echo "$me: grep can't parse nonprinting characters" >&2; Exit 77;;
 esac
 
-# Check that we have a working expect program.
-cat >expect-check <<'END'
-#! /usr/bin/expect -f
-spawn $env(THE_SYSTEM_SHELL) -c :
-expect eof
+# This test requires a working a working `expect' program.
+(set +e; expect -c "exit 77"; test $? -eq 77) \
+  || skip_ "requires a working expect program"
+
+# Also, if the $MAKE program fails to consider the standard output as a
+# tty (this happens with e.g., BSD make and Solaris dmake when they're
+# run in parallel mode; see the autoconf manual), there is little point
+# in proceeding.
+cat > Makefile <<'END'
+all:
+## Creaive quoting in the `echo' below to avoid risk of spurious output
+## matches by `expect', below.
+       @test -t 1 && echo "stdout" "is" "a" "tty"
 END
-THE_SYSTEM_SHELL=/bin/sh expect -f expect-check || {
-    echo "$me: failed to find a working expect program" >&2
-    Exit 77
+cat > expect-check <<'END'
+spawn $env(MAKE)
+expect {
+  "stdout is a tty" { exit 0 }
+  default { exit 1 }
 }
+exit 1
+END
+MAKE=$MAKE expect -f expect-check \
+  || skip_ "make spawned by expect should have a tty stdout"
+rm -f check Makefile
 
 # Do the tests.
 
@@ -108,7 +123,6 @@ test_no_color ()
 }
 
 cat >expect-make <<'END'
-#! /usr/bin/expect -f
 spawn $env(MAKE) -e check
 expect eof
 END
diff --git a/tests/defs.in b/tests/defs.in
index f999092..f24d2ad 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -410,11 +410,13 @@ cd ./$testSubDir
   echo "AC_CONFIG_FILES([Makefile])"
 } >configure.in
 
-# Unset some MAKE... variables that may cause $MAKE to act like a
-# recursively invoked sub-make.  Any $MAKE invocation in a test is
+# Unset some make-related variables that may cause $MAKE to act like
+# a recursively invoked sub-make.  Any $MAKE invocation in a test is
 # conceptually an independent invocation, not part of the main
 # 'automake' build.
-unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL __MKLVL__ MAKE_JOBS_FIFO
+unset MFLAGS MAKEFLAGS AM_MAKEFLAGS MAKELEVEL
+unset __MKLVL__ MAKE_JOBS_FIFO                     # For BSD make.
+unset DMAKE_CHILD DMAKE_DEF_PRINTED DMAKE_MAX_JOBS # For Solaris dmake.
 # Unset verbosity flag.
 unset V
 # Also unset variables that will let `make -e install' divert


hooks/post-receive
-- 
GNU Automake



reply via email to

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