automake-ng
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-NG] [FYI] tests: use 'run_make' instead of $MAKE output redire


From: Stefano Lattarini
Subject: [Automake-NG] [FYI] tests: use 'run_make' instead of $MAKE output redirection done by hand
Date: Sun, 26 May 2013 22:09:41 +0200

Change suggested by 'sc_tests_no_run_make_redirect'.

* t/am-xargs-map.sh: Avoid redirecting stdout/stderr from make.
* t/dist-formats.tap: Likewise.
* t/dist-srcdir2.sh: Likewise.
* t/no-spurious-install-recursive.sh: Likewise.
* t/nostdinc.sh: Likewise.
* t/parallel-tests-dynamic.sh: Likewise.
* t/parallel-tests-many.sh: Likewise.
* t/parallel-tests-unreadable.sh: Likewise.
* t/spell.sh: Likewise.
* t/spell2.sh: Likewise.
* t/spy-pattern-rules.sh: Likewise.
* t/spy-var-append.sh: Likewise.
* t/stdinc-no-repeated.sh: Likewise.
* t/test-extensions-funny-chars.sh: Likewise.
* t/test-extensions-invalid.sh: Likewise.
* t/var-undef-append.sh: Likewise.
* t/vartypos-deps.sh: Likewise.
* t/vartypos-whitelist.sh: Likewise.
* t/vartypos.sh: Likewise.
* t/parallel-tests-concatenated-suffix.sh: Likewise, and in the process,
drop now-obsolete workaround for a Solaris /bin/sh bug.
* t/test-driver-custom-multitest-recheck2.sh: Avoid redirection of
'run_make' output, use the '-O' option instead.

Signed-off-by: Stefano Lattarini <address@hidden>
---
 t/am-xargs-map.sh                          |  3 +--
 t/dist-formats.tap                         |  6 ++----
 t/dist-srcdir2.sh                          |  3 +--
 t/no-spurious-install-recursive.sh         |  3 +--
 t/nostdinc.sh                              |  6 ++----
 t/parallel-tests-concatenated-suffix.sh    |  8 +------
 t/parallel-tests-dynamic.sh                | 28 ++++++++++--------------
 t/parallel-tests-many.sh                   | 34 +++++++++++-------------------
 t/parallel-tests-unreadable.sh             |  3 +--
 t/spell.sh                                 |  3 +--
 t/spell2.sh                                |  3 +--
 t/spy-pattern-rules.sh                     |  5 +++--
 t/spy-var-append.sh                        |  2 +-
 t/stdinc-no-repeated.sh                    |  6 ++----
 t/test-driver-custom-multitest-recheck2.sh |  3 +--
 t/test-extensions-funny-chars.sh           | 20 ++++++------------
 t/test-extensions-invalid.sh               |  3 +--
 t/var-undef-append.sh                      |  2 +-
 t/vartypos-deps.sh                         |  6 ++----
 t/vartypos-whitelist.sh                    |  8 +++----
 t/vartypos.sh                              |  6 ++----
 21 files changed, 57 insertions(+), 104 deletions(-)

diff --git a/t/am-xargs-map.sh b/t/am-xargs-map.sh
index 7d97484..c4e581b 100644
--- a/t/am-xargs-map.sh
+++ b/t/am-xargs-map.sh
@@ -66,8 +66,7 @@ args1="0 1 2 3 4 5 6 7 8 9"
 args2="$args1 $args1"
 args4="$args2 $args2"
 
