]> granicus.if.org Git - git/commitdiff
tests: factor out terminal handling from t7006
authorJeff King <peff@peff.net>
Sat, 16 Oct 2010 18:36:56 +0000 (02:36 +0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 18 Oct 2010 23:20:19 +0000 (16:20 -0700)
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>
t/lib-terminal.sh [new file with mode: 0644]
t/t7006-pager.sh
t/test-terminal.perl [moved from t/t7006/test-terminal.perl with 100% similarity]

diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh
new file mode 100644 (file)
index 0000000..6fc33db
--- /dev/null
@@ -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
index fb744e3c4a9a19d9285fc04053044242ffed0c65..17e54d3e684f4ad786964694596be3723be5a7dd 100755 (executable)
@@ -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 &&