summaryrefslogtreecommitdiff
path: root/t/lib-terminal.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-03-25 18:08:09 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-03-25 18:08:09 (GMT)
commit66d913367d2344f313210e6441bd41e975a47b1d (patch)
tree7a0965034e8afa0bbeb9a2961f961cfe3bbb720f /t/lib-terminal.sh
parent2f2db83fb77e8c639f8b8ebeab97d92c492d721c (diff)
parent7e27173ef9152fe93d3fc42b60febbc782e4db16 (diff)
downloadgit-66d913367d2344f313210e6441bd41e975a47b1d.zip
git-66d913367d2344f313210e6441bd41e975a47b1d.tar.gz
git-66d913367d2344f313210e6441bd41e975a47b1d.tar.bz2
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.sh37
1 files changed, 19 insertions, 18 deletions
diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh
index 9a2dca5..5184549 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"
'