Skip to content
This repository was archived by the owner on Nov 9, 2017. It is now read-only.

Commit e99a69d

Browse files
committed
Merge branch 'jk/lib-terminal-lazy' into maint
* jk/lib-terminal-lazy: t/lib-terminal: make TTY a lazy prerequisite
2 parents 3dd1083 + 7e27173 commit e99a69d

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

t/lib-terminal.sh

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
# Helpers for terminal output tests.
22

3-
test_expect_success PERL 'set up terminal for tests' '
3+
# Catch tests which should depend on TTY but forgot to. There's no need
4+
# to aditionally check that the TTY prereq is set here. If the test declared
5+
# it and we are running the test, then it must have been set.
6+
test_terminal () {
7+
if ! test_declared_prereq TTY
8+
then
9+
echo >&4 "test_terminal: need to declare TTY prerequisite"
10+
return 127
11+
fi
12+
perl "$TEST_DIRECTORY"/test-terminal.perl "$@"
13+
}
14+
15+
test_lazy_prereq TTY '
16+
test_have_prereq PERL &&
17+
418
# Reading from the pty master seems to get stuck _sometimes_
519
# on Mac OS X 10.5.0, using Perl 5.10.0 or 5.8.9.
620
#
@@ -15,21 +29,8 @@ test_expect_success PERL 'set up terminal for tests' '
1529
# After 2000 iterations or so it hangs.
1630
# https://rt.cpan.org/Ticket/Display.html?id=65692
1731
#
18-
if test "$(uname -s)" = Darwin
19-
then
20-
:
21-
elif
22-
perl "$TEST_DIRECTORY"/test-terminal.perl \
23-
sh -c "test -t 1 && test -t 2"
24-
then
25-
test_set_prereq TTY &&
26-
test_terminal () {
27-
if ! test_declared_prereq TTY
28-
then
29-
echo >&4 "test_terminal: need to declare TTY prerequisite"
30-
return 127
31-
fi
32-
perl "$TEST_DIRECTORY"/test-terminal.perl "$@"
33-
}
34-
fi
32+
test "$(uname -s)" != Darwin &&
33+
34+
perl "$TEST_DIRECTORY"/test-terminal.perl \
35+
sh -c "test -t 1 && test -t 2"
3536
'

0 commit comments

Comments
 (0)