-$MAKE .am/nil WARN=yes 2>stderr || { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_make -E .am/nil WARN=yes
 grep '^Makefile:' stderr # For debugging
 test $(grep -c "^Makefile:11: $args4$" stderr) -eq 4
 test $(grep -c "^Makefile:12: $args4$" stderr) -eq 4
diff --git a/t/dist-formats.tap b/t/dist-formats.tap
index ac0410e..720318a 100644
--- a/t/dist-formats.tap
+++ b/t/dist-formats.tap
@@ -205,10 +205,8 @@ unset desc skip_reason
 #  Invalid distribution formats.  #
 # ------------------------------- #
 
-command_ok_ "invalid distribution formats [exit status]"  eval '
-  ! $MAKE dist AM_DIST_FORMATS="foobar tarZ shar" 2>stderr'
-
-cat stderr >&2 # For debugging.
+command_ok_ "invalid distribution formats [exit status]" \
+            run_make -E -e FAIL dist AM_DIST_FORMATS="foobar tarZ shar"
 
 command_ok_ "invalid distribution formats [error report]"  eval '
   sed -e "s/^/ /" -e "s/$/ /" stderr >stderr2 \
diff --git a/t/dist-srcdir2.sh b/t/dist-srcdir2.sh
index 9af4d94..0ff0481 100644
--- a/t/dist-srcdir2.sh
+++ b/t/dist-srcdir2.sh
@@ -38,8 +38,7 @@ cd build
 ../configure
 
 echo bad > filename-that-is-easy-to-grep
-$MAKE distdir 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_make -e FAIL -E distdir
 grep 'filename-that-is-easy-to-grep' stderr
 
 echo good > ../filename-that-is-easy-to-grep
diff --git a/t/no-spurious-install-recursive.sh 
b/t/no-spurious-install-recursive.sh
index 2f6cd55..c952114 100644
--- a/t/no-spurious-install-recursive.sh
+++ b/t/no-spurious-install-recursive.sh
@@ -32,8 +32,7 @@ $AUTOCONF
 ./configure
 
 for t in all check install; do
-  $MAKE -n $t-recursive 2>stderr && { cat stderr >&2; exit 1; }
-  cat stderr >&2
+  run_make -E -e FAIL -- -n $t-recursive
   grep " [Nn]o rule to make target.*[\`\"']$t-recursive" stderr
 done
 
diff --git a/t/nostdinc.sh b/t/nostdinc.sh
index f6f146e..22fbc7a 100644
--- a/t/nostdinc.sh
+++ b/t/nostdinc.sh
@@ -51,8 +51,7 @@ $AUTOMAKE --add-missing
 mkdir build
 cd build
 ../configure
-$MAKE V=1 > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O V=1
 grep '.*-I *\.' stdout && exit 1
 $MAKE clean
 # Shouldn't be picked up from builddir either.
@@ -62,8 +61,7 @@ cd ..
 
 # Test with $builddir = $srcdir
 ./configure
-$MAKE V=1 > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O V=1
 grep '.*-I *\.' stdout && exit 1
 
 :
diff --git a/t/parallel-tests-concatenated-suffix.sh 
b/t/parallel-tests-concatenated-suffix.sh
index ee83af1..337e9f8 100644
--- a/t/parallel-tests-concatenated-suffix.sh
+++ b/t/parallel-tests-concatenated-suffix.sh
@@ -43,13 +43,7 @@ $AUTOMAKE -a
 
 for j in '' -j4; do
 
-  # Use append mode here to avoid dropping output.  See automake bug#11413.
-  # Also, use 'echo' here to "nullify" the previous contents of 'stdout',
-  # since Solaris 10 /bin/sh would try to optimize a ':' away after the
-  # first iteration, even if it is redirected.
-  echo " " >stdout
-  $MAKE $j check >>stdout || { cat stdout; exit 1; }
-  cat stdout
+  run_make -O $j check
   count_test_results total=7 pass=7 fail=0 skip=0 xfail=0 xpass=0 error=0
   for t in $tests; do grep "^PASS: $t *$" stdout; done
 
diff --git a/t/parallel-tests-dynamic.sh b/t/parallel-tests-dynamic.sh
index 3652064..49d5717 100644
--- a/t/parallel-tests-dynamic.sh
+++ b/t/parallel-tests-dynamic.sh
@@ -98,9 +98,7 @@ $AUTOMAKE -a
 
 ./configure
 
-$MAKE check > stdout || { cat stdout; exit 1; }
-cat stdout
-
+run_make -O check
 count_test_results total=13 pass=9 fail=0 xpass=0 xfail=2 skip=2 error=0
 
 grep '^PASS: t/nosuffix$'  stdout
@@ -120,15 +118,13 @@ grep '^SKIP: mu$'          stdout
 $MAKE mostlyclean
 test "$(find . -name '*.log')" = ./config.log
 
-$MAKE distcheck > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O distcheck
 count_test_results total=13 pass=9 fail=0 xpass=0 xfail=2 skip=2 error=0
 
-$MAKE check tests1='$(wildcard t00*.sh t98?.sh)' \
-            tests2='$(shell ./get-tests-list | sed 1d)' \
-            TESTS='$(tests1) $(tests2)' \
-  > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O check \
+  tests1='$(wildcard t00*.sh t98?.sh)' \
+  tests2='$(shell ./get-tests-list | sed 1d)' \
+  TESTS='$(tests1) $(tests2)'
 
 count_test_results total=4 pass=3 fail=0 xpass=0 xfail=1 skip=0 error=0
 
@@ -144,13 +140,11 @@ $MAKE check TESTS='$(shell echo t00 | sed "s/$$/-foo/") 
t99'
 test -f t00-foo.log
 test -f t99.log
 
-$MAKE check \
-      foo='E9E9E' \
-      a='t00.err' \
-      b='${a:.err=-foo}' \
-      TESTS='$(b) t$(subst E,,$(foo)) $(call my_add_dirprefix,t,nosuffix)' \
-  > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O check \
+  foo='E9E9E' \
+  a='t00.err' \
+  b='${a:.err=-foo}' \
+  TESTS='$(b) t$(subst E,,$(foo)) $(call my_add_dirprefix,t,nosuffix)'
 
 count_test_results total=3 pass=2 fail=0 xpass=0 xfail=1 skip=0 error=0
 grep '^PASS: t/nosuffix'  stdout
diff --git a/t/parallel-tests-many.sh b/t/parallel-tests-many.sh
index 5389952..3ed6e7a 100644
--- a/t/parallel-tests-many.sh
+++ b/t/parallel-tests-many.sh
@@ -76,8 +76,7 @@ $AUTOCONF
 $AUTOMAKE -a
 ./configure
 
-$MAKE check > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O check
 
 grep "^# TOTAL: $whole_count$" stdout
 grep "^# PASS:  $whole_count$" stdout
@@ -118,31 +117,25 @@ check_three_reruns ()
 
 $sleep
 touch $tst-1.test $dir1-1/foo.sh $dir2-1/$tst-1
-$MAKE check AM_LAZY_CHECK=yes > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O check AM_LAZY_CHECK=yes
 check_three_reruns
 grep "^# TOTAL: $whole_count$" stdout
 grep "^# PASS:  $whole_count$" stdout
 
 # We need to simulate the failure of few tests.
-st=0
-$MAKE check TESTS="$tst-1.test $dir1-1/foo.sh $dir2-1/$tst-1" \
-            LOG_COMPILER=false > stdout && st=1
-cat stdout
-test $(grep -c '^FAIL:' stdout) -eq 3 || st=1
-test $st -eq 0 || fatal_ "couldn't simulate failure of 3 tests"
-unset st
-
-$MAKE recheck > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O -e FAIL check \
+         TESTS="$tst-1.test $dir1-1/foo.sh $dir2-1/$tst-1" \
+         LOG_COMPILER=false \
+  && test $(grep -c '^FAIL:' stdout) -eq 3 \
+  || fatal_ "couldn't simulate failure of 3 tests"
+
+run_make -O recheck
 check_three_reruns
 grep "^# TOTAL: 3$" stdout
 grep "^# PASS:  3$" stdout
 
 # We need to simulate the failure of a lot of tests.
-$MAKE check LOG_COMPILER=false > stdout && { cat stdout; exit 1; }
-cat stdout
-
+run_make -O -e FAIL check LOG_COMPILER=false
 grep '^PASS:' stdout && exit 1
 # A random sample.
 grep "^FAIL: $tst-363\.test$" stdout
@@ -153,9 +146,7 @@ grep "^FAIL: " stdout > grp
 sed 20q grp # For debugging.
 test $(wc -l <grp) -eq $whole_count
 
-$MAKE recheck > stdout || { cat stdout; exit 1; }
-cat stdout
-
+run_make -O recheck
 grep '^FAIL:' stdout && exit 1
 # A random sample.
 grep "^PASS: $tst-363\.test$" stdout
@@ -171,8 +162,7 @@ grep "^# PASS:  $whole_count$" stdout
 # "make clean" might ignore some failures (either on purpose or spuriously),
 # so we prefer to also grep its output to ensure that no "Argument list too
 # long" error was encountered.
-$MAKE clean >output 2>&1 || { cat output; exit 1; }
-cat output
+run_make -M clean
 grep -i 'list.* too long' output && exit 1
 list_logs | grep . && exit 1
 
diff --git a/t/parallel-tests-unreadable.sh b/t/parallel-tests-unreadable.sh
index 898532d..0b67018 100644
--- a/t/parallel-tests-unreadable.sh
+++ b/t/parallel-tests-unreadable.sh
@@ -55,8 +55,7 @@ doit ()
   $MAKE check
   rm -f test-suite.log
   chmod a-r $*
-  $MAKE test-suite.log 2>stderr && { cat stderr >&2; exit 1; }
-  cat stderr >&2
+  run_make -E -e FAIL test-suite.log
 }
 
 could_not_read ()
