From: Junio C Hamano Date: Thu, 3 Apr 2014 20:39:04 +0000 (-0700) Subject: Merge branch 'jk/lib-terminal-lazy' into maint X-Git-Tag: v1.9.2~13 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/e99a69da6b99affced1dc09dddf5df8b2998330a?ds=inline;hp=-c Merge branch 'jk/lib-terminal-lazy' into maint * jk/lib-terminal-lazy: t/lib-terminal: make TTY a lazy prerequisite --- e99a69da6b99affced1dc09dddf5df8b2998330a diff --combined t/lib-terminal.sh index 9a2dca506a,920da3ab18..51845491bb --- a/t/lib-terminal.sh +++ b/t/lib-terminal.sh @@@ -1,6 -1,20 +1,20 @@@ -#!/bin/sh +# Helpers for terminal output tests. - test_expect_success PERL 'set up terminal for 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. # @@@ -15,21 -29,8 +29,8 @@@ # After 2000 iterations or so it hangs. # https://rt.cpan.org/Ticket/Display.html?id=65692 # - if test "$(uname -s)" = Darwin - then - : - elif - perl "$TEST_DIRECTORY"/test-terminal.perl \ - sh -c "test -t 1 && test -t 2" - then - test_set_prereq TTY && - 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 "$@" - } - fi + test "$(uname -s)" != Darwin && + + perl "$TEST_DIRECTORY"/test-terminal.perl \ + sh -c "test -t 1 && test -t 2" '