mirror of
https://github.com/git/git.git
synced 2026-01-22 16:38:48 +00:00
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:
@@ -608,6 +608,20 @@ test_eval_ () {
|
||||
#
|
||||
# The test itself is run with stderr put back to &4 (so either to
|
||||
# /dev/null, or to the original stderr if --verbose was used).
|
||||
if test -n "$TEST_NO_REDIRECT"
|
||||
then
|
||||
test_eval_inner_ "$@"
|
||||
test_eval_ret_=$?
|
||||
if test "$trace" = t
|
||||
then
|
||||
set +x
|
||||
if test "$test_eval_ret_" != 0
|
||||
then
|
||||
say_color error >&4 "error: last command exited with \$?=$test_eval_ret_"
|
||||
fi
|
||||
fi
|
||||
return $test_eval_ret_
|
||||
fi
|
||||
{
|
||||
test_eval_inner_ "$@" </dev/null >&3 2>&4
|
||||
test_eval_ret_=$?
|
||||
|
||||
Reference in New Issue
Block a user