test_terminal: catch use without TTY prerequisite
[gitweb.git] / t / lib-terminal.sh
index 3258b8f0d5c36e0450ac5421b39b1ff4b3c379d0..5e7ee9a5c7ea33a5911006d6a19de0f3cbe121b9 100644 (file)
@@ -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_ "$@"
+}