Jeff King <peff@xxxxxxxx> writes: > One option would be to _always_ define test_terminal.... That looks like the right direction to go. > Something like the patch below (looks like we should be using $PERL_PATH > instead of "perl", too). ;-) Also a SP between test_terminal and (), perhaps. > diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh > index 9a2dca5..55b708f 100644 > --- a/t/lib-terminal.sh > +++ b/t/lib-terminal.sh > @@ -1,35 +1,36 @@ > # 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 check that TTY is set here. If the test declared it and we are running > +# it, then it is 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 > # > - 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" > ' -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html