diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-03-25 22:08:09 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-03-25 22:08:09 +0400 |
commit | 66d913367d2344f313210e6441bd41e975a47b1d (patch) | |
tree | 7a0965034e8afa0bbeb9a2961f961cfe3bbb720f /t/lib-terminal.sh | |
parent | 2f2db83fb77e8c639f8b8ebeab97d92c492d721c (diff) | |
parent | 7e27173ef9152fe93d3fc42b60febbc782e4db16 (diff) |
Merge branch 'jk/lib-terminal-lazy'
The test helper lib-terminal always run an actual test_expect_* when
included, which screwed up with the use of skil-all that may have to
be done later.
* jk/lib-terminal-lazy:
t/lib-terminal: make TTY a lazy prerequisite
Diffstat (limited to 't/lib-terminal.sh')
-rw-r--r-- | t/lib-terminal.sh | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh index 9a2dca506a..51845491bb 100644 --- a/t/lib-terminal.sh +++ b/t/lib-terminal.sh @@ -1,6 +1,20 @@ # 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 @@ test_expect_success PERL 'set up terminal for tests' ' # 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" ' |