aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorodaira <odaira@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-09 00:28:41 +0000
committerodaira <odaira@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-03-09 00:28:41 +0000
commitfcccc3fec69953879df855061601e22868ef43c6 (patch)
treeef82ea8c0dc25cd0c3ec20174f5dcfcdb3c4410f
parent1a0713f1311d64a4583a0a82ee7b0479513651fb (diff)
downloadruby-fcccc3fec69953879df855061601e22868ef43c6.tar.gz
* 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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