diff --git a/t/spell.sh b/t/spell.sh
index a5f49ce..57159c3 100644
--- a/t/spell.sh
+++ b/t/spell.sh
@@ -38,8 +38,7 @@ $AUTOCONF
 $AUTOMAKE
 
 ./configure
-$MAKE 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_make -E -e FAIL make
 
 LC_ALL=C sed -e 's|^Makefile:[0-9][0-9]*: ||' \
              -e 's|.*\.mk:[0-9][0-9]*: ||' \
diff --git a/t/spell2.sh b/t/spell2.sh
index b50c3d7..6e84218 100644
--- a/t/spell2.sh
+++ b/t/spell2.sh
@@ -38,8 +38,7 @@ $AUTOMAKE
 
 ./configure
 
-$MAKE 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_make -E -e FAIL
 
 LC_ALL=C sed -e 's|^Makefile:[0-9][0-9]*: ||' \
              -e 's|.*\.mk:[0-9][0-9]*: ||' \
diff --git a/t/spy-pattern-rules.sh b/t/spy-pattern-rules.sh
index 507d584..fee25c3 100644
--- a/t/spy-pattern-rules.sh
+++ b/t/spy-pattern-rules.sh
@@ -85,7 +85,8 @@ test "$(cat barzap)" = .zap
 test "$(cat bar-mu)" = .-mu
 
 # Sanity check.
