diff options
author | Tanaka Akira <[email protected]> | 2025-04-15 15:55:40 +0900 |
---|---|---|
committer | Tanaka Akira <[email protected]> | 2025-04-15 15:55:40 +0900 |
commit | 698ef864a59004f468c77534d59e51e862ec2624 (patch) | |
tree | 77206692d5a8b7c50b3017382d226c498be10d49 /test/ruby/test_io.rb | |
parent | e1f544c1cf34787f139a973b934c9f535b201ea3 (diff) |
`IO.select` accepts +Float::INFINITY+ as a timeout argument.
matz accepted at the developper meeting 2024-07-11.
Diffstat (limited to 'test/ruby/test_io.rb')
-rw-r--r-- | test/ruby/test_io.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb index 255de0b0a0..32d7519bdf 100644 --- a/test/ruby/test_io.rb +++ b/test/ruby/test_io.rb @@ -4262,6 +4262,23 @@ __END__ end end if Socket.const_defined?(:MSG_OOB) + def test_select_timeout + assert_equal(nil, IO.select(nil,nil,nil,0)) + assert_equal(nil, IO.select(nil,nil,nil,0.0)) + assert_raise(TypeError) { IO.select(nil,nil,nil,"invalid-timeout") } + assert_raise(ArgumentError) { IO.select(nil,nil,nil,-1) } + assert_raise(ArgumentError) { IO.select(nil,nil,nil,-0.1) } + assert_raise(ArgumentError) { IO.select(nil,nil,nil,-Float::INFINITY) } + assert_raise(RangeError) { IO.select(nil,nil,nil,Float::NAN) } + IO.pipe {|r, w| + w << "x" + ret = [[r], [], []] + assert_equal(ret, IO.select([r],nil,nil,0.1)) + assert_equal(ret, IO.select([r],nil,nil,1)) + assert_equal(ret, IO.select([r],nil,nil,Float::INFINITY)) + } + end + def test_recycled_fd_close dot = -'.' IO.pipe do |sig_rd, sig_wr| |