Re: [PATCH] {maint} Improve, extend and tweak tests on Texinfo support.
Hi Stefano, sorry for the delay. * Stefano Lattarini wrote on Tue, Jan 04, 2011 at 03:41:45PM CET: On Monday 03 January 2011, Ralf Wildenhues wrote: * Stefano Lattarini wrote on Mon, Jan 03, 2011 at 02:38:48PM CET: Subject: [PATCH] Improve, extend and tweak tests on Texinfo support. [...] OK with nits addressed. I have a couple of questions below; I'll wait to push until they've been addressed. --- /dev/null +++ b/tests/comments-in-var-definition.test How about s/definition/defn/? That is still unique, easily understood, and a lot shorter. Fine with me (even if I still don't understand this bias against longer test names ;-) The longer the names, and the more the tests, the earlier we will exceed the command line length limit in our 'check' rules (important to fix on all systems it happens) and our 'distdir' rule (important at least for the maintainer's machine). So, support for more than one parallel-tests testsuite per Makefile.am is needed soonish. Besides, while I agree that the 8+3 names are often lacking descriptiveness, I also don't like typing too much. For example, I'm not sure why we named the 'posixsubst*.test' files that way; there is little specifically posixy about these substitution rules. +grep '^am__TEXINFO_TEX_DIR *=.*[/ ]tex *$' Makefile.in +$EGREP 'am__TEXINFO_TEX_DIR.*=.*(comment|#)' Makefile.in Exit 1 These two lines access internal details that could change. Acceptable if it must be that way but better if we can do without. I added those lines to avoid reducing coverage in the code I moved from `txinfo22.test' -- which indeed had a check: test -d $(am__TEXINFO_TEX_DIR) in its Makefile.am. Oh, ok, I didn't realize we were already using internal details before. Hhmm... but maybe it would be simpler safer to just add back that check (and new similar ones) in the Makefile.am of `comments-in-var-defn.test'? I think so; here is what I'll squash in if there are no objections: Fine as well, but I don't see how it makes much of a difference. am__TEXINFO_TEX_DIR is still an internal detail. --- a/tests/comments-in-var-defn.test +++ b/tests/comments-in-var-defn.test @@ -21,11 +21,20 @@ set -e +cat configure.in 'END' +AC_OUTPUT +END + # Use a slash in the comment, because automake takes the dirname # of TEXINFO_TEX to compute $(am__TEXINFO_TEX_DIR). cat Makefile.am 'END' TEXINFO_TEX = tex/texinfo.tex# some comment w/ a slash info_TEXINFOS = main.texi +.PHONY: test +test: + test tex/texinfo.tex = $(TEXINFO_TEX) + test -d '$(am__TEXINFO_TEX_DIR)' + case '$(am__TEXINFO_TEX_DIR)' in tex|./tex) :;; *) exit 1;; esac END cat main.texi 'END' @@ -41,7 +50,9 @@ $AUTOMAKE grep TEX Makefile.in # for debugging grep '^TEXINFO_TEX *= *tex/texinfo\.tex *# some comment w/ a slash *$' Makefile.in -grep '^am__TEXINFO_TEX_DIR *=.*[/ ]tex *$' Makefile.in -$EGREP 'am__TEXINFO_TEX_DIR.*=.*(comment|#)' Makefile.in Exit 1 + +$AUTOCONF +./configure +$MAKE test --- /dev/null +++ b/tests/vtexi3.test +day='([1-9]|1[0-9]|2[0-9]|3[01])' +month='(January|February|March|April|May|June|July|August|September|October|November|December)' +year='20[0-9][0-9]' # hopefully automake will be obsolete in 80 years ;-) I do not agree with the tone of the comment, and as punishment will require that the code also works later than the mentioned date. ;- Eh eh :-) (because that's a joke, right?) Not totally. Why do you hope that it will be obsolete? ;-) Also, your comment writing style seems to be degrading away from writing whole sentences (including leading capitalization and final period) again here and below. Yes, I tend to do so for short comments, especially in tests. If you would prefer to set a policy mandating that comments are always to be capitalized correctly and to consist of whole sentences, please just do so (ideally stating that in HACKING and tests/README ;-) and I'll follow the new policy as consistently as I can (while I like writing casual-style comments sometimes, I have no strong feeling on the matter). Me neither, at least not strongly enough to do something about it. I merely noted it though. For the moment, I've amended the comments in this test for proper capitalization, punctuation and grammar (see the attached squash-in). Thanks. +: ../foobar.info +: ../quux.info +: ../zardoz.info These commands are not guaranteed to portably update the time stamp of the files in question on old systems. :-O Hmm, the autoconf.texi blurb on `touch' states that this is no longer a practical issue, but IIRC the policy was still enforced in GCC sources, making me wonder whether there still are broken systems out there ... Anyway, you can easily avoid the issue by echo stamp ... I'd prefer to use `touch' if that's ok with you, since it makes the purpose of the commands even clearer
Re: [PATCH] yacc: warn about conditional content in *YFLAGS variables
On Monday 10 January 2011, Ralf Wildenhues wrote: [ dropping bug-automake ] * Stefano Lattarini wrote on Mon, Jan 10, 2011 at 03:59:10PM CET: The attached patch should fix the bug. OK for the temporary branch 'yacc-work', to be merged to master afterwards? OK, thanks. Please add a short NEWS blurb (or merge with other NEWS about yacc changes). Oops, sorry! I don't know I could forget to do so right away ... :-( How about ensuring in the test that the user can override automake by setting warning flags suitably (preapproved)? Good idea (I'll assume that he won't try to make `-d' conditional, as the behaviour should remain undefined in this case IMHO). I'll amend the patch with a new testcase (tonight or tomorrow). Regards, Stefano
[PATCH] {maint} tests: add checks on automatically-distributed files
This patch adds some new tests related to automake bug#7819. Reference: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7819 They all pass already; but it will be possible to simplify the tests `autodist.test' and `autodist-subdir.test' once the bug is fixed. OK for maint? I will wait the customary 72 hours before pushing. Regards, Stefano -*-*- tests: add checks on automatically-distributed files Related to automake bug#7819. * tests/autodist.test: New test. * tests/autodist-subdir.test: Likewise. * tests/autodist-acconfig.test: Likewise. * tests/autodist-acconfig-no-subdir.test: Likewise. * tests/autodist-aclocal-m4.test: Likewise. * tests/autodist-config-headers.test: Likewise. * tests/autodist-configure-no-subdir.test: Likewise. * tests/autodist-stamp-vti.test: Likewise. * tests/Makefile.am (TESTS): Update. --- ChangeLog | 14 +++ tests/Makefile.am |8 ++ tests/Makefile.in |8 ++ tests/autodist-acconfig-no-subdir.test | 58 tests/autodist-acconfig.test| 46 ++ tests/autodist-aclocal-m4.test | 52 +++ tests/autodist-config-headers.test | 61 + tests/autodist-configure-no-subdir.test | 72 +++ tests/autodist-stamp-vti.test | 60 tests/autodist-subdir.test | 151 +++ tests/autodist.test | 145 + 11 files changed, 675 insertions(+), 0 deletions(-) create mode 100755 tests/autodist-acconfig-no-subdir.test create mode 100755 tests/autodist-acconfig.test create mode 100755 tests/autodist-aclocal-m4.test create mode 100755 tests/autodist-config-headers.test create mode 100755 tests/autodist-configure-no-subdir.test create mode 100755 tests/autodist-stamp-vti.test create mode 100755 tests/autodist-subdir.test create mode 100755 tests/autodist.test From 0c2fd9c663b1a54aaddd0be2c7655bb21528a8f6 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini stefano.lattar...@gmail.com Date: Mon, 10 Jan 2011 23:56:43 +0100 Subject: [PATCH] tests: add checks on automatically-distributed files Related to automake bug#7819. * tests/autodist.test: New test. * tests/autodist-subdir.test: Likewise. * tests/autodist-acconfig.test: Likewise. * tests/autodist-acconfig-no-subdir.test: Likewise. * tests/autodist-aclocal-m4.test: Likewise. * tests/autodist-config-headers.test: Likewise. * tests/autodist-configure-no-subdir.test: Likewise. * tests/autodist-stamp-vti.test: Likewise. * tests/Makefile.am (TESTS): Update. --- ChangeLog | 14 +++ tests/Makefile.am |8 ++ tests/Makefile.in |8 ++ tests/autodist-acconfig-no-subdir.test | 58 tests/autodist-acconfig.test| 46 ++ tests/autodist-aclocal-m4.test | 52 +++ tests/autodist-config-headers.test | 61 + tests/autodist-configure-no-subdir.test | 72 +++ tests/autodist-stamp-vti.test | 60 tests/autodist-subdir.test | 151 +++ tests/autodist.test | 145 + 11 files changed, 675 insertions(+), 0 deletions(-) create mode 100755 tests/autodist-acconfig-no-subdir.test create mode 100755 tests/autodist-acconfig.test create mode 100755 tests/autodist-aclocal-m4.test create mode 100755 tests/autodist-config-headers.test create mode 100755 tests/autodist-configure-no-subdir.test create mode 100755 tests/autodist-stamp-vti.test create mode 100755 tests/autodist-subdir.test create mode 100755 tests/autodist.test diff --git a/ChangeLog b/ChangeLog index b59819f..ca2c481 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2011-01-10 Stefano Lattarini stefano.lattar...@gmail.com + + tests: add checks on automatically-distributed files + Related to automake bug#7819. + * tests/autodist.test: New test. + * tests/autodist-subdir.test: Likewise. + * tests/autodist-acconfig.test: Likewise. + * tests/autodist-acconfig-no-subdir.test: Likewise. + * tests/autodist-aclocal-m4.test: Likewise. + * tests/autodist-config-headers.test: Likewise. + * tests/autodist-configure-no-subdir.test: Likewise. + * tests/autodist-stamp-vti.test: Likewise. + * tests/Makefile.am (TESTS): Update. + 2011-01-09 Stefano Lattarini stefano.lattar...@gmail.com cosmetics: remove trailing whitespaces diff --git a/tests/Makefile.am b/tests/Makefile.am index 8842be3..fe93ac2 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -94,6 +94,14 @@ ar2.test \ asm.test \ asm2.test \ asm3.test \ +autodist.test \ +autodist-subdir.test \ +autodist-acconfig.test \ +autodist-acconfig-no-subdir.test \ +autodist-aclocal-m4.test \ +autodist-config-headers.test \ +autodist-configure-no-subdir.test \ +autodist-stamp-vti.test \
Re: [PATCH] yacc: warn about conditional content in *YFLAGS variables
On Monday 10 January 2011, Stefano Lattarini wrote: On Monday 10 January 2011, Ralf Wildenhues wrote: [ dropping bug-automake ] * Stefano Lattarini wrote on Mon, Jan 10, 2011 at 03:59:10PM CET: The attached patch should fix the bug. OK for the temporary branch 'yacc-work', to be merged to master afterwards? OK, thanks. Please add a short NEWS blurb (or merge with other NEWS about yacc changes). Oops, sorry! I don't know I could forget to do so right away ... :-( How about ensuring in the test that the user can override automake by setting warning flags suitably (preapproved)? Good idea (I'll assume that he won't try to make `-d' conditional, as the behaviour should remain undefined in this case IMHO). I'll amend the patch with a new testcase (tonight or tomorrow). Attached is what I pushed. This should fix automake bug#7804. Regards, Stefano From 834dc3a98272e7eb1869e2a1972ac14ea45e0ec0 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini stefano.lattar...@gmail.com Date: Mon, 10 Jan 2011 15:50:35 +0100 Subject: [PATCH] yacc: warn about conditional content in *YFLAGS variables This commit fixes automake bug#7804. * automake.in (lang_yacc_target_hook): Warn if any of the relevant *YFLAGS variables has conditional contents (not only a conditional definition). Related refactoring. * NEWS: Updated. * tests/yflags-conditional.test: Updated and extended. * tests/yflags-conditional-force.test: New test. * tests/Makefile.am (TESTS): Updated. --- ChangeLog | 12 NEWS|3 + automake.in | 34 +++--- tests/Makefile.am |1 + tests/Makefile.in |1 + tests/yflags-conditional.test | 117 --- tests/yflags-force-conditional.test | 95 7 files changed, 243 insertions(+), 20 deletions(-) create mode 100755 tests/yflags-force-conditional.test diff --git a/ChangeLog b/ChangeLog index 06f9b84..90eb69e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2011-01-10 Stefano Lattarini stefano.lattar...@gmail.com + + yacc: warn about conditional content in *YFLAGS variables + This change fixes automake bug#7804. + * automake.in (lang_yacc_target_hook): Warn if any of the relevant + *YFLAGS variables has conditional contents (not only a conditional + definition). Related refactoring. + * NEWS: Updated. + * tests/yflags-conditional.test: Updated and extended. + * tests/yflags-conditional-force.test: New test. + * tests/Makefile.am (TESTS): Updated. + 2011-01-08 Stefano Lattarini stefano.lattar...@gmail.com yacc: support variable expansions in *YFLAGS definition. diff --git a/NEWS b/NEWS index 79860ad..a947af9 100644 --- a/NEWS +++ b/NEWS @@ -62,6 +62,9 @@ Bugs fixed in 1.11.0a: through other variables, such as in: foo_opts = -d AM_YFLAGS = $(foo_opts) + + - Automake now complains if a `*YFLAGS' variable has any conditional +content, not only a conditional definition. New in 1.11: diff --git a/automake.in b/automake.in index 2bffe48..fa458d6 100755 --- a/automake.in +++ b/automake.in @@ -6061,15 +6061,29 @@ sub lang_yacc_target_hook { my ($self, $aggregate, $output, $input, %transform) = @_; -my $flagvar = var ($aggregate . _YFLAGS); -my $YFLAGSvar = var ('YFLAGS'); -# We cannot work reliably with conditionally-defined YFLAGS. -$flagvar-check_defined_unconditionally if $flagvar; -$YFLAGSvar-check_defined_unconditionally if $YFLAGSvar; -my @flags = $flagvar ? $flagvar-value_as_list_recursive : (); -my @YFLAGS = $YFLAGSvar ? $YFLAGSvar-value_as_list_recursive : (); -if (grep (/^-d$/, @flags) || grep (/^-d$/, @YFLAGS)) -{ +# If some relevant *YFLAGS variable contains the `-d' flag, we'll +# have to to generate special code. +my $yflags_contains_minus_d = 0; + +foreach my $pfx (, ${aggregate}_) + { + my $yflagsvar = var (${pfx}YFLAGS); + next unless $yflagsvar; + # We cannot work reliably with conditionally-defined YFLAGS. + if ($yflagsvar-has_conditional_contents) + { + msg_var ('unsupported', $yflagsvar, + `${pfx}YFLAGS' cannot have conditional contents); + } + else + { + $yflags_contains_minus_d = 1 + if grep (/^-d$/, $yflagsvar-value_as_list_recursive); + } + } + +if ($yflags_contains_minus_d) + { (my $output_base = $output) =~ s/$KNOWN_EXTENSIONS_PATTERN$//; my $header = $output_base . '.h'; @@ -6098,7 +6112,7 @@ sub lang_yacc_target_hook # then we want to remove them with make clean; otherwise, # make distcheck will fail. $clean_files{$header} = $transform{'DIST_SOURCE'} ? MAINTAINER_CLEAN : CLEAN; -} + } # See the comment above for $HEADER. $clean_files{$output} = $transform{'DIST_SOURCE'} ? MAINTAINER_CLEAN : CLEAN; } diff --git a/tests/Makefile.am b/tests/Makefile.am index
Re: [PATCH] {maint} Improve, extend and tweak tests on Texinfo support.
On Monday 10 January 2011, Ralf Wildenhues wrote: Hi Stefano, sorry for the delay. * Stefano Lattarini wrote on Tue, Jan 04, 2011 at 03:41:45PM CET: On Monday 03 January 2011, Ralf Wildenhues wrote: * Stefano Lattarini wrote on Mon, Jan 03, 2011 at 02:38:48PM CET: Subject: [PATCH] Improve, extend and tweak tests on Texinfo support. [...] OK with nits addressed. I have a couple of questions below; I'll wait to push until they've been addressed. --- /dev/null +++ b/tests/comments-in-var-definition.test How about s/definition/defn/? That is still unique, easily understood, and a lot shorter. Fine with me (even if I still don't understand this bias against longer test names ;-) The longer the names, and the more the tests, the earlier we will exceed the command line length limit in our 'check' rules (important to fix on all systems it happens) and our 'distdir' rule (important at least for the maintainer's machine). Ouch, I never tought about these issues :-( So, support for more than one parallel-tests testsuite per Makefile.am is needed soonish. Or better (if possible) finding out a way to transparently avoid commandline-lenght issues when calling $(MAKE) recursively. There was a previous attempt of yours at this IIRC, but it didn't work out. Maybe it's time to give it a second shot? Besides, while I agree that the 8+3 names are often lacking descriptiveness, I also don't like typing too much. But how often do you type the name of the testcases after all? (I mean, without the help of tab completion of course ;-). For example, I'm not sure why we named the 'posixsubst*.test' files that way; there is little specifically posixy about these substitution rules. Well, they are the only POSIX-mandated textual substitutions for make macros, so I thought the test names were appropriated -- or am I missing something? +grep '^am__TEXINFO_TEX_DIR *=.*[/ ]tex *$' Makefile.in +$EGREP 'am__TEXINFO_TEX_DIR.*=.*(comment|#)' Makefile.in Exit 1 These two lines access internal details that could change. Acceptable if it must be that way but better if we can do without. I added those lines to avoid reducing coverage in the code I moved from `txinfo22.test' -- which indeed had a check: test -d $(am__TEXINFO_TEX_DIR) in its Makefile.am. Oh, ok, I didn't realize we were already using internal details before. Hhmm... but maybe it would be simpler safer to just add back that check (and new similar ones) in the Makefile.am of `comments-in-var-defn.test'? I think so; here is what I'll squash in if there are no objections: Fine as well, but I don't see how it makes much of a difference. am__TEXINFO_TEX_DIR is still an internal detail. Yes, but this new amended version of the checks is more similar to the old version in txinfo22.test. Not a big deal, but since it's already done, let's keep it. Hmm, the autoconf.texi blurb on `touch' states that this is no longer a practical issue, but IIRC the policy was still enforced in GCC sources, making me wonder whether there still are broken systems out there ... Anyway, you can easily avoid the issue by echo stamp ... I'd prefer to use `touch' if that's ok with you, since it makes the purpose of the commands even clearer (and is used in other parts of the automake testsuite). Objections? Well, that's worse in that it has the same issue on those ancient systems. Oh well, maybe I should stop caring about them. Well, that's what the autoconf manual suggest ;-) [see the last line in the excerpt below] ``On ancient BSD systems, touch or any command that results in an empty file does not update the timestamps, so use a command like echo as a workaround. Also, GNU touch 3.16r (and presumably all before that) fails to work on SunOS 4.1.3 when the empty file is on an NFS-mounted 4.2 volume. However, these problems are no longer of practical concern.'' FTM I'm pushing this hunk as is; you are obviously free to amend it if you think portability to those ancient system is still important. +day=`LC_ALL=C date '+%d'` || Exit 77 +month=`LC_ALL=C date '+%B'` || Exit 77 +year=`LC_ALL=C date '+%Y'` || Exit 77 Not all shells propagate exit status from commands substitutions in assignments (see autoconf.texi Assignments). Hmpf :-( Luckily this issue seems of little pratical concern at least: listed affected shells are just ash 0.2 (!) and QNX 4.25 shell. Did you check Sven's page about set -e? No, I just read the relevant excerpt from the autoconf manual. And aren't we speaking about the propagation of exit status from command substitutions in assignments here? What does 'set -e' have to do with it? Note: that's an honest question, not a rethorical one; maybe I'm missing something? You might want to test for nonempty variable contents here. In fact, to be even more reliable
[PATCH] {master} tests: enable 'errexit' shell flag by default.
Hello automakers. Finally, here is the patch that moves the setting of the `errexit' shell flag in the `tests/defs' script. Here are the steps I followed to write the patch: [1] I got the list of non-generated test scripts: $ tests=`grep -L '^#.* GENERATED AUTOMATICALLY' tests/*.test` [2] I checked that each of those test scripts had *one only* occurence of a `set -e' line, and that this line occurred immediately after the inclusion the `./defs' script: $ perl set-e.pl $tests (see attachement for the set-e.pl script) [3] I used GNU sed to remove that `set -e' line and the single following blank line (if any) for each of those scripts: $ sed -i '/^set -e$/{ N; /^set -e\n *$/d; s/^set -e\n//; }' $tests [4] I updated files ChangeLog, tests/defs and tests/README by hand. The patch is attached (compressed, as it's pretty big and repetitive). Inline below are the most relevant hunks. I will push in 72 hours (to master) if there are no objections. Regards, Stefano -*-*- tests: enable 'errexit' shell flag by default. * tests/defs: Enable `errexit' shell flag (near the end). Removed redundant comment about the enabling of shell traces. * tests/README (Writing test cases): Update, and use nicer formatting in a couple of places. * All tests: Adjusted by removing now-redundant calls to 'set -e'. --- ChangeLog | 10 ++ tests/README | 25 ++--- tests/acloca10.test|2 -- tests/acloca11.test|2 -- tests/acloca12.test|2 -- ... tests/yflags-var-expand.test |2 -- tests/yflags.test |2 -- tests/yflags2.test |2 -- 876 files changed, 25 insertions(+), 1757 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8c5a8f4..be66897 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-01-08 Stefano Lattarini stefano.lattar...@gmail.com + + tests: enable 'errexit' shell flag by default. + * tests/defs: Enable `errexit' shell flag (near the end). + Removed redundant comment about the enabling of shell traces. + * tests/README (Writing test cases): Update, and use nicer + formatting in a couple of places. + * All tests: Adjusted by removing now-redundant calls to + 'set -e'. + 2011-01-09 Peter Rosin p...@lysator.liu.se Fix another typo in Rule.pm comment. diff --git a/tests/README b/tests/README index 1369bd3..2d80236 100644 --- a/tests/README +++ b/tests/README @@ -131,14 +131,18 @@ Do but do not output anything by default. If you need ./configure to create Makefile, append AC_OUTPUT to configure.in. - Use `set -e' to catch failures you might not have thought of. + By default, the testcases are run with the `errexit' shell flag on, + to make it easier to catch failures you might not have thought of. + If this is undesirable in some testcase, you can use `set +e' to + disable the `errexit' flag (but please do so only if you have a + very good reason). End the test script with a `:' or `Exit 0'. Otherwise, when somebody changes the test by adding a failing command after the last command, - the test will spuriously fail because $? is nonzero at the end. - Note that this is relevant also for tests using `set -e', if they - contain commands like grep ... Makefile.in Exit 1 (and there - are indeed a lot of such tests). + the test will spuriously fail because $? is nonzero at the end. Note + that this is relevant even if the `errexit' shell flag is on, in case + the test contains commands like grep ... Makefile.in Exit 1 (and + there are indeed a lot of such tests). Use $ACLOCAL, $AUTOMAKE, $AUTOCONF, $AUTOUPDATE, $AUTOHEADER, $PERL, $MAKE, $EGREP, and $FGREP, instead of the corresponding @@ -147,12 +151,11 @@ Do Use $sleep when you have to make sure that some file is newer than another. - Use `cat' or `grep' to display (part of) files that may be - interesting for debugging, so that when a user send a verbose - output we don't have to ask him for more details. Display stderr - output on the stderr file descriptor. If some redirected command - is likely to fail, and `set -e' is in effect, display its output - even in the failure case, before exiting. + Use `cat' or `grep' to display (part of) files that may be interesting + for debugging, so that when a user send a verbose output we don't have + to ask him for more details. Display stderr output on the stderr file + descriptor. If some redirected command is likely to fail, display its + output even in the failure case, before exiting. Use `Exit' rather than `exit' to abort a test. diff --git a/tests/defs b/tests/defs index f04a756..b5373a9 100644 --- a/tests/defs +++ b/tests/defs @@ -460,7 +460,7 @@ done ## Ready to go... ## ##
Re: [PATCH] {maint} Improve, extend and tweak tests on Texinfo support.
* Stefano Lattarini wrote on Tue, Jan 11, 2011 at 02:14:26AM CET: On Monday 10 January 2011, Ralf Wildenhues wrote: The longer the names, and the more the tests, the earlier we will exceed the command line length limit in our 'check' rules (important to fix on all systems it happens) and our 'distdir' rule (important at least for the maintainer's machine). Ouch, I never tought about these issues :-( So, support for more than one parallel-tests testsuite per Makefile.am is needed soonish. Or better (if possible) finding out a way to transparently avoid commandline-lenght issues when calling $(MAKE) recursively. There was a previous attempt of yours at this IIRC, but it didn't work out. Maybe it's time to give it a second shot? I don't think there is any way to avoid the limit with portable make alone. When gnu-make infrastructure is in place, we can think about a replacement rule for that, but we should provide multiple test suites anyway, that's also nice for subsetting in general. Besides, while I agree that the 8+3 names are often lacking descriptiveness, I also don't like typing too much. But how often do you type the name of the testcases after all? (I mean, without the help of tab completion of course ;-). Oh, this is obviously not a big deal, but I actually try NetBSD csh sometimes which doesn't seem to provide it; this is mostly to ensure that the $SHELL setting from the environment doesn't leak into our code. For example, I'm not sure why we named the 'posixsubst*.test' files that way; there is little specifically posixy about these substitution rules. Well, they are the only POSIX-mandated textual substitutions for make macros, so I thought the test names were appropriated -- or am I missing something? What's wrong with s/^posix// though? Lots of other things are Posix-mandated too, but we don't make a big deal out of that either? Cheers, Ralf