On Sun, 28 May 2017 13:09:18 -0700, barto...@gmx.de wrote:
> Currently rakudo on JVM does not respect eof when reading from stdin.
> 
> bartolin_     r: .say for lines()
> camelia       rakudo-moar 094e77: OUTPUT: «»Wann treffen wir drei
> wieder zusamm?«␤   »Um die siebente Stund‘, am Brückendamm.«␤     »Am
> Mittelpfeiler.«␤         »Ich lösche die Flamm.«␤ »Ich mit«␤␤ »Ich
> komme vom Norden her.«␤        »Und ich vom Süden.«…»
>               ..rakudo-jvm 094e77: OUTPUT:
> «␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤␤…»
> 
> For further discussion see https://irclog.perlgeek.de/perl6-dev/2017-
> 05-27#i_14645528
> 
> I've fudged some tests in roast that were hanging due to this problem
> and I'll add this ticket number to the fudge message. Also, I'll
> disable S19-command-line/repl.t in t/spectest.data.
> 
> Those changes should be reverted, once the problem is solved.

Some of the mentioned tests are passing again (unfudged with 
https://github.com/perl6/roast/commit/9ba8d28315). Also S19-command-line/repl.t 
is enabled for the JVM backend again: 
https://github.com/rakudo/rakudo/commit/90303c1e3e

Unfortunately, there is still something wrong with some tests in S32-io/pipe.t 
(and maybe elsewhere). I think it could be caused by nqp::readfh on stdin only 
returning when eof is encountered or 0x100000 bytes are read: 
https://github.com/rakudo/rakudo/blob/90303c1e3ec9b9b5f6aaef50bed85b4a9ff6455f/src/core/IO/Handle.pm6#L280

Reply via email to