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.61a-300


From: Ralf Wildenhues
Subject: [SCM] GNU Autoconf source repository branch, master, updated. v2.61a-300-g5ccf45a
Date: Sun, 18 Nov 2007 13:03:51 +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=5ccf45a3704b62b8d623aa20973b665ae24478c1

The branch, master has been updated
       via  5ccf45a3704b62b8d623aa20973b665ae24478c1 (commit)
      from  90661f5cd9fcab958357d099e01c2e21dc6638de (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 5ccf45a3704b62b8d623aa20973b665ae24478c1
Author: Ralf Wildenhues <address@hidden>
Date:   Sun Nov 18 14:03:06 2007 +0100

    Diagnose and guard against write errors dealing with config.status.
    
    The general idea is this: all write failures from `configure'
    writing `config.status' are indicated by $ac_write_error, which
    is only checked at the end.  This is safe because config.status
    code is not executed before the file is complete.  Other write
    failures, be they inside config.status, or in sub shell/awk
    scripts spawned from configure or config.status, typically need
    earlier checking, as their results are used right afterwards.
    * lib/autoconf/status.m4 (AC_OUTPUT): Initialize `ac_write_fail'
    before writing config.status, check afterwards.
    (_AC_OUTPUT_FILES_PREPARE, _AC_OUTPUT_FILE)
    (_AC_OUTPUT_HEADERS_PREPARE,_AC_OUTPUT_CONFIG_STATUS):
    Set `ac_write_error' for write failures to config.status.  Barf
    upon write failures to temporary files.
    Adjust note about closing and reopening the here-document.
    (_AC_OUTPUT_HEADER, _AC_OUTPUT_LINK, _AC_OUTPUT_COMMAND)
    (_AC_OUTPUT_MAIN_LOOP): Likewise, adjust note about closing and
    reopening the here-document.
    * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS):
    Ensure `ac_write_error' does not escape into config.status.
    Also, add a couple of code paths not yet exercised in the test
    suite: a config file with input from stdin, and a config header
    output to stdout.
    Suggestion for catching write errors by Bruno Haible.

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

Summary of changes:
 ChangeLog              |   27 +++++++++++
 lib/autoconf/status.m4 |  120 ++++++++++++++++++++++++++++--------------------
 tests/torture.at       |   15 ++++++
 3 files changed, 112 insertions(+), 50 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f646066..9eadbde 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2007-11-18  Ralf Wildenhues  <address@hidden>
+
+       Diagnose and guard against write errors dealing with config.status.
+       The general idea is this: all write failures from `configure'
+       writing `config.status' are indicated by $ac_write_error, which
+       is only checked at the end.  This is safe because config.status
+       code is not executed before the file is complete.  Other write
+       failures, be they inside config.status, or in sub shell/awk
+       scripts spawned from configure or config.status, typically need
+       earlier checking, as their results are used right afterwards.
+       * lib/autoconf/status.m4 (AC_OUTPUT): Initialize `ac_write_fail'
+       before writing config.status, check afterwards.
+       (_AC_OUTPUT_FILES_PREPARE, _AC_OUTPUT_FILE)
+       (_AC_OUTPUT_HEADERS_PREPARE,_AC_OUTPUT_CONFIG_STATUS):
+       Set `ac_write_error' for write failures to config.status.  Barf
+       upon write failures to temporary files.
+       Adjust note about closing and reopening the here-document.
+       (_AC_OUTPUT_HEADER, _AC_OUTPUT_LINK, _AC_OUTPUT_COMMAND)
+       (_AC_OUTPUT_MAIN_LOOP): Likewise, adjust note about closing and
+       reopening the here-document.
+       * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS):
+       Ensure `ac_write_error' does not escape into config.status.
+       Also, add a couple of code paths not yet exercised in the test
+       suite: a config file with input from stdin, and a config header
+       output to stdout.
+       Suggestion for catching write errors by Bruno Haible.
+
 2007-11-17  Ralf Wildenhues  <address@hidden>
 
        Avoid error with Tru64 awk and testsuite lines with many words.
