Skip to content

Commit 562eeac

Browse files
committed
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 781f76b(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 <[email protected]>
1 parent d307bce commit 562eeac

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

t/test-lib.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
# for git on windows so stdin will not be misdetected as attached to a
1919
# terminal
20+
test -z "$TEST_NO_REDIRECT" ||
2021
exec < /dev/null
2122

2223
# Keep the original TERM for say_color
@@ -511,7 +512,12 @@ test_eval_ () {
511512
# The test itself is run with stderr put back to &4 (so either to
512513
# /dev/null, or to the original stderr if --verbose was used).
513514
{
514-
test_eval_inner_ "$@" </dev/null >&3 2>&4
515+
if test -z "$TEST_NO_REDIRECT"
516+
then
517+
test_eval_inner_ "$@" </dev/null >&3 2>&4
518+
else
519+
test_eval_inner_ "$@"
520+
fi
515521
test_eval_ret_=$?
516522
if test "$trace" = t
517523
then

0 commit comments

Comments
 (0)