Re: [PATCH] {maint} Improve, extend and tweak tests on Texinfo support.

2011-01-10 Thread Ralf Wildenhues
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

2011-01-10 Thread Stefano Lattarini
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

2011-01-10 Thread Stefano Lattarini
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

2011-01-10 Thread Stefano Lattarini
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.

2011-01-10 Thread Stefano Lattarini
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.

2011-01-10 Thread Stefano Lattarini
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.

2011-01-10 Thread Ralf Wildenhues
* 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