diff options
Diffstat (limited to 'test/io/nonblock/test_flush.rb')
-rw-r--r-- | test/io/nonblock/test_flush.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/test/io/nonblock/test_flush.rb b/test/io/nonblock/test_flush.rb index 2217dbcec9..5dc55a67fe 100644 --- a/test/io/nonblock/test_flush.rb +++ b/test/io/nonblock/test_flush.rb @@ -7,8 +7,17 @@ end class TestIONonblock < Test::Unit::TestCase def test_flush - r,w = IO.pipe - w.nonblock = true + flush_test(*IO.pipe) or + (require 'socket'; flush_test(*Socket.pair(:INET, :STREAM))) or + skip "nonblocking IO did not work" + end + + def flush_test(r, w) + begin + w.nonblock = true + rescue Errno::EBADF + return false + end w.sync = false w << "b" w.flush |