>From 9b06cda000e86888abfc9999b4c66ab8df10873a Mon Sep 17 00:00:00 2001
Message-Id:
From: Stefano Lattarini
Date: Tue, 27 Dec 2011 10:40:57 +0100
Subject: [PATCH] tests: fix spurious failure of cond29.test
* tests/cond29.test: Limit the amount of virtual memory available
to the automake process to ~ 150 MB, rather than only ~ 20 MB, to
account for higher (but still acceptable) memory usages on some
systems (in this case, a Fedora 16 distro on ppc64). To be
sure not to reduce coverage, increase the number of potential
combinations of automake conditionals from 2**22 = 4194304 to
2**24 = 16777216.
We have actually verified that the new version of the test case
catches the Automake 1.7 it is intended to check against, using
the Automake 1.7.9 tarball downloaded from:
Reported by Jim Meyering in automake bug#10374.
---
ChangeLog | 16 ++++++++++++++++
tests/cond29.test | 18 +++++++++++++-----
2 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index dfe666a..e0122fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2011-12-27 Stefano Lattarini
+
+ tests: fix spurious failure of cond29.test
+ * tests/cond29.test: Limit the amount of virtual memory available
+ to the automake process to ~ 150 MB, rather than only ~ 20 MB, to
+ account for higher (but still acceptable) memory usages on some
+ systems (in this case, a Fedora 16 distro on ppc64). To be
+ sure not to reduce coverage, increase the number of potential
+ combinations of automake conditionals from 2**22 = 4194304 to
+ 2**24 = 16777216.
+ We have actually verified that the new version of the test case
+ catches the Automake 1.7 it is intended to check against, using
+ the Automake 1.7.9 tarball downloaded from:
+
+ Reported by Jim Meyering in automake bug#10374.
+
2011-12-24 Stefano Lattarini
gitignore: use only one .gitignore file, in the top-level directory
diff --git a/tests/cond29.test b/tests/cond29.test
index 3361081..0443251 100755
--- a/tests/cond29.test
+++ b/tests/cond29.test
@@ -27,16 +27,24 @@ a02_LDADD =
a03_SOURCES =
EOF
-# On this test, Automake 1.7.x would compute all 2**22 = 4194304
+# On this test, Automake 1.7.x would compute all 2**24 = 16777216
# possible combinations of conditionals (it would do this five times,
# to define a01_DEPENDENCIES, a02_DEPENDENCIES, a03_OBJECTS,
# a04_OBJECTS, and to rewrite bin_PROGRAM), eating all memory, swap,
# or cpu time it can found.
+# Limit memory available to spawned processes to ~ 150 MB. This might
+# seem too liberal, but it is needed to account for present and features
+# "bloating" of automake, perl, or even the C library (especially on 64
+# bit machines). Suggested by Jim Meyering in automake bug#10374.
(ulimit -v 1; sh -c ":") && skip_ "no adequate 'ulimit' builtin found"
-(ulimit -v 20000; sh -c ":") || skip_ "no adequate 'ulimit' builtin found"
-ulimit -v 20000
-
-for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22; do
+(ulimit -v 150000; sh -c ":") || skip_ "no adequate 'ulimit' builtin found"
+ulimit -v 150000
+
+for i in \
+ 01 02 03 04 05 06 07 08 09 10 \
+ 11 12 13 14 15 16 17 18 19 20 \
+ 21 22 23 24
+do
unindent >>Makefile.am <