* [PATCH v4] Allow TTY tests to run under recent Mac OS
@ 2014-11-14 20:13 Mike Blume
2014-11-14 20:20 ` Junio C Hamano
2014-11-14 23:21 ` Jonathan Nieder
0 siblings, 2 replies; 5+ messages in thread
From: Mike Blume @ 2014-11-14 20:13 UTC (permalink / raw)
To: git; +Cc: Mike Blume, Junio C Hamano
TTY tests were previously skipped on all Mac OS systems because of a
bug where reading from pty master occasionally hung. This bug has since
been found not to be reproducible under Mac OS 10.9 and 10.10.1.
Therefore, run TTY tests under Mac OS 10.9 (Mavericks) and higher.
Signed-off-by: Mike Blume <blume.mike@gmail.com>
Improved-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Improved-by: John Szakmeister <john@szakmeister.net>
Improved-by: Johannes Sixt <j6t@kdbg.org>
Improved-by: Jeff King <peff@peff.net>
---
t/lib-terminal.sh | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh
index 5184549..275fb09 100644
--- a/t/lib-terminal.sh
+++ b/t/lib-terminal.sh
@@ -29,7 +29,12 @@ test_lazy_prereq TTY '
# After 2000 iterations or so it hangs.
# https://rt.cpan.org/Ticket/Display.html?id=65692
#
- test "$(uname -s)" != Darwin &&
+ # Under Mac OS X 10.9, this problem appears to be gone.
+ #
+ {
+ test "$(uname -s)" != Darwin ||
+ test "$(uname -r | cut -d. -f1)" -ge 13
+ } &&
perl "$TEST_DIRECTORY"/test-terminal.perl \
sh -c "test -t 1 && test -t 2"
--
2.2.0.rc1.197.g60bf093
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v4] Allow TTY tests to run under recent Mac OS
2014-11-14 20:13 [PATCH v4] Allow TTY tests to run under recent Mac OS Mike Blume
@ 2014-11-14 20:20 ` Junio C Hamano
2014-11-14 23:21 ` Jonathan Nieder
1 sibling, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2014-11-14 20:20 UTC (permalink / raw)
To: Mike Blume; +Cc: git
Mike Blume <blume.mike@gmail.com> writes:
> TTY tests were previously skipped on all Mac OS systems because of a
> bug where reading from pty master occasionally hung. This bug has since
> been found not to be reproducible under Mac OS 10.9 and 10.10.1.
>
> Therefore, run TTY tests under Mac OS 10.9 (Mavericks) and higher.
>
> Signed-off-by: Mike Blume <blume.mike@gmail.com>
> Improved-by: Junio C Hamano <gitster@pobox.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> Improved-by: John Szakmeister <john@szakmeister.net>
> Improved-by: Johannes Sixt <j6t@kdbg.org>
> Improved-by: Jeff King <peff@peff.net>
> ---
The patch in this round looks good. Will queue.
Thanks all who helped.
> t/lib-terminal.sh | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh
> index 5184549..275fb09 100644
> --- a/t/lib-terminal.sh
> +++ b/t/lib-terminal.sh
> @@ -29,7 +29,12 @@ test_lazy_prereq TTY '
> # After 2000 iterations or so it hangs.
> # https://rt.cpan.org/Ticket/Display.html?id=65692
> #
> - test "$(uname -s)" != Darwin &&
> + # Under Mac OS X 10.9, this problem appears to be gone.
> + #
> + {
> + test "$(uname -s)" != Darwin ||
> + test "$(uname -r | cut -d. -f1)" -ge 13
> + } &&
>
> perl "$TEST_DIRECTORY"/test-terminal.perl \
> sh -c "test -t 1 && test -t 2"
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] Allow TTY tests to run under recent Mac OS
2014-11-14 20:13 [PATCH v4] Allow TTY tests to run under recent Mac OS Mike Blume
2014-11-14 20:20 ` Junio C Hamano
@ 2014-11-14 23:21 ` Jonathan Nieder
2014-11-14 23:29 ` Junio C Hamano
2014-11-15 0:14 ` John Szakmeister
1 sibling, 2 replies; 5+ messages in thread
From: Jonathan Nieder @ 2014-11-14 23:21 UTC (permalink / raw)
To: Mike Blume; +Cc: git, Junio C Hamano, dborowitz
Hi,
Mike Blume wrote:
> TTY tests were previously skipped on all Mac OS systems because of a
> bug where reading from pty master occasionally hung. This bug has since
> been found not to be reproducible under Mac OS 10.9 and 10.10.1.
>
> Therefore, run TTY tests under Mac OS 10.9 (Mavericks) and higher.
*puzzled* Testing on Yosemite with the following script[1]
perl -MIO::Pty -MFile::Copy -e '
for (my $i = 0;; $i++) {
my $master = new IO::Pty;
my $slave = $master->slave;
if (fork == 0) {
close $master or die "close: $!";
open STDOUT, ">&", $slave or die "dup2: $!";
close $slave or die "close: $!";
exec("echo", "hi", $i) or die "exec: $!";
}
close $slave or die "close: $!";
copy($master, \*STDOUT) or die "copy: $!";
close $master or die "close: $!";
wait;
}
'
still seems to hang eventually (after 61 iterations when my officemate
tried it), reproducing the bug.
Do you get a different result?
The bug was originally found in an autobuilder that would run the test
suite when new versions were pushed to check for regressions. Even if
the hang only happened 0.1% of the time, that would get the
autobuilder stuck after a while, which was how the problem got
noticed.
Thanks,
Jonathan
[1] https://rt.cpan.org/Public/Bug/Display.html?id=65692
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] Allow TTY tests to run under recent Mac OS
2014-11-14 23:21 ` Jonathan Nieder
@ 2014-11-14 23:29 ` Junio C Hamano
2014-11-15 0:14 ` John Szakmeister
1 sibling, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2014-11-14 23:29 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Mike Blume, git, dborowitz
Jonathan Nieder <jrnieder@gmail.com> writes:
> *puzzled* Testing on Yosemite with the following script[1]
> ...
> still seems to hang eventually (after 61 iterations when my officemate
> tried it), reproducing the bug.
Thanks. I've merged it to 'next' and pushed out the result already,
but we may probably have to drop it.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] Allow TTY tests to run under recent Mac OS
2014-11-14 23:21 ` Jonathan Nieder
2014-11-14 23:29 ` Junio C Hamano
@ 2014-11-15 0:14 ` John Szakmeister
1 sibling, 0 replies; 5+ messages in thread
From: John Szakmeister @ 2014-11-15 0:14 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Mike Blume, git, Junio C Hamano, dborowitz
On Fri, Nov 14, 2014 at 6:21 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Hi,
>
> Mike Blume wrote:
>
>> TTY tests were previously skipped on all Mac OS systems because of a
>> bug where reading from pty master occasionally hung. This bug has since
>> been found not to be reproducible under Mac OS 10.9 and 10.10.1.
>>
>> Therefore, run TTY tests under Mac OS 10.9 (Mavericks) and higher.
>
> *puzzled* Testing on Yosemite with the following script[1]
>
> perl -MIO::Pty -MFile::Copy -e '
> for (my $i = 0;; $i++) {
> my $master = new IO::Pty;
> my $slave = $master->slave;
> if (fork == 0) {
> close $master or die "close: $!";
> open STDOUT, ">&", $slave or die "dup2: $!";
> close $slave or die "close: $!";
> exec("echo", "hi", $i) or die "exec: $!";
> }
> close $slave or die "close: $!";
> copy($master, \*STDOUT) or die "copy: $!";
> close $master or die "close: $!";
> wait;
> }
> '
>
> still seems to hang eventually (after 61 iterations when my officemate
> tried it), reproducing the bug.
>
> Do you get a different result?
Interesting. It took quite a while, but it did finally fail on my
Mavericks box on the 115,140th iteration.
> The bug was originally found in an autobuilder that would run the test
> suite when new versions were pushed to check for regressions. Even if
> the hang only happened 0.1% of the time, that would get the
> autobuilder stuck after a while, which was how the problem got
> noticed.
Eek... that's nasty.
-John
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-11-15 0:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-14 20:13 [PATCH v4] Allow TTY tests to run under recent Mac OS Mike Blume
2014-11-14 20:20 ` Junio C Hamano
2014-11-14 23:21 ` Jonathan Nieder
2014-11-14 23:29 ` Junio C Hamano
2014-11-15 0:14 ` John Szakmeister
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.