]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/lib-terminal.sh
tests: factor out terminal handling from t7006
[thirdparty/git.git] / t / lib-terminal.sh
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