test_terminal: catch use without TTY prerequisite
[git/jnareb-git.git] / t / lib-terminal.sh
blob5e7ee9a5c7ea33a5911006d6a19de0f3cbe121b9
1 #!/bin/sh
3 test_expect_success 'set up terminal for tests' '
4 if test -t 1 && test -t 2
5 then
6 >have_tty
7 elif
8 test_have_prereq PERL &&
9 "$PERL_PATH" "$TEST_DIRECTORY"/test-terminal.perl \
10 sh -c "test -t 1 && test -t 2"
11 then
12 >test_terminal_works
16 if test -e have_tty
17 then
18 test_terminal_() { "$@"; }
19 test_set_prereq TTY
20 elif test -e test_terminal_works
21 then
22 test_terminal_() {
23 "$PERL_PATH" "$TEST_DIRECTORY"/test-terminal.perl "$@"
25 test_set_prereq TTY
26 else
27 say "# no usable terminal, so skipping some tests"
30 test_terminal () {
31 if ! test_declared_prereq TTY
32 then
33 echo >&2 'test_terminal: need to declare TTY prerequisite'
34 return 127
36 test_terminal_ "$@"