test/test_wbuf.rb in yahns-1.10.0 vs test/test_wbuf.rb in yahns-1.11.0
- old
+ new
@@ -69,11 +69,20 @@
rescue Errno::EAGAIN
break
end while true
end
wbuf = Yahns::Wbuf.new([], true, Dir.tmpdir, :wait_writable)
- assert_equal :wait_writable, wbuf.wbuf_write(a, buf)
- assert_equal :wait_writable, wbuf.wbuf_flush(a)
+
+ rv1 = wbuf.wbuf_write(a, buf)
+ rv2 = wbuf.wbuf_flush(a)
+ case rv1
+ when nil
+ assert_equal true, rv2, 'some kernels succeed with real sendfile'
+ when :wait_writable
+ assert_equal :wait_writable, rv2, 'some block on sendfile'
+ else
+ flunk "unexpected from wbuf_write/flush: #{rv1.inspect} / #{rv2.inspect}"
+ end
# drain the buffer
Timeout.timeout(10) { b.read(b.nread) until b.nread == 0 }
# b.nread will increase after this