Tests: optionally skip redirecting stdin/stdout/stderr

There is a really useful debugging technique developed by Sverre
Rabbelier that inserts "bash &&" somewhere in the test scripts, letting
the developer interact at given points with the current state.

Another debugging technique, used a lot by this here coder, is to run
certain executables via gdb by guarding a "gdb -args" call in
bin-wrappers/git.

Both techniques were disabled by 781f76b1(test-lib: redirect stdin of
tests).

Let's reinstate the ability to run an interactive shell by making the
redirection optional: setting the TEST_NO_REDIRECT environment variable
will skip the redirection.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin
2015-02-20 14:21:04 +00:00
parent a9b3c2b408
commit 5c658f4f5b

View File

@@ -17,6 +17,7 @@
# for git on windows so stdin will not be misdetected as attached to a
# terminal
test -z "$TEST_NO_REDIRECT" ||
exec < /dev/null
# Keep the original TERM for say_color
@@ -524,7 +525,12 @@ maybe_setup_valgrind () {
test_eval_ () {
# This is a separate function because some tests use
# "return" to end a test_expect_success block early.
eval </dev/null >&3 2>&4 "$*"
if test -z "$TEST_NO_REDIRECT"
then
eval </dev/null >&3 2>&4 "$*"
else
eval "$*"
fi
}
test_run_ () {