diff --git a/test/io/nonblock/test_flush.rb b/test/io/nonblock/test_flush.rb new file mode 100644 index 0000000000..5ca4beba60 --- /dev/null +++ b/test/io/nonblock/test_flush.rb @@ -0,0 +1,22 @@ +require 'test/unit' +require 'io/nonblock' + +class TestIONonblock < Test::Unit::TestCase + def test_flush # [ruby-dev:24985] + r,w = IO.pipe + w.nonblock = true + w.sync = false + w << "b" + w.flush + w << "a" * 4096 + Thread.new { + Thread.pass + w.close + } + Thread.new { + Thread.pass + nil while r.read(4096) + } + assert_raise(IOError) {w.flush} + end +end