[PATCH v4] Allow TTY tests to run under recent Mac OS

2014-11-14 Thread Mike Blume
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.m...@gmail.com
Improved-by: Junio C Hamano gits...@pobox.com
Signed-off-by: Junio C Hamano gits...@pobox.com
Improved-by: John Szakmeister j...@szakmeister.net
Improved-by: Johannes Sixt j...@kdbg.org
Improved-by: Jeff King p...@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

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4] Allow TTY tests to run under recent Mac OS

2014-11-14 Thread Junio C Hamano
Mike Blume blume.m...@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.m...@gmail.com
 Improved-by: Junio C Hamano gits...@pobox.com
 Signed-off-by: Junio C Hamano gits...@pobox.com
 Improved-by: John Szakmeister j...@szakmeister.net
 Improved-by: Johannes Sixt j...@kdbg.org
 Improved-by: Jeff King p...@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
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4] Allow TTY tests to run under recent Mac OS

2014-11-14 Thread Jonathan Nieder
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
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4] Allow TTY tests to run under recent Mac OS

2014-11-14 Thread Junio C Hamano
Jonathan Nieder jrnie...@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.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4] Allow TTY tests to run under recent Mac OS

2014-11-14 Thread John Szakmeister
On Fri, Nov 14, 2014 at 6:21 PM, Jonathan Nieder jrnie...@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
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html