]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Fix parallel test execution output lossage.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 28 Oct 2008 21:04:36 +0000 (22:04 +0100)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Tue, 28 Oct 2008 21:45:12 +0000 (22:45 +0100)
* lib/autotest/general.m4 (_AT_CHECK): Truncate files to hold
standard output and standard error before the test, use append
mode for writing.
* THANKS: Update.
Caught by Bob Proulx' build daemons, analysis and suggested fix
by Stéphane Chazelas.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ChangeLog
THANKS
lib/autotest/general.m4

index 0451fa9fe5756e6d258e5da03713ddf3f1518ae8..b5d860f82e40cfbac595aefdb20ba4f4a1802989 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       Fix parallel test execution output lossage.
+       * lib/autotest/general.m4 (_AT_CHECK): Truncate files to hold
+       standard output and standard error before the test, use append
+       mode for writing.
+       * THANKS: Update.
+       Caught by Bob Proulx' build daemons, analysis and suggested fix
+       by Stéphane Chazelas.
+
 2008-10-28  Eric Blake  <ebb9@byu.net>
 
        Use m4_map_args in more places.
        * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Flatten
        whitespace in $ac_config_files and $ac_config_headers.
        * tests/torture.at (Parameterized AC_CONFIG_FILES): New test.
-       Report by Andreas Schwab and Per Øyvind Karlsen.
+       Report by Andreas Schwab and Per Øyvind Karlsen.
        * THANKS: Update.
 
 2008-07-30  Eric Blake  <ebb9@byu.net>
        verbose compiler output, skip lines that set variables; gfortran
        4.3 sets LIBRARY_PATH, COMPILER_PATH, COLLECT_GCC_OPTIONS.
        * THANKS: Update.
-       Report by Vincent Lefèvre.
+       Report by Vincent Lefèvre.
 
 2008-03-21  Eric Blake  <ebb9@byu.net>
 
        the change.
        * NEWS: Likewise.
        * THANKS: Update.
-       Reported by Björn Lindqvist.
+       Reported by Björn Lindqvist.
 
        Provide better short-circuiting operation.
        * lib/m4sugar/m4sugar.m4 (m4_cond, m4_newline): New macros.
diff --git a/THANKS b/THANKS
index f566006c40e43261c5ce0af0bcddfef30f724ca8..a9b65ce1a254ae00b78a2ba736d4a80acbf5bf1f 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -319,6 +319,7 @@ Slava Sysoltsev             Viatcheslav.Sysoltsev@h-d-gmbh.de
 Stefan Seefeld              stefan@codesourcery.com
 Stefan `Sec' Zehl           ?
 Stepan Kasal                kasal@ucw.cz
+Stéphane Chazelas           Stephane_Chazelas@yahoo.fr
 Stephen Gildea              filtered@against.spam
 Stephen Rasku               srasku@mail.tantalus-systems.com
 Steve Chamberlain           sac@cygnus.com
index 4d7c0f5aa02939ad0a6222cca36266b6a653048d..03d39024e6fa269a5d709609e45962beed1a675f 100644 (file)
@@ -1893,16 +1893,22 @@ m4_define([AT_DIFF_STDOUT()],
 #
 #  ( $at_traceon; $1 ) >at-stdout 2>at-stder1
 #
+# Note that we truncate and append to the output files, to avoid losing
+# output from multiple concurrent processes, e.g., an inner testsuite
+# with parallel jobs.
 m4_define([_AT_CHECK],
 [{ $at_traceoff
 AS_ECHO(["$at_srcdir/AT_LINE: AS_ESCAPE([$1])"])
 echo AT_LINE >"$at_check_line_file"
 
+: >"$at_stdout"
 if _AT_DECIDE_TRACEABLE([$1]); then
-  ( $at_traceon; $1 ) >"$at_stdout" 2>"$at_stder1"
+  : >"$at_stder1"
+  ( $at_traceon; $1 ) >>"$at_stdout" 2>>"$at_stder1"
   at_func_filter_trace $?
 else
-  ( :; $1 ) >"$at_stdout" 2>"$at_stderr"
+  : >"$at_stderr"
+  ( :; $1 ) >>"$at_stdout" 2>>"$at_stderr"
 fi
 at_status=$?
 at_failed=false