diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | test/io/wait/test_io_wait.rb | 9 |
2 files changed, 15 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Wed Mar 9 09:19:55 2016 Rei Odaira <Rei.Odaira@gmail.com> + + * test/io/wait/test_io_wait.rb (test_wait_readwrite_timeout): + select(2) in AIX returns "readable" for the write-side fd + of a pipe, so it is not possible to use a pipe to test + the read-write timeout of IO#wait on AIX. + Wed Mar 9 03:35:22 2016 Charles Oliver Nutter <headius@headius.com> * test/ruby/test_require.rb (test_require_with_loaded_features_pop): diff --git a/test/io/wait/test_io_wait.rb b/test/io/wait/test_io_wait.rb index 6c6fd83116..2c1073d104 100644 --- a/test/io/wait/test_io_wait.rb +++ b/test/io/wait/test_io_wait.rb @@ -141,7 +141,14 @@ class TestIOWait < Test::Unit::TestCase def test_wait_readwrite_timeout assert_equal @w, @w.wait(0.01, :read_write) written = fill_pipe - assert_nil @w.wait(0.01, :read_write) + if /aix/ =~ RUBY_PLATFORM + # IO#wait internally uses select(2) on AIX. + # AIX's select(2) returns "readable" for the write-side fd + # of a pipe, so @w.wait(0.01, :read_write) does not return nil. + assert_equal @w, @w.wait(0.01, :read_write) + else + assert_nil @w.wait(0.01, :read_write) + end @r.read(written) assert_equal @w, @w.wait(0.01, :read_write) end |