summaryrefslogtreecommitdiff
path: root/t/tests-environment-fd-redirect.sh
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2013-05-21 20:22:17 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2013-05-22 00:05:19 +0200
commitc7cfa09349bb588b71ea7adffa385034465b1b09 (patch)
tree37f3012b340ce6eb1ddb54c204db63b4fdddf36d /t/tests-environment-fd-redirect.sh
parenta422365b7cbd5cdaa8e3f36e14d5480c22f8cb6f (diff)
downloadautomake-c7cfa09349bb588b71ea7adffa385034465b1b09.tar.gz
tests: run_make: options to do command redirection
Let's improve the API of the 'run_make()' helper shell function by adding three new options: -O Save the standard output from make on disk, in a regular file named 'stdout'. -E Save the standard error from make on disk, in a regular file named 'stderr'. -M Save both the standard output and standard error from make on disk, in a regular file named 'output'. This option supersedes both the '-O' and '-E' options. This new API has two main advantages. 1. Its use will allow us to get rid of more cumbersome idioms like, e.g., $MAKE check >stdout && { cat stdout; exit 1; } cat stdout That can now be substituted with a simpler one: run_make -e FAIL -O check 2. More importantly, using the new API we will prevent any extra output from the shell traces of the code in run_make to be redirected along with the make stderr (where that was redirected). This problem was present in usages like, e.g., run_make TESTS=foo.test check 2>stderr && exit 1 grep 'expected error message' stderr Such usages are now to be rewritten as follows: run_make -e FAIL -E TESTS=foo.test check grep 'expected error message' stderr ensuring that 'stderr' won't end up containing unrelated stuff. Note that we do not convert in bulk the old idioms and the use of redirected 'run_make' invocations with this patch. We only convert some occurrences, to ensure that the new implementation of 'run_make' is sound enough. More sweeping conversions will likely be done in follow-up patches. * t/ax/am-test-lib.sh (run_make): Enhance and implement the extended API. * t/tap-xfail-tests.sh: Use the new 'run_make' API. * t/test-driver-cond.sh: Likewise. * t/tests-environment-fd-redirect.sh: Likewise. * t/uninstall-fail.sh: Likewise. * t/yacc-dist-nobuild.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/tests-environment-fd-redirect.sh')
-rw-r--r--t/tests-environment-fd-redirect.sh3
1 files changed, 1 insertions, 2 deletions
diff --git a/t/tests-environment-fd-redirect.sh b/t/tests-environment-fd-redirect.sh
index 243174acb..c08d5c666 100644
--- a/t/tests-environment-fd-redirect.sh
+++ b/t/tests-environment-fd-redirect.sh
@@ -79,8 +79,7 @@ for sh in "$SHELL" "$bin_ksh"; do
END
$AUTOMAKE -a
CONFIG_SHELL="$sh" $sh ./configure CONFIG_SHELL="$sh"
- VERBOSE=y $MAKE check >stdout || { cat stdout; exit 1; }
- cat stdout
+ run_make -O VERBOSE=y check
grep '[ /]foo\.test: foofoofoo$' stdout
grep '[ /]foo\.test: barbarbar$' stdout
grep '[ /]bar\.test: 8888$' stdout