Hi,
I've finally got around to a proper breakdown of the rakudo test
failures caused by the whiteknight/io_cleanup1 branch. Sorry that it
took that long.
There are two blocks of failing tests in t/spec/S32-io/IO-Socket-INET.t.
The first block is the discrepancy about .read(4) reading 4 bytes but
returning a string in parrot/master. I'm happy to address this on the
Rakudo side (and tests) once the branch is merged. I like the new
behavior better.
The second block is related to $socket.readline($sep) behaving
differently from parrot/master with a non-\n separator (the first test
that fails uses "\r\n" as a separator). I haven't tracked down what the
exact bug is, but since those tests pass with parrot/master, I guess
it's parrot regression.
Finally there are two failing tests in t/spec/S16-filehandles/io.t.
The cause here seems to be that $IO.read_bytes($n) reads $n bytes no
matter what, even beyond the end of the file:
$ hexdump -C io.test.data
00000000 66 f6 f6 |f..|
00000003
$ ./perl6 -e 'my $f = open("io.test.data", :bin); say $f.read(10)'
Buf:0x<66 f6 f6 d2 57 2b 00 00 a0 17>
(Rakudo's IO.read calls the read_bytes method from parrots file handle)
So it gives me the 10 bytes I asked for, even though it should have
stopped after 3 bytes.
Once the latter two regressions (readline separator and reading past the
end of the file) are fixed, I'm happy to have the branch merged.
Cheers,
Moritz
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev