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.63b-66-


From: Eric Blake
Subject: [SCM] GNU Autoconf source repository branch, master, updated. v2.63b-66-g596644c
Date: Thu, 02 Jul 2009 13:20:46 +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=596644ca294922cc29a3f803f1226a9433e4af66

The branch, master has been updated
       via  596644ca294922cc29a3f803f1226a9433e4af66 (commit)
      from  06aeca6abe91d156762701badf1efe857b0472b5 (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 596644ca294922cc29a3f803f1226a9433e4af66
Author: Eric Blake <address@hidden>
Date:   Thu Jul 2 07:17:43 2009 -0600

    Skip test on shells that can't catch syntax failure.
    
    * tests/autotest.at (Syntax error): Skip test if shell aborts on
    syntax error (AIX ksh88) or doesn't detect it (zsh).
    * doc/autoconf.texi (Limitations of Builtins) <.>: Mention these
    limitations.
    Reported by Ralf Wildenhues.
    
    Signed-off-by: Eric Blake <address@hidden>

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

Summary of changes:
 ChangeLog         |    9 +++++++++
 doc/autoconf.texi |   18 ++++++++++++++++++
 tests/autotest.at |   13 ++++++++++---
 3 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8f0b5ae..4d5d532 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2009-07-02  Eric Blake  <address@hidden>
+
+       Skip test on shells that can't catch syntax failure.
+       * tests/autotest.at (Syntax error): Skip test if shell aborts on
+       syntax error (AIX ksh88) or doesn't detect it (zsh).
+       * doc/autoconf.texi (Limitations of Builtins) <.>: Mention these
+       limitations.
+       Reported by Ralf Wildenhues.
+
 2009-06-30  Jan Madzik  <address@hidden>  (tiny change)
            Ralf Wildenhues  <address@hidden>
 
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 5908bbb..04e3b10 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -15483,6 +15483,24 @@ to this @env{PATH} search, even though Posix forbids 
it.  So if you want
 to use @command{.} on a file @file{foo} in the current directory, you
 must use @samp{. ./foo}.
 
+Not all shells gracefully handle syntax errors within a sourced file.
+On one extreme, some non-interactive shells abort the entire script.  On
+the other, @command{zsh} 4.3.10 has a bug where it fails to react to the
+syntax error.
+
address@hidden
+$ @kbd{echo 'fi' > syntax}
+$ @kbd{bash -c '. ./syntax; echo $?'}
+./syntax: line 1: syntax error near unexpected token `fi'
+./syntax: line 1: `fi'
+1
+$ @kbd{ash -c '. ./syntax; echo $?'}
+./syntax: 1: Syntax error: "fi" unexpected
+$ @kbd{zsh -c '. ./syntax; echo $?'}
+./syntax:1: parse error near `fi'
+0
address@hidden example
+
 @item @command{!}
 @c --------------
 @prindex @command{!}
diff --git a/tests/autotest.at b/tests/autotest.at
index d86088c..6f0bd1d 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -271,9 +271,16 @@ AT_CHECK_AT_TEST([Syntax error],
    AT_CLEANUP
    AT_SETUP([another test])
    AT_CHECK([:])],
-  [], [1], [], [stderr], [],
-  [AT_CHECK([grep "unable to parse test group: 2" stderr], [0], [ignore])
-   AT_CHECK([$CONFIG_SHELL ./micro-suite 1 3], [0], [ignore])])
+  [], [0], [], [], [],
+  [dnl Until we can find a way to avoid catastrophic failure (ash) or
+   dnl lack of failure (zsh), skip the rest of this test on such shells.
+   echo 'if' > syntax
+   AT_CHECK([${CONFIG_SHELL-$SHELL} -c 'case `. ./syntax; echo $?` in
+                 0|"") exit 77;;
+               esac'], [0], [ignore], [ignore])
+   AT_CHECK([$CONFIG_SHELL ./micro-suite], [1], [ignore], [stderr])
+   AT_CHECK([grep "unable to parse test group: 2" stderr], [0], [ignore])],
+  [1 3])
 
 AT_CHECK_AT_TEST([errexit],
   [AT_CHECK([false])


hooks/post-receive
-- 
GNU Autoconf source repository




reply via email to

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