summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--test/io/wait/test_io_wait.rb9
2 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f09329e55e..8c7bb4e977 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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