[Automake-NG] [FYI] [ng] tests: fix test driver botch-up on Solaris

2012-07-24 Thread Stefano Lattarini
This issue is very similar to the one fixed by commit v1.12.2-31-g587e0c6.

The test 't/memoize.sh' was producing a '.log' file with few overly-long
lines (more than 12k characters long) and, when Solaris XPG4 awk was in
use, that was causing the 'test-driver.sh' script to experience a spurious
failure:

/usr/xpg4/bin/awk: line 382 (B): Record too long (LIMIT: 1 bytes)
tap-driver.sh: fatal: I/O or internal error

* t/memoize.sh: Temporary disable shell tracing and make output in a few
places, to prevent the resulting '.log' file to contain overly long lines.

Signed-off-by: Stefano Lattarini stefano.lattar...@gmail.com
---
 t/memoize.tap |   21 +
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/t/memoize.tap b/t/memoize.tap
index 6d5eda4..a08942e 100755
--- a/t/memoize.tap
+++ b/t/memoize.tap
@@ -88,15 +88,23 @@ END
 var=foo
 for i in 1 2 3 4 5 6 7 8 9 10 11 12; do
   var=$var$var
+  # Temporary disable shell traces, because otherwise the result '.log' file
+  # would end up having too long lines that could confuse inferior awk
+  # implementations (e.g., Solaris 10 /usr/xpg4/bin/awk), which would cause
+  # spurious errors in our test harness.
+  set +x
 done
+set -x # Re-enable shell traces.
 
 T very long variable name END
 
 $var = \$(call am__memoize,$var,foo)
 
 test:
-   test '\$($var)' = foo
-   test '\$($var)' = foo
+   # Why we silence this?
+   # See comment above about overly long lines in '.log' file.
+   @echo test1; test '\$($var)' = foo
+   @echo test2; test '\$($var)' = foo
 END
 
 #---
@@ -107,15 +115,20 @@ val=bar
 for i in 1 2 3 4 5 6 7 8 9 10 11 12; do
   var=$var$var
   val=$val$val
+  # Temporary disable shell traces.  See comment above for a rationale.
+  set +x
 done
+set -x # Re-enable shell traces.
 
 T very long variable name with long content END
 
 $var = \$(call am__memoize,$var,$val)
 
 test:
-   test '\$($var)' = '$val'
-   test '\$($var)' = '$val'
+   # Why we silence this?
+   # See comment above about overly long lines in '.log' file.
+   @echo test1; test '\$($var)' = '$val'
+   @echo test2; test '\$($var)' = '$val'
 END
 
 #---
-- 
1.7.10.4




Re: [Automake-NG] [FYI] [ng] tests: relax even more a grepping check on configure output

2012-07-24 Thread Akim Demaille

Le 24 juil. 2012 à 10:12, Stefano Lattarini a écrit :

 This is a follow-up to today's commit v1.12.2-594-geee3aff.
 
 * t/subpkg.sh: Here: do bee too picky about the verb declension

do bee?

don't be I guess, but there might be a reference to Harry
Potter that I don't grasp :)

 used in a checking whether message.
 
 Signed-off-by: Stefano Lattarini stefano.lattar...@gmail.com
 ---
 t/subpkg.sh |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/t/subpkg.sh b/t/subpkg.sh
 index 9b9f7eb..d3bbb44 100755
 --- a/t/subpkg.sh
 +++ b/t/subpkg.sh
 @@ -107,8 +107,9 @@ cd ..
 
 ./configure stdout || { cat stdout; exit 1; }
 cat stdout
 -# Don't pretend to know the name or path of the C compiler.
 -grep '^checking whether .* understands -c and -o together' stdout
 +# Don't pretend to know the name or path of the C compiler.  Also,
 +# don't be too picky about the verb declension.
 +$EGREP '^checking whether .* understands? -c and -o together' stdout
 
 $MAKE
 $MAKE distcheck
 -- 
 1.7.10.4
 
 




Re: [Automake-NG] [FYI] [ng] tests: fix test driver botch-up on Solaris

2012-07-24 Thread Akim Demaille

Le 24 juil. 2012 à 10:13, Stefano Lattarini a écrit :

 This issue is very similar to the one fixed by commit v1.12.2-31-g587e0c6.
 
 The test 't/memoize.sh' was producing a '.log' file with few overly-long
 lines (more than 12k characters long) and, when Solaris XPG4 awk was in
 use, that was causing the 'test-driver.sh' script to experience a spurious
 failure:
 
/usr/xpg4/bin/awk: line 382 (B): Record too long (LIMIT: 1 bytes)
tap-driver.sh: fatal: I/O or internal error
 
 * t/memoize.sh: Temporary disable shell tracing and make output in a few
 places, to prevent the resulting '.log' file to contain overly long lines.

Gee.  there are so many more interesting things to do in life :(
My condolences.




Re: [Automake-NG] [FYI] [ng] tests: relax even more a grepping check on configure output

2012-07-24 Thread Stefano Lattarini
On 07/24/2012 10:34 AM, Akim Demaille wrote:
 
 Le 24 juil. 2012 à 10:12, Stefano Lattarini a écrit :
 
 This is a follow-up to today's commit v1.12.2-594-geee3aff.

 * t/subpkg.sh: Here: do bee too picky about the verb declension

Oops.  Well spotted, I fixed that before pushing.

 do bee?
 
 don't be I guess,

Yep.

 but there might be a reference to Harry Potter that I don't grasp :)

I assure you there is none :-)

Thanks,
  Stefano



Re: [Automake-NG] [PATCH 3/4] [ng] rename: am__configure_deps - am.remake.configure-deps

