summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2010-10-17 02:36:59 +0800
committerJunio C Hamano <gitster@pobox.com>2010-10-18 16:20:19 -0700
commit996621eb4d4f7014a6542778420dd23b1d428896 (patch)
tree2d880243696fc14b0f658130b2eeafd8e48de551
parent05236a5e9d29a2628a8f1de96a2a256185687e6c (diff)
downloadgit-996621eb4d4f7014a6542778420dd23b1d428896.tar.gz
test_terminal: catch use without TTY prerequisite
It is easy to forget to declare the TTY prerequisite when writing tests on a system where it would always be satisfied (because IO::Pty is installed; see v1.7.3-rc0~33^2, 2010-08-16 for example). Automatically detect this problem so there is no need to remember. test_terminal: need to declare TTY prerequisite test_must_fail: command not found: test_terminal echo hi test_terminal returns status 127 in this case to simulate not being available. Also replace the SIMPLEPAGERTTY prerequisite on one test with "SIMPLEPAGER,TTY", since (1) the latter is supported now and (2) the prerequisite detection relies on the TTY prereq being explicitly declared. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--t/lib-terminal.sh13
-rwxr-xr-xt/t7006-pager.sh7
2 files changed, 12 insertions, 8 deletions
diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh
index 3258b8f0d5..5e7ee9a5c7 100644
--- a/t/lib-terminal.sh
+++ b/t/lib-terminal.sh
@@ -15,14 +15,23 @@ test_expect_success 'set up terminal for tests' '
if test -e have_tty
then
- test_terminal() { "$@"; }
+ test_terminal_() { "$@"; }
test_set_prereq TTY
elif test -e test_terminal_works
then
- test_terminal() {
+ test_terminal_() {
"$PERL_PATH" "$TEST_DIRECTORY"/test-terminal.perl "$@"
}
test_set_prereq TTY
else
say "# no usable terminal, so skipping some tests"
fi
+
+test_terminal () {
+ if ! test_declared_prereq TTY
+ then
+ echo >&2 'test_terminal: need to declare TTY prerequisite'
+ return 127
+ fi
+ test_terminal_ "$@"
+}
diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
index 17e54d3e68..5641b59559 100755
--- a/t/t7006-pager.sh
+++ b/t/t7006-pager.sh
@@ -184,11 +184,6 @@ test_expect_success 'color when writing to a file intended for a pager' '
colorful colorful.log
'
-if test_have_prereq SIMPLEPAGER && test_have_prereq TTY
-then
- test_set_prereq SIMPLEPAGERTTY
-fi
-
# Use this helper to make it easy for the caller of your
# terminal-using function to specify whether it should fail.
# If you write
@@ -224,7 +219,7 @@ parse_args() {
test_default_pager() {
parse_args "$@"
- $test_expectation SIMPLEPAGERTTY "$cmd - default pager is used by default" "
+ $test_expectation SIMPLEPAGER,TTY "$cmd - default pager is used by default" "
unset PAGER GIT_PAGER;
test_might_fail git config --unset core.pager &&
rm -f default_pager_used ||