* 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
This commit is contained in:
odaira 2016-03-09 00:28:41 +00:00
Родитель 96e0b7d45f
Коммит 8f5cbc589c
2 изменённых файлов: 15 добавлений и 1 удалений

Просмотреть файл

@ -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):

Просмотреть файл

@ -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