mirror of
https://github.com/git/git.git
synced 2024-12-01 22:13:45 +08:00
e99a69da6b
* jk/lib-terminal-lazy: t/lib-terminal: make TTY a lazy prerequisite
37 lines
929 B
Bash
37 lines
929 B
Bash
# Helpers for terminal output tests.
|
|
|
|
# Catch tests which should depend on TTY but forgot to. There's no need
|
|
# to aditionally check that the TTY prereq is set here. If the test declared
|
|
# it and we are running the test, then it must have been set.
|
|
test_terminal () {
|
|
if ! test_declared_prereq TTY
|
|
then
|
|
echo >&4 "test_terminal: need to declare TTY prerequisite"
|
|
return 127
|
|
fi
|
|
perl "$TEST_DIRECTORY"/test-terminal.perl "$@"
|
|
}
|
|
|
|
test_lazy_prereq TTY '
|
|
test_have_prereq PERL &&
|
|
|
|
# Reading from the pty master seems to get stuck _sometimes_
|
|
# on Mac OS X 10.5.0, using Perl 5.10.0 or 5.8.9.
|
|
#
|
|
# Reproduction recipe: run
|
|
#
|
|
# i=0
|
|
# while ./test-terminal.perl echo hi $i
|
|
# do
|
|
# : $((i = $i + 1))
|
|
# done
|
|
#
|
|
# After 2000 iterations or so it hangs.
|
|
# https://rt.cpan.org/Ticket/Display.html?id=65692
|
|
#
|
|
test "$(uname -s)" != Darwin &&
|
|
|
|
perl "$TEST_DIRECTORY"/test-terminal.perl \
|
|
sh -c "test -t 1 && test -t 2"
|
|
'
|