Issue #4558 has been updated by Eric Wong.


I consider either Errno::EBADF or IOError to be acceptable.

The main thing I care about is I/O for pipes/sockets being interruptable
(I only work on *nix).

By the way, test/socket/test_socket.rb has had a similar test for months
(since r30852).   It does have a Timeout wrapping it, so maybe that is
needed (but you'd still get an error).  Maybe just disabling this test
for Windows platforms would be acceptable?

Eventually I would like to get rid of places where we call select()
before doing (any) I/O across the board (ref: [ruby-core:35586]) if
possible.

----------------------------------------
Bug #4558: TestSocket#test_closed_read fails after r31230
http://redmine.ruby-lang.org/issues/4558

Author: Tomoyuki Chikanaga
Status: Assigned
Priority: Normal
Assignee: Motohiro KOSAKI
Category: test
Target version: 1.9.3
ruby -v: -


After r31230, make test-all reports a failure in test_socket.rb @Mac OS X 10.6.6

 % make test-all TESTS=../ruby/test/socket/test_socket.rb
 ./miniruby -I../ruby/lib -I. -I.ext/common  ../ruby/tool/runruby.rb --extout=.ext  -- "../ruby/test/runner.rb" --ruby="./miniruby -I../ruby/lib -I. -I.ext/common  ../ruby/tool/runruby.rb --extout=.ext  --" ../ruby/test/socket/test_socket.rb
 Run options: "--ruby=./miniruby -I../ruby/lib -I. -I.ext/common  ../ruby/tool/runruby.rb --extout=.ext  --"
 
 # Running tests:
 
 ....F.................
 
 Finished tests in 1.611761s, 13.6497 tests/s, 40.9490 assertions/s.
 
   1) Failure:
 test_closed_read(TestSocket) [/ruby/test/socket/test_socket.rb:428]:
 [ruby-core:35203]
 [IOError] exception expected, not
 Class: <Errno::EBADF>
 Message: <"Bad file descriptor">
 ---Backtrace---
 /ruby/test/socket/test_socket.rb:422:in `readline'
 /ruby/test/socket/test_socket.rb:422:in `block in test_closed_read'
 ---------------
 
 22 tests, 66 assertions, 1 failures, 0 errors, 0 skips
 make: *** [yes-test-all] Error 1



-- 
http://redmine.ruby-lang.org