autoconf-commit
[Top][All Lists]
Advanced

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

[SCM] GNU Autoconf source repository branch, master, updated. v2.65-44-g


From: Ralf Wildenhues
Subject: [SCM] GNU Autoconf source repository branch, master, updated. v2.65-44-gc5f58b3
Date: Tue, 02 Mar 2010 06:54:16 +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 Autoconf source repository".

http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=c5f58b373f349aa9eed8e6d8419cb35981d11735

The branch, master has been updated
       via  c5f58b373f349aa9eed8e6d8419cb35981d11735 (commit)
       via  475ccc750cef2b2f8d3f11757d672e9fcc18f0b5 (commit)
      from  346e5876eb709debf019e063bc3393278f834dd2 (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 c5f58b373f349aa9eed8e6d8419cb35981d11735
Author: Ralf Wildenhues <address@hidden>
Date:   Tue Mar 2 07:50:19 2010 +0100

    Fix `autom4te cache creation' testsuite failure on FreeBSD.
    
    * tests/tools.at (autom4te cache creation): Normalize exit
    status of failed redirection to 1, may be 2 with FreeBSD sh.
    * THANKS: Update.
    Report by Václav Haisman.
    
    Signed-off-by: Ralf Wildenhues <address@hidden>

commit 475ccc750cef2b2f8d3f11757d672e9fcc18f0b5
Author: Ralf Wildenhues <address@hidden>
Date:   Tue Mar 2 07:48:42 2010 +0100

    Fix Autotest tracing of shell pipelines for FreeBSD sh.
    
    * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): Do not trace
    commands that contain [^|]|[^|], a likely shell pipeline.
    * tests/local.at (_AT_CHECK_ENV): Turn off tracing for egrep |
    grep pipeline.
    * doc/autoconf.texi (File Descriptors): Document limitation.
    * tests/autotest.at (Trace output): New test.
    
    Signed-off-by: Ralf Wildenhues <address@hidden>

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

Summary of changes:
 ChangeLog               |   16 ++++++++++++++++
 THANKS                  |    1 +
 doc/autoconf.texi       |    3 +++
 lib/autotest/general.m4 |    2 ++
 tests/autotest.at       |    6 ++++++
 tests/local.at          |    5 +++++
 tests/tools.at          |    3 ++-
 7 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 523628e..9e86d5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2010-03-02  Ralf Wildenhues  <address@hidden>
+
+       Fix `autom4te cache creation' testsuite failure on FreeBSD.
+       * tests/tools.at (autom4te cache creation): Normalize exit
+       status of failed redirection to 1, may be 2 with FreeBSD sh.
+       * THANKS: Update.
+       Report by Václav Haisman.
+
+       Fix Autotest tracing of shell pipelines for FreeBSD sh.
+       * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): Do not trace
+       commands that contain [^|]|[^|], a likely shell pipeline.
+       * tests/local.at (_AT_CHECK_ENV): Turn off tracing for egrep |
+       grep pipeline.
+       * doc/autoconf.texi (File Descriptors): Document limitation.
+       * tests/autotest.at (Trace output): New test.
+
 2010-03-01  Eric Blake  <address@hidden>
 
        Update file flow diagram to mention Automake.
diff --git a/THANKS b/THANKS
index 16dd8a3..ffa56de 100644
--- a/THANKS
+++ b/THANKS
@@ -388,6 +388,7 @@ Tomohiro Suzuki             ?
 Tony Leneis                 address@hidden
 Toshio Kuratomi             ?
 Uwe Seimet                  address@hidden
+Václav Haisman              address@hidden
 Vance Shipley               address@hidden
 Viktor Dukhovni             address@hidden
 Ville Karaila               address@hidden
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 191a397..04c8e91 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -14785,6 +14785,9 @@ must be done @emph{inside} the command substitution.  
When running
 @samp{: `cd /zorglub` 2>/dev/null} expect the error message to
 escape, while @samp{: `cd /zorglub 2>/dev/null`} works properly.
 
