]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
tests: fix spurious failure of cond29.test
authorStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 27 Dec 2011 09:40:57 +0000 (10:40 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 27 Dec 2011 17:01:37 +0000 (18:01 +0100)
* 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.

ChangeLog
tests/cond29.test

index dfe666a6717e92d0489fb43ad59bc6e1c0599162..e0122fbe7adf5a28f8844a74efa569e28b3bf89f 100644 (file)
--- 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
index 33610811ff79d6470b834feb8096e8327954a067..98cbe87693c97ac3f7932ab2b9a7fcfed52fa44e 100755 (executable)
@@ -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