From cb4bba380b092b64ad08d4b9067485df5a32566f Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 3 Jun 2010 04:05:20 +0000 Subject: [PATCH] * test/io/nonblock/test_flush.rb (test_flush): try pipe and socketpair. [ruby-dev:41517] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ test/io/nonblock/test_flush.rb | 13 +++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5b8f9c8100..6d9d69d648 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 3 13:05:15 2010 Nobuyoshi Nakada + + * test/io/nonblock/test_flush.rb (test_flush): try pipe and + socketpair. [ruby-dev:41517] + Thu Jun 3 09:39:54 2010 NAKAMURA Usaku * ext/dl/dl.h (DLSTACK_TYPE): type of stack is same as VALUE. 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