summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2010-10-17 02:36:56 +0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2010-10-18 16:20:19 -0700
commitcc4e48fc1eafdb9bec037f10c22708a26fd25ef6 (patch)
tree436387a4e210abb6f414b3b86a49da44451c50bf
parentMerge branch 'maint' (diff)
downloadtgif-cc4e48fc1eafdb9bec037f10c22708a26fd25ef6.tar.xz
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>
-rw-r--r--t/lib-terminal.sh28
-rwxr-xr-xt/t7006-pager.sh31
-rwxr-xr-xt/test-terminal.perl (renamed from t/t7006/test-terminal.perl)0
3 files changed, 29 insertions, 30 deletions
diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh
new file mode 100644
index 0000000000..6fc33db6c1
--- /dev/null
+++ b/t/lib-terminal.sh
@@ -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
diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
index fb744e3c4a..17e54d3e68 100755
--- a/t/t7006-pager.sh
+++ b/t/t7006-pager.sh
@@ -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 &&
diff --git a/t/t7006/test-terminal.perl b/t/test-terminal.perl
index 73ff809371..73ff809371 100755
--- a/t/t7006/test-terminal.perl
+++ b/t/test-terminal.perl