>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 <