|  | # Helpers for terminal output tests. | 
|  |  | 
|  | # Catch tests which should depend on TTY but forgot to. There's no need | 
|  | # to additionally 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 "$@" 2>&7 | 
|  | } 7>&2 2>&4 | 
|  |  | 
|  | 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" | 
|  | ' |