mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
tests: factor out terminal handling from t7006
Other tests besides the pager ones may want to check how we handle output to a terminal. This patch makes the code reusable. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c752e7f3e8
commit
cc4e48fc1e
28
t/lib-terminal.sh
Normal file
28
t/lib-terminal.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
test_expect_success 'set up terminal for tests' '
|
||||
if test -t 1
|
||||
then
|
||||
>stdout_is_tty
|
||||
elif
|
||||
test_have_prereq PERL &&
|
||||
"$PERL_PATH" "$TEST_DIRECTORY"/test-terminal.perl \
|
||||
sh -c "test -t 1"
|
||||
then
|
||||
>test_terminal_works
|
||||
fi
|
||||
'
|
||||
|
||||
if test -e stdout_is_tty
|
||||
then
|
||||
test_terminal() { "$@"; }
|
||||
test_set_prereq TTY
|
||||
elif test -e test_terminal_works
|
||||
then
|
||||
test_terminal() {
|
||||
"$PERL_PATH" "$TEST_DIRECTORY"/test-terminal.perl "$@"
|
||||
}
|
||||
test_set_prereq TTY
|
||||
else
|
||||
say "# no usable terminal, so skipping some tests"
|
||||
fi
|
@ -4,42 +4,13 @@ test_description='Test automatic use of a pager.'
|
||||
|
||||
. ./test-lib.sh
|
||||
. "$TEST_DIRECTORY"/lib-pager.sh
|
||||
. "$TEST_DIRECTORY"/lib-terminal.sh
|
||||
|
||||
cleanup_fail() {
|
||||
echo >&2 cleanup failed
|
||||
(exit 1)
|
||||
}
|
||||
|
||||
test_expect_success 'set up terminal for tests' '
|
||||
rm -f stdout_is_tty ||
|
||||
cleanup_fail &&
|
||||
|
||||
if test -t 1
|
||||
then
|
||||
>stdout_is_tty
|
||||
elif
|
||||
test_have_prereq PERL &&
|
||||
"$PERL_PATH" "$TEST_DIRECTORY"/t7006/test-terminal.perl \
|
||||
sh -c "test -t 1"
|
||||
then
|
||||
>test_terminal_works
|
||||
fi
|
||||
'
|
||||
|
||||
if test -e stdout_is_tty
|
||||
then
|
||||
test_terminal() { "$@"; }
|
||||
test_set_prereq TTY
|
||||
elif test -e test_terminal_works
|
||||
then
|
||||
test_terminal() {
|
||||
"$PERL_PATH" "$TEST_DIRECTORY"/t7006/test-terminal.perl "$@"
|
||||
}
|
||||
test_set_prereq TTY
|
||||
else
|
||||
say "# no usable terminal, so skipping some tests"
|
||||
fi
|
||||
|
||||
test_expect_success 'setup' '
|
||||
unset GIT_PAGER GIT_PAGER_IN_USE;
|
||||
test_might_fail git config --unset core.pager &&
|
||||
|
Loading…
Reference in New Issue
Block a user