[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-NG] [FYI] [ng] tests: fix test driver botch-up on Solaris
From: |
Stefano Lattarini |
Subject: |
[Automake-NG] [FYI] [ng] tests: fix test driver botch-up on Solaris |
Date: |
Tue, 24 Jul 2012 10:13:31 +0200 |
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: 19999 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 <address@hidden>
---
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
- [Automake-NG] [FYI] [ng] tests: fix test driver botch-up on Solaris,
Stefano Lattarini <=