[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] tests: port AT_CHECK_ENV to hosts with flaky grep
From: |
Paul Eggert |
Subject: |
[PATCH] tests: port AT_CHECK_ENV to hosts with flaky grep |
Date: |
Tue, 06 Mar 2012 22:58:46 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 |
* tests/local.at (AT_CHECK_ENV): Don't assume that if one grep
fails, the other will too. It could be that 'grep' is flaky,
and fails somewhat at random. This would explain the problems
reported for autoconf-2.68b on FreeBSD and MacOS X, for example:
<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00032.html>
<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00035.html>
<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00036.html>
<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00044.html>
---
tests/local.at | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/tests/local.at b/tests/local.at
index cce24f0..eb01cc0 100644
--- a/tests/local.at
+++ b/tests/local.at
@@ -297,9 +297,10 @@ test -f state-ls.after \
# Compare variable space dumps.
if test -f state-env.before && test -f state-env.after; then
set +x
+ grep_failed=false
for act_file in state-env.before state-env.after
do
- $EGREP -v '^(m4_join([|],
+ ($EGREP -v '^(m4_join([|],
[a[cs]_.*],
[(exec_)?prefix|DEFS|CONFIG_STATUS],
[CC|CFLAGS|CPP|GCC|CXX|CXXFLAGS|CXXCPP|GXX|F77|FFLAGS|FLIBS|G77],
@@ -323,12 +324,19 @@ if test -f state-env.before && test -f state-env.after;
then
[GREP|[EF]GREP|SED],
address@hidden|.[*#?$].],
[argv|ARGC|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS]))=' \
- $act_file 2>/dev/null |
+ $act_file ||
+ test $? -eq 1 || echo failed >&2
+ ) 2>stderr-$act_file |
# There may be variables spread on several lines; remove latter lines.
- $GREP '^m4_defn([m4_re_word])=' >clean-$act_file
+ $GREP '^m4_defn([m4_re_word])=' >clean-$act_file ||
+ test $? -eq 1 || grep_failed=:
+ if test -s stderr-$act_file; then
+ cat stderr-$act_file >&2
+ grep_failed=:
+ fi
done
$at_traceon
- $at_diff clean-state-env.before clean-state-env.after
+ $grep_failed || $at_diff clean-state-env.before clean-state-env.after
fi
} [#]at_check_env])
--
1.7.6.5
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] tests: port AT_CHECK_ENV to hosts with flaky grep,
Paul Eggert <=