summaryrefslogtreecommitdiff
path: root/test/io/nonblock
diff options
context:
space:
mode:
Diffstat (limited to 'test/io/nonblock')
-rw-r--r--test/io/nonblock/test_flush.rb13
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