summaryrefslogtreecommitdiff
path: root/commit.c
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2010-10-16 19:38:07 -0500
committerJunio C Hamano <gitster@pobox.com>2010-10-18 16:20:19 -0700
commite674c17db25750f14c1dd1d8f588eb3135b5cea9 (patch)
tree05a57d86b9ba2bc5cf9b045d36f6f13a73173fe6 /commit.c
parent996621eb4d4f7014a6542778420dd23b1d428896 (diff)
downloadgit-e674c17db25750f14c1dd1d8f588eb3135b5cea9.tar.gz
test_terminal: ensure redirections work reliably
For terminal tests that capture output/stderr, the TTY prerequisite warning does not quite work for commands like test_terminal foo >out 2>err because the warning gets "swallowed" up by the redirection that's supposed only to be done by the subcommand. Even worse, the outcome depends on whether stdout was already a terminal (in which case test_terminal is a noop) or not (in which case test_terminal introduces a pseudo-tty in the middle of the pipeline). $ test_terminal.perl sh -c 'test -t 1 && echo >&2 YES' >out YES $ sh -c 'test -t 1 && echo >&2 YES' >out $ So: - use the test_terminal script even when running with "-v". - skip tests that require a terminal when the test_terminal script is unusable because IO::Pty is not installed. - write the "need to declare TTY prerequisite" message to fd 4, where it will be printed when running tests with -v, rather than being swallowed up by an unrelated redireciton. Noticed-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit.c')
0 files changed, 0 insertions, 0 deletions