2012-07-24 Thread Stefano Lattarini
On 07/24/2012 10:38 AM, Akim Demaille wrote:
 All these are fine.
 
 Le 22 juil. 2012 à 19:08, Stefano Lattarini a écrit :
 
 -  define_variable ('am__configure_deps', INTERNAL, @configuredeps);
 +  define_variable ('am.remake.configure-deps', INTERNAL, @configuredeps);
 
 Wouldn't some am.deps.* make sense?
 
That namespace might be better used for stuff dealing with C/C++ automatic
dependency tracking IMHO (if the need will arise).  And anyway, if some of our
current renames turn out to be suboptimal, we can easily fix that later (since
they are all about internal variables, which we can rename whenever we want);
so I'm not trying too hard to come up with perfect names.

Thanks,
  Stefano



[Automake-NG] [FYI] [ng] tests: run two slow tests earlier, for better make -j performance

2012-07-24 Thread Stefano Lattarini
* Makefile.am (long_running_TESTS): Add 't/parallel-tests-many.sh' and
't/dist-many.sh', which are slooow.

Signed-off-by: Stefano Lattarini stefano.lattar...@gmail.com
---
 Makefile.am | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index f4783c6..51258cc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -312,6 +312,8 @@ all_TESTS = \
 # useful when running the testsuite in parallel on multicore machines.
 # Here too we assume that the autogenerated tests are placed in $(srcdir).
 long_running_TESTS = \
+  $(srcdir)/t/dist-many.sh \
+  $(srcdir)/t/parallel-tests-many.sh \
   $(srcdir)/t/add-missing.tap \
   $(srcdir)/t/instspc.tap \
   $(wildcard $(srcdir)/t/depcomp-*.tap) \
-- 
1.7.12.rc0




Re: [Automake-NG] [FYI] [ng] rename: am__newline - am.chars.newline

2012-07-24 Thread Stefano Lattarini
On 07/24/2012 04:23 PM, Akim Demaille wrote:
 
 Le 24 juil. 2012 à 16:03, Stefano Lattarini a écrit :
 
 On 07/24/2012 03:54 PM, Akim Demaille wrote:

 Le 24 juil. 2012 à 15:40, Stefano Lattarini a écrit :

 diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am

 Maybe these vars should be defined elsewhere.

 Where do you suggest?
 
 A file named after their namespace.
 
 am.chars.am for am.chars.*
 
 etc.

Yikes, this seems an horrid overkill to me.  In fact, by fragmenting
few definitions into many files, we would create confusion rather than
dispersing it IMHO.  Let's just keep the status quo for now, and
rejoice that make is not Java ;-)

 BTW, while I'm fully open to the idea, I believe it is something that
 can be left for later.
 
 Sure, even renaming can be :)

The main difference is that both we agree about that the renaming is
a good move ;-)

 Who knows, we might even decide to put the
 definitions of all auxiliary variables and functions that do not use
 any '@...@' substitution in a '*.mk' file to be distributed in the
 build-auxdir of the client project, and then included by all the other
 generated Makefiles …
 
 Yeah!  A whole new future of Automake hacking will be possible!
 

Regards,
  Stefano



[Automake-NG] [FYI] Merge branch 'master' into ng/master

2012-07-24 Thread Stefano Lattarini
commit e3d6f0427bec781d524aa43ad058748d0fe8ea3b
Merge: 1d9 06143bd
Author: Stefano Lattarini stefano.lattar...@gmail.com
Date:   Wed Jul 25 00:14:09 2012 +0200

Merge branch 'master' into ng/master

* master:
  tests: avoid non-textual output in a '.log' file
  tags: refactor to reduce code duplication (2)
  tags: refactor to reduce code duplication (1)
  tests: better name for a couple of tests
  check: support colorized testsuite output by default
  tags: unify recursion for tags targets with that of usual targets

+ Extra non-trivial edits:

* automake.in (handle_tests): Drop the '%COLOR%' transform in the
processing of both 'serial-tests.am' and 'parallel-tests.am', which
have superseded the 'check.am' from mainline Automake.
* lib/am/color-tests.am: Remove use of the '%?COLOR%' transform;
just act as if it were unconditionally TRUE.
(am__tty_colors_dummy): Merge into ...
(am__tty_colors): ... this.

Signed-off-by: Stefano Lattarini stefano.lattar...@gmail.com




[Automake-NG] [FYI] [ng] tests: fix spurious failure in t/color-tests2.sh

2012-07-24 Thread Stefano Lattarini
* t/color-tests2.sh: Change the idioms used to specify the value of
'AM_COLOR_TESTS' to make.  This is required since, in contrast with
what happens in the mainline Automake counterpart, this script doesn't
invoke make with the '-e' option.

Signed-off-by: Stefano Lattarini stefano.lattar...@gmail.com
---
 t/color-tests2.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/color-tests2.sh b/t/color-tests2.sh
index f8bd85b..c66dbe5 100755
--- a/t/color-tests2.sh
+++ b/t/color-tests2.sh
@@ -130,7 +130,7 @@ for vpath in false :; do
   cat stdout
   test_no_color
 
-  AM_COLOR_TESTS=no MAKE=$MAKE expect -f $srcdir/expect-make stdout \
+  MAKE=$MAKE AM_COLOR_TESTS=no expect -f $srcdir/expect-make stdout \
 || { cat stdout; exit 1; }
   cat stdout
   test_no_color
@@ -142,7 +142,7 @@ for vpath in false :; do
   cat stdout
   test_no_color
 
-  TERM=ansi MAKE=env AM_COLOR_TESTS=always $MAKE \
+  TERM=ansi MAKE=$MAKE AM_COLOR_TESTS=always \
 expect -f $srcdir/expect-make stdout || { cat stdout; exit 1; }
   cat stdout
   test_color
-- 
1.7.12.rc0