+FreeBSD 6.2 sh may mix the trace output lines from the statements in a
+shell pipeline.
+
 It is worth noting that Zsh (but not Ash nor Bash) makes it possible
 in assignments though: @samp{foo=`cd /zorglub` 2>/dev/null}.
 
diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4
index 71e3090..7942164 100644
--- a/lib/autotest/general.m4
+++ b/lib/autotest/general.m4
@@ -2034,6 +2034,8 @@ m4_cond([m4_eval(m4_index([$1], [`]) >= 0)], [1],
                [[a ${...} parameter expansion]],
        [m4_eval(m4_index([$1], m4_newline) >= 0)], [1],
                [[an embedded newline]],
+       [m4_eval(m4_bregexp([$1], [[^|]|[^|]]) >= 0)], [1],
+               [[a shell pipeline]],
        []))]dnl No reason.
 [m4_if(m4_index(_m4_defn([at_reason]), [a]), [0],]dnl
 dnl We know at build time that tracing COMMANDS is never safe.
diff --git a/tests/autotest.at b/tests/autotest.at
index 8a08897..88078ac 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -349,6 +349,12 @@ AT_CHECK_AT_TEST([unquoted output],
      [${a}"`echo 'b  '`\`\backtick]m4_newline)],
   [], [], [], [], [AT_KEYWORDS([AT@&address@hidden)])
 
+AT_CHECK_AT_TEST([Trace output],
+  [AT_CHECK([echo some longer longer longer command piped | ]dnl
+           [sed 's,into some other longer longer longer command,,'],
+           [], [some longer longer longer command piped
+])])
+
 AT_CHECK_AT([Logging],
   [[AT_INIT([artificial test suite])
     dnl intentionally write failing tests, to see what gets logged
diff --git a/tests/local.at b/tests/local.at
index dcfdf60..c26d071 100644
--- a/tests/local.at
+++ b/tests/local.at
@@ -243,6 +243,9 @@ m4_define([AT_CHECK_CONFIGURE],
 # In this case just don't pay attention to the env.  It would be great
 # to keep the error message but we can't: that would break AT_CHECK.
 #
+# FreeBSD sh may intermingle the trace output from the egrep and grep
+# commands in the pipe, so turn off tracing for these.
+#
 # Some tests might exit prematurely when they find a problem, in
 # which case `env-after' is probably missing.  Don't check it then.
 #
@@ -287,6 +290,7 @@ test -f state-ls.after \
   && { $at_diff state-ls.before state-ls.after || return 1; }
 # Compare variable space dumps.
 if test -f state-env.before && test -f state-env.after; then
+  set +x
   for act_file in state-env.before state-env.after
   do
     $EGREP -v '^(m4_join([|],
@@ -316,6 +320,7 @@ if test -f state-env.before && test -f state-env.after; then
       # There may be variables spread on several lines; remove latter lines.
       $GREP '^m4_defn([m4_re_word])=' >clean-$act_file
   done
+  $at_traceon
   $at_diff clean-state-env.before clean-state-env.after
 fi
 } [#]at_check_env])
diff --git a/tests/tools.at b/tests/tools.at
index d8ac0dc..f3adb11 100644
--- a/tests/tools.at
+++ b/tests/tools.at
@@ -1230,7 +1230,8 @@ end-language: "Autoconf-without-aclocal-m4"
 ]])
 
 # Do not try this when we are root or on systems without permissions.
-AT_CHECK([: > sub/some-file && exit 77], 1, [ignore], [ignore])
+# A failed redirection may cause a status of 2 with FreeBSD sh.
+AT_CHECK([(: > sub/some-file) || exit 1 && exit 77], 1, [ignore], [ignore])
 
 # Failure to create cache directory.
 AT_CHECK_AUTOCONF([], [1], [ignore], [stderr])


hooks/post-receive
-- 
GNU Autoconf source repository




reply via email to

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