[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CVS autoconf testsuite failure on Tru64 unix
From: |
Noah Misch |
Subject: |
Re: CVS autoconf testsuite failure on Tru64 unix |
Date: |
Sat, 11 Dec 2004 16:11:58 -0800 |
User-agent: |
Mutt/1.5.6i |
On Sat, Dec 11, 2004 at 11:07:41PM +0100, Nicolas Joly wrote:
> address@hidden [temp/autoconf]> /bin/sh -n ./tests/testsuite
> ./tests/testsuite: syntax error at line 1241: `^' unexpected
>
> *[^\\]"$at_lf"*) at_reason='an embedded newline' ;;
>
> As specified in autoconf info, many shells does not support `^' to
> negate character classes (such as Tru64 /bin/sh).
Thanks. This was probably the root cause of tests 27, 28, and 32 failing on
your Tru64 system.
2004-12-11 Noah Misch <address@hidden>
* lib/autotest/general.m4 (_AT_CHECK) [--trace]: Rework a shell pattern
to avoid using a negated character class. Reported by Nicolas Joly.
* tests/local.at (AT_CHECK_SHELL_SYNTAX): Check for similar constructs.
diff -urp -X dontdiff ac-clean/lib/autotest/general.m4
ac-char_class/lib/autotest/general.m4
--- ac-clean/lib/autotest/general.m4 2004-12-10 13:10:36.862911098 -0500
+++ ac-char_class/lib/autotest/general.m4 2004-12-11 18:36:45.510177061
-0500
@@ -1234,7 +1234,8 @@ if test -n "$at_traceon"; then
case "$at_cmd_expanded" in
*\$\(*\)*) at_reason='a $(...) command substitution' ;;
*\`*\`*) at_reason='a `...` command substitution' ;;
- *[[^\\]]"$at_lf"*) at_reason='an embedded newline' ;;
+ *\\"$at_lf"*) at_reason= ;;
+ *"$at_lf"*) at_reason='an embedded newline' ;;
*) at_reason= ;;
esac
if test -n "$at_reason"; then
diff -urp -X dontdiff ac-clean/tests/local.at ac-char_class/tests/local.at
--- ac-clean/tests/local.at 2004-08-20 15:58:08.000000000 -0400
+++ ac-char_class/tests/local.at 2004-12-11 18:39:14.733667447 -0500
@@ -30,9 +30,15 @@ AT_TESTED([autom4te autoconf autoheader
## Testing syntax. ##
## ---------------- ##
+# AT_CHECK_SHELL_SYNTAX(PROGRAM, ALT-COMMAND)
+# -------------------------------------------
+# If the shell handles `-n' well, use it to check the syntax of PROGRAM;
+# otherwise, run ALT-COMMAND. Grep for [^...] negated character classes in
+# shell patterns, an extension to POSIX that many shells do not support.
m4_define([AT_CHECK_SHELL_SYNTAX],
[AS_IF([test x"$ac_cv_sh_n_works" != xno],
- [AT_CHECK([/bin/sh -n $1], 0)], [$2])])
+ [AT_CHECK([/bin/sh -n $1], 0)], [$2])
+AT_CHECK([grep '\@<:@\^.*).*;;' $1], 1)])
m4_define([AT_CHECK_PERL_SYNTAX],
[AT_CHECK([autom4te_perllibdir=$abs_top_srcdir/lib $PERL -c
$abs_top_builddir/bin/$1],
- Re: CVS autoconf testsuite failure on Tru64 unix,
Noah Misch <=