-$MAKE bax && exit 99
-$MAKE bax 2>&1 | grep '^bax: longest stem rule selected!' || exit 99
+run_make -e FAIL -M bax \
+  && grep '^bax: longest stem rule selected!' output \
+  || fatal_ 'the longest stem rule was not selected'
 
 :
diff --git a/t/spy-var-append.sh b/t/spy-var-append.sh
index 0d5482b..14b10cf 100644
--- a/t/spy-var-append.sh
+++ b/t/spy-var-append.sh
@@ -48,7 +48,7 @@ END
 
 checkit ()
 {
-  $MAKE "$@" 2>stderr && test ! -s stderr || { cat stderr >&2; exit 1; }
+  run_make -E -- "$@" && test ! -s stderr
 }
 
 checkit test1
diff --git a/t/stdinc-no-repeated.sh b/t/stdinc-no-repeated.sh
index 40b855d..c0df3a0 100644
--- a/t/stdinc-no-repeated.sh
+++ b/t/stdinc-no-repeated.sh
@@ -36,16 +36,14 @@ $AUTOMAKE --add-missing
 mkdir build
 cd build
 ../configure
-$MAKE V=1 > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O V=1
 grep '.*-I *\. .*-I *\.\. ' stdout
 grep '.*-I *\. .*-I *\. ' stdout && exit 1
 cd ..
 
 # Test with $builddir = $srcdir
 ./configure
-$MAKE V=1 > stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O V=1
 grep '.*-I *\.  ' stdout
 grep '.*-I *\..*-I *\.' stdout && exit 1
 
diff --git a/t/test-driver-custom-multitest-recheck2.sh 
b/t/test-driver-custom-multitest-recheck2.sh
index eee7a64..bc51292 100644
--- a/t/test-driver-custom-multitest-recheck2.sh
+++ b/t/test-driver-custom-multitest-recheck2.sh
@@ -93,8 +93,7 @@ for vpath in : false; do
   rm -f *.run
 
   : An empty '$(TESTS)' means that no test should be run.
-  run_make TESTS= recheck >stdout || { cat stdout; exit 1; }
-  cat stdout
+  run_make -O TESTS= recheck
   count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
   test ! -e a.run
   test ! -e b.run
diff --git a/t/test-extensions-funny-chars.sh b/t/test-extensions-funny-chars.sh
index a3a06a2..a19f6e8 100644
--- a/t/test-extensions-funny-chars.sh
+++ b/t/test-extensions-funny-chars.sh
@@ -83,8 +83,7 @@ $AUTOMAKE -a
 
 ./configure
 
-st=0; $MAKE check >stdout || st=$?
-cat stdout
+run_make -e IGNORE -O check
 ls -l
 cat test-suite.log
 cat foo.log
@@ -94,7 +93,7 @@ grep '@K @K @K' baz.log
 cat bar.log
 cat zardoz.log
 grep 'Hello Zardoz' zardoz.log && exit 1
-test $st -eq 0 || exit 1
+test $am_make_rc -eq 0
 count_all
 
 $MAKE clean
@@ -104,9 +103,7 @@ test ! -f bar.log
 test ! -f baz.log
 test ! -f zardoz.log
 
-st=0
-$MAKE check TESTS=zardoz L!NU.X_LOG_COMPILER=/bin/sh >stdout || st=$?
-cat stdout
+run_make -O check TESTS=zardoz L!NU.X_LOG_COMPILER=/bin/sh
 count_test_results total=1 pass=0 fail=0 skip=0 xfail=0 xpass=1 error=0
 cat test-suite.log
 test ! -f foo.log
