found 590002 1.9.1.378-1
Hi,
there are two failures, they have been present even in 1.9.1.378-1,
but 1.9.1.378-4 made "test suite failures on FreeBSD fatal".
Please allow failing of these two tests:
#230 test_io.rb:11:in `<top (required)>':
begin
require "io/nonblock"
r, w = IO.pipe
w.nonblock = true
w.write_nonblock("a" * 100000)
w.nonblock = false
t1 = Thread.new { w.write("b" * 4096) }
t2 = Thread.new { w.write("c" * 4096) }
sleep 0.5
r.sysread(4096).length
sleep 0.5
r.sysread(4096).length
t1.join
t2.join
rescue LoadError
end
#=> not finished in 10 seconds [ruby-dev:32566]
#926 test_thread.rb:219:in `<top (required)>':
open("zzz.rb", "w") do |f|
f.puts <<-END
begin
Thread.new { fork { GC.start } }.join
pid, status = Process.wait2
$result = status.success? ? :ok : :ng
rescue NotImplementedError
$result = :ok
end
END
end
require "zzz.rb"
$result
#=> "" (expected "ok")
FAIL 2/948 tests failed
The first one is previous number #226, which is reported in
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=543805
My comment from this #543805 report still aplies:
The test assumes that the kernel buffer for pipes have fixed size.
It does not have to be true, there could be adaptive buffer size
provided by kernel. After filling whole kernel buffer (by
non-blocking write), it might be required to buffer becomes filled
only from half
or even empty. The next write() might be blocked until whole kernel
buffer is read. Such behaviour of kernel is correct one.
The kernel of FreeBSD uses adaptive pipe sizes and direct pipe writes,
see http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/sys_pipe.c
The second one is previous number #916, which is reported in
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542927
It now seems to be very timing dependent.
Petr
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]