summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2011-12-27 10:40:57 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2011-12-27 18:01:37 +0100
commit58f034a3eebeaa1b16415fbb76e02fe378d6413f (patch)
treee6f7b293e8a59f6abdb5644ebd9599649591fb14
parent6568eaae2dd2ca448fb2f499e2653d494f57c0a5 (diff)
downloadautomake-58f034a3eebeaa1b16415fbb76e02fe378d6413f.tar.gz
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: <http://ftp.gnu.org/gnu/automake/automake-1.7.9.tar.gz> Reported by Jim Meyering in automake bug#10374.
-rw-r--r--ChangeLog16
-rwxr-xr-xtests/cond29.test18
2 files changed, 29 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index dfe666a67..e0122fbe7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2011-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ 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:
+ <http://ftp.gnu.org/gnu/automake/automake-1.7.9.tar.gz>
+ Reported by Jim Meyering in automake bug#10374.
+
2011-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
gitignore: use only one .gitignore file, in the top-level directory
diff --git a/tests/cond29.test b/tests/cond29.test
index 33610811f..98cbe8769 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. Considering
+# that 70 MB is enough for x86_64 Fedora 16, that gives tools and
+# libraries plenty of room to grow. 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 <<EOF
if C$i
bin_PROGRAMS += a$i