@@ -114,19 +111,16 @@ test ! -f bar.log
 test ! -f baz.log
 cat zardoz.log
 grep 'Hello Zardoz' zardoz.log
-test $st -gt 0 || exit 1
+test $am_make_rc -eq 0
 
-$MAKE recheck >stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O recheck
 count_test_results total=1 pass=0 fail=0 skip=0 xfail=1 xpass=0 error=0
 grep '^XFAIL: zardoz.l!Nu\.x$' stdout
 
-$MAKE recheck >stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O recheck
 count_test_results total=0 pass=0 fail=0 skip=0 xfail=0 xpass=0 error=0
 
-$MAKE distcheck >stdout || { cat stdout; exit 1; }
-cat stdout
+run_make -O distcheck
 count_all
 
 :
diff --git a/t/test-extensions-invalid.sh b/t/test-extensions-invalid.sh
index fba3aff..1918d84 100644
--- a/t/test-extensions-invalid.sh
+++ b/t/test-extensions-invalid.sh
@@ -32,8 +32,7 @@ $AUTOMAKE -a
 
 ./configure
 
-$MAKE 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_make -E -e FAIL
 for suf in mu x1 _ x2; do
   $FGREP "invalid test extension: '$suf'" stderr
 done
diff --git a/t/var-undef-append.sh b/t/var-undef-append.sh
index 179170c..6a13825 100644
--- a/t/var-undef-append.sh
+++ b/t/var-undef-append.sh
@@ -91,7 +91,7 @@ $AUTOCONF
 
 checkit ()
 {
-  $MAKE "$@" 2>stderr && test ! -s stderr || { cat stderr >&2; exit 1; }
+  run_make -E -- "$@" && test ! -s stderr
 }
 
 checkit test1
diff --git a/t/vartypos-deps.sh b/t/vartypos-deps.sh
index 7837866..a1c29e5 100644
--- a/t/vartypos-deps.sh
+++ b/t/vartypos-deps.sh
@@ -85,15 +85,13 @@ $MAKE
 (cd ok2 && $MAKE)
 
 cd ko1
-$MAKE 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_make -E -e FAIL
 errgrep LOG
 errgrep TEST_LOG
 cd ..
 
 cd ko2
-$MAKE 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_make -E -e FAIL
 errgrep SH_LOG
 errgrep CONFIG
 errgrep CONFIGSTATUS
diff --git a/t/vartypos-whitelist.sh b/t/vartypos-whitelist.sh
index ef0e359..d5ab941 100644
--- a/t/vartypos-whitelist.sh
+++ b/t/vartypos-whitelist.sh
@@ -105,14 +105,12 @@ $MAKE distcheck
 # If we remove the whitelisting, failure ensues.
 sed '/^AM_VARTYPOS_WHITELIST *=/d' <Makefile.am >t && mv -f t Makefile.am \
   || fatal_ "editing Makefile.am"
-$MAKE 2>stderr && { cat stderr; exit 1; }
-cat stderr >&2
+run_make -e FAIL -E
 grep "'copy_LDADD' is defined but no program" stderr
 grep "'remove_LDADD' is defined but no program" stderr
 
-$MAKE AM_VARTYPOS_WHITELIST=remove_LDADD AM_FORCE_SANITY_CHECK=yes \
-  2>stderr && { cat stderr; exit 1; }
-cat stderr >&2
+run_make -e FAIL -E \
+  AM_VARTYPOS_WHITELIST=remove_LDADD AM_FORCE_SANITY_CHECK=yes
 grep "'copy_LDADD' is defined but no program" stderr
 grep "remove_LDADD" stderr && exit 1
 
diff --git a/t/vartypos.sh b/t/vartypos.sh
index 6c22d64..2f0c5ad 100644
--- a/t/vartypos.sh
+++ b/t/vartypos.sh
@@ -86,8 +86,7 @@ $AUTOCONF
 $AUTOMAKE -a
 
 ./configure
-$MAKE nihil 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_make -E -e FAIL nihil
 
 $FGREP 'as canonical' stderr \
   | $EGREP -v " '(foo|libfoo_a|libbar_la)' " && exit 1
@@ -107,8 +106,7 @@ $MAKE nihil
 $sleep
 echo none_SOURCES = >> Makefile.am
 
-$MAKE nihil 2>stderr && { cat stderr >&2; exit 1; }
-cat stderr >&2
+run_make -E -e FAIL nihil
 
 grep "variable 'none_SOURCES'" stderr
 grep "'none' as canonical name" stderr
-- 
1.8.3.rc3.8.g5e49f30




reply via email to

[Prev in Thread] Current Thread [Next in Thread]