diff --git a/lib/autoconf/status.m4 b/lib/autoconf/status.m4
index 4a617a6..3372a8b 100644
--- a/lib/autoconf/status.m4
+++ b/lib/autoconf/status.m4
@@ -335,7 +335,8 @@ m4_define([_AC_AWK_LITERAL_LIMIT],
 # This code was written by Dan Manthey and rewritten by Ralf Wildenhues.
 #
 # This macro is expanded inside a here document.  If the here document is
-# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+# closed, it has to be reopened with
+# "cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1".
 #
 m4_define([_AC_OUTPUT_FILES_PREPARE],
 [# Set up the scripts for CONFIG_FILES section.
@@ -359,12 +360,13 @@ m4_ifdef([_AC_SUBST_FILES],
   ac_cs_awk_pipe_fini=
 else
   ac_cs_awk_getline=false
-  ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|'\""
+  ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\""
   ac_cs_awk_read_file='
       print "|#_!!_#|"
-      print "cat " F[key]
+      print "cat " F[key] " &&"
       '$ac_cs_awk_pipe_init
-  ac_cs_awk_pipe_fini='END { print "|#_!!_#|" }'
+  # The final `:' finishes the AND list.
+  ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }'
 fi]])
 ac_cr='
'
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
@@ -385,31 +387,34 @@ fi])],
 [m4_define([_AC_SUBST_CMDS],
 [| $AWK -f "$tmp/subs.awk"])])dnl
 
-echo 'BEGIN {' >"$tmp/subs1.awk"
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
 _ACEOF
 
 m4_ifdef([_AC_SUBST_FILES],
 [# Create commands to substitute file output variables.
 {
-  echo "cat >>$CONFIG_STATUS <<_ACEOF"
-  echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK'
-  echo "$ac_subst_files" | sed 's/.*/F@<:@"&"@:>@="$&"/'
-  echo "_ACAWK"
+  echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
+  echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' &&
+  echo "$ac_subst_files" | sed 's/.*/F@<:@"&"@:>@="$&"/' &&
+  echo "_ACAWK" &&
   echo "_ACEOF"
-} >conf$$files.sh
-. ./conf$$files.sh
+} >conf$$files.sh &&
+. ./conf$$files.sh ||
+  AC_MSG_ERROR([could not make $CONFIG_STATUS])
 rm -f conf$$files.sh
 ])dnl
 
 {
-  echo "cat >conf$$subs.awk <<_ACEOF"
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/'
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
-} >conf$$subs.sh
+} >conf$$subs.sh ||
+  AC_MSG_ERROR([could not make $CONFIG_STATUS])
 ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh
+  . ./conf$$subs.sh ||
+    AC_MSG_ERROR([could not make $CONFIG_STATUS])
 
 dnl Do not use grep on conf$$subs.awk, since AIX grep has a line length limit.
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = 
$ac_delim_num; then
@@ -448,8 +453,8 @@ dnl   
http://www.gnu.org/software/gawk/manual/html_node/Gory-Details.html
 dnl - Writing `$ 0' prevents expansion by both the shell and m4 here.
 dnl
 dnl m4-double-quote most of the scripting for readability.
-[cat >>$CONFIG_STATUS <<_ACEOF
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK
+[cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -493,11 +498,11 @@ t delim
   N
   s/\n//
 }
-' >>$CONFIG_STATUS
+' >>$CONFIG_STATUS || ac_write_fail=1
 rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 ]m4_ifdef([_AC_SUBST_FILES],
@@ -529,12 +534,15 @@ cat >>"\$tmp/subs1.awk" <<_ACAWK
   }]])[
   print line
 }
-]m4_ifdef([_AC_SUBST_FILES],
-[\$ac_cs_awk_pipe_fini])[
+]dnl end of double-quoted part
+m4_ifdef([_AC_SUBST_FILES],
+[\$ac_cs_awk_pipe_fini])
 _ACAWK
-sed "s/\$ac_cr\\\$//; s/\$ac_cr/\$ac_cs_awk_cr/g" < "\$tmp/subs1.awk" > 
"\$tmp/subs.awk"
 _ACEOF
-]dnl end of double-quoted part
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" < "$tmp/subs1.awk" > 
"$tmp/subs.awk" \
+  || AC_MSG_ERROR([could not setup config files machinery])
+_ACEOF
 
 # VPATH may cause trouble with some makes, so we remove $(srcdir),
 # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
@@ -551,7 +559,7 @@ s/^[^=]*=[   ]*$//
 }']
 fi
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 fi # test -n "$CONFIG_FILES"
 
 ])# _AC_OUTPUT_FILES_PREPARE
@@ -562,7 +570,8 @@ fi # test -n "$CONFIG_FILES"
 # Do the variable substitutions to create the Makefiles or whatever.
 #
 # This macro is expanded inside a here document.  If the here document is
-# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+# closed, it has to be reopened with
+# "cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1".
 #
 m4_define([_AC_OUTPUT_FILE],
 [
@@ -586,7 +595,7 @@ AC_PROVIDE_IFELSE([AC_PROG_MKDIR_P],
 _ACEOF
 
 m4_ifndef([AC_DATAROOTDIR_CHECKED],
-[cat >>$CONFIG_STATUS <<\_ACEOF
+[cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # If the template does not know about datarootdir, expand it.
 # FIXME: This hack should be removed a few years after 2.60.
 ac_datarootdir_hack=; ac_datarootdir_seen=
@@ -603,7 +612,7 @@ m4_foreach([_AC_Var], m4_defn([_AC_datarootdir_vars]),
 address@hidden(address@hidden|address@hidden, _AC_datarootdir_vars)@*)
   AC_MSG_WARN([$ac_file_inputs seems to ignore the --datarootdir setting])
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   ac_datarootdir_hack='
   m4_foreach([_AC_Var], m4_defn([_AC_datarootdir_vars]),
               [s&@_AC_Var@&$_AC_Var&g
@@ -616,11 +625,11 @@ _ACEOF
 # Neutralize VPATH when `$srcdir' = `.'.
 # Shell code in configure.ac might set extrasub.
 # FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   sed "$ac_vpsub
 $extrasub
 _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 :t
 [/@[a-zA-Z_][a-zA-Z_0-9]*@/!b]
 dnl configure_input is a somewhat special, so we don't call AC_SUBST_TRACE.
@@ -690,14 +699,16 @@ AC_DEFUN([AC_CONFIG_HEADER],
 # Support multiline #defines.
 #
 # This macro is expanded inside a here document.  If the here document is
-# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+# closed, it has to be reopened with
+# "cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1".
 #
 m4_define([_AC_OUTPUT_HEADERS_PREPARE],
 [# Set up the scripts for CONFIG_HEADERS section.
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK
+dnl This `||' list is finished at the end of _AC_OUTPUT_HEADERS_PREPARE.
+cat >"$tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -781,9 +792,9 @@ s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
 b cont
 ' <confdefs.h | sed '
 s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
 
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   for (key in D) D_is_set[key] = 1
   FS = ""
 }
@@ -818,8 +829,9 @@ cat >>$CONFIG_STATUS <<_ACEOF
 ]dnl End of double-quoted section
 _ACAWK
 _ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+dnl finish `||' list indicating write error:
+  AC_MSG_ERROR([could not setup config headers machinery])
 fi # test -n "$CONFIG_HEADERS"
 
 ])# _AC_OUTPUT_HEADERS_PREPARE
@@ -832,7 +844,8 @@ fi # test -n "$CONFIG_HEADERS"
 # `config.h.in'.
 #
 # This macro is expanded inside a here document.  If the here document is
-# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+# closed, it has to be reopened with
+# "cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1".
 #
 m4_define([_AC_OUTPUT_HEADER],
 [
@@ -917,7 +930,8 @@ update, you should probably tune the result yourself.])# 
AC_LINK_FILES
 # _AC_OUTPUT_LINK
 # ---------------
 # This macro is expanded inside a here document.  If the here document is
-# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+# closed, it has to be reopened with
+# "cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1".
 m4_define([_AC_OUTPUT_LINK],
 [
   #
@@ -993,7 +1007,8 @@ AC_CONFIG_COMMANDS([default-]_AC_OUTPUT_COMMANDS_CNT, 
[[$1]], [[$2]])dnl
 # _AC_OUTPUT_COMMAND
 # ------------------
 # This macro is expanded inside a here document.  If the here document is
-# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+# closed, it has to be reopened with
+# "cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1".
 m4_define([_AC_OUTPUT_COMMAND],
 [  AC_MSG_NOTICE([executing $ac_file commands])
 ])
@@ -1231,11 +1246,15 @@ dnl Commands to run before creating config.status.
 AC_OUTPUT_COMMANDS_PRE()dnl
 
 : ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
 _AC_OUTPUT_CONFIG_STATUS()dnl
 ac_clean_files=$ac_clean_files_save
 
+test $ac_write_fail = 0 ||
+  AC_MSG_ERROR([write failure creating $CONFIG_STATUS])
+
 dnl Commands to run after config.status was created
 AC_OUTPUT_COMMANDS_POST()dnl
 
@@ -1276,7 +1295,7 @@ m4_define([_AC_OUTPUT_CONFIG_STATUS],
 [AC_MSG_NOTICE([creating $CONFIG_STATUS])
 dnl AS_MESSAGE_LOG_FD is not available yet:
 m4_rename([AS_MESSAGE_LOG_FD], [_AC_save_AS_MESSAGE_LOG_FD])dnl
-cat >$CONFIG_STATUS <<_ACEOF
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #! $SHELL
 # Generated by $as_me.
 # Run this file to recreate the current configuration.
@@ -1289,7 +1308,7 @@ ac_cs_silent=false
 SHELL=\${CONFIG_SHELL-$SHELL}
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 AS_SHELL_SANITIZE
 dnl Watch out, this is directly the initializations, do not use
 dnl AS_PREPARE, otherwise you'd get it output in the initialization
@@ -1316,7 +1335,7 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
 
 _ACEOF
 
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 # Files that config.status was made for.
 m4_ifdef([_AC_SEEN_CONFIG(FILES)],
 [config_files="$ac_config_files"
@@ -1333,7 +1352,7 @@ m4_ifdef([_AC_SEEN_CONFIG(COMMANDS)],
 
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
@@ -1377,7 +1396,7 @@ $config_commands
 Report bugs to <address@hidden>."
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
 m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.status[]dnl
 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
@@ -1402,7 +1421,7 @@ AC_PROVIDE_IFELSE([AC_PROG_AWK],
 test -n "\$AWK" || AWK=awk
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # The default lists apply if the user does not specify any file.
 ac_need_defaults=:
 while test $[#] != 0
@@ -1469,7 +1488,7 @@ if $ac_cs_silent; then
 fi
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 dnl Check this before opening the log, to avoid a bug on MinGW,
 dnl which prohibits the recursive instance from truncating an open log.
 if \$ac_cs_recheck; then
@@ -1482,7 +1501,7 @@ if \$ac_cs_recheck; then
 fi
 
 _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 dnl Open the log:
 m4_rename([_AC_save_AS_MESSAGE_LOG_FD], [AS_MESSAGE_LOG_FD])dnl
 exec AS_MESSAGE_LOG_FD>>config.log
@@ -1493,7 +1512,7 @@ exec AS_MESSAGE_LOG_FD>>config.log
 } >&AS_MESSAGE_LOG_FD
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 m4_ifdef([_AC_OUTPUT_COMMANDS_INIT],
 [#
 # INIT-COMMANDS
@@ -1502,7 +1521,7 @@ _AC_OUTPUT_COMMANDS_INIT
 ])dnl
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 
 # Handling of arguments.
 for ac_config_target in $ac_config_targets
@@ -1525,7 +1544,8 @@ chmod +x $CONFIG_STATUS
 # The main loop in $CONFIG_STATUS.
 #
 # This macro is expanded inside a here document.  If the here document is
-# closed, it has to be reopened with "cat >>$CONFIG_STATUS <<\_ACEOF".
+# closed, it has to be reopened with
+# "cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1".
 #
 AC_DEFUN([_AC_OUTPUT_MAIN_LOOP],
 [
diff --git a/tests/torture.at b/tests/torture.at
index a87a33b..80b1782 100644
--- a/tests/torture.at
+++ b/tests/torture.at
@@ -232,11 +232,23 @@ AT_CHECK_CONFIG_CREATION(link)
 
 # Create a file
 AT_CHECK_CONFIG_CREATION_NOWRITE(file)
+# Create a file with bits from stdin
+AT_CHECK([echo from-stdin | ./config.status --file=file:-],
+        [0], [ignore])
+AT_CHECK([grep from-stdin file], [], [from-stdin
+])
+# Force write error creating a file on stdout
 AT_CHECK([./config.status --file=-:input </dev/null >/dev/full],
         [1], [ignore], [ignore])
 
 # Create a header
 AT_CHECK_CONFIG_CREATION_NOWRITE(header)
+# Create a header on stdout
+AT_CHECK([./config.status --header=-:input </dev/null],
+        [0], [stdout], [ignore])
+AT_CHECK([grep OK stdout], [], [OK
+])
+# Force write error creating a header on stdout
 AT_CHECK([./config.status --header=-:input </dev/null >/dev/full],
         [1], [ignore], [ignore])
 
@@ -246,6 +258,9 @@ AT_CHECK_CONFIG_CREATION_NOWRITE(command)
 # Create a link
 AT_CHECK_CONFIG_CREATION_NOWRITE(link)
 
+# Check that no use of `ac_write_fail' escaped into config.status
+AT_CHECK([grep ac_write_fail config.status], [1])
+
 AT_CLEANUP
 
 


hooks/post-receive
--
GNU Autoconf source repository




reply via email to

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