aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-10 10:42:19 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-10 10:42:19 +0000
commitfd9f6bde957ce681fed49182be02124ecc89b362 (patch)
treead4a0c12e80ad4ca7c60d6dd8c18be960d5dde8c /test
parent6ccf3d68c21c2eabefe80f9ff1f7b5296a9ddfd2 (diff)
downloadruby-fd9f6bde957ce681fed49182be02124ecc89b362.tar.gz
* win32/win32.c, include/win32/win32.h (rb_w32_set_nonblock): new
function to support nonblock-mode of pipes. * win32/win32.c (rb_w32_read): nonblock-mode pipe returns ERROR_NO_DATA if there is no data, but also returns it if remote-end is closed. * win32/win32.c (rb_w32_write): if cannot to write any data, it may be blocking. * io.c (rb_io_set_nonblock): use rb_w32_set_nonblock for Windows. * ext/io/nonblock/nonblock.c (rb_io_nonblock_set): use ruby's API when setting nonblock-mode. * test/ruby/test_io.rb: test nonblock pipes on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_io.rb10
1 files changed, 0 insertions, 10 deletions
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb
index f6fc27b051..af77da2777 100644
--- a/test/ruby/test_io.rb
+++ b/test/ruby/test_io.rb
@@ -1259,7 +1259,6 @@ class TestIO < Test::Unit::TestCase
end
def test_write_nonblock
- skip "IO#write_nonblock is not supported on file/pipe." if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
pipe(proc do |w|
w.write_nonblock(1)
w.close
@@ -1269,7 +1268,6 @@ class TestIO < Test::Unit::TestCase
end
def test_read_nonblock_with_not_empty_buffer
- skip "IO#read_nonblock is not supported on file/pipe." if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
with_pipe {|r, w|
w.write "foob"
w.close
@@ -1279,7 +1277,6 @@ class TestIO < Test::Unit::TestCase
end
def test_write_nonblock_simple_no_exceptions
- skip "IO#write_nonblock is not supported on file/pipe." if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
pipe(proc do |w|
w.write_nonblock('1', exception: false)
w.close
@@ -1290,7 +1287,6 @@ class TestIO < Test::Unit::TestCase
def test_read_nonblock_error
return if !have_nonblock?
- skip "IO#read_nonblock is not supported on file/pipe." if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
with_pipe {|r, w|
begin
r.read_nonblock 4096
@@ -1310,7 +1306,6 @@ class TestIO < Test::Unit::TestCase
def test_read_nonblock_no_exceptions
return if !have_nonblock?
- skip "IO#read_nonblock is not supported on file/pipe." if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
with_pipe {|r, w|
assert_equal :wait_readable, r.read_nonblock(4096, exception: false)
w.puts "HI!"
@@ -1322,7 +1317,6 @@ class TestIO < Test::Unit::TestCase
def test_read_nonblock_with_buffer_no_exceptions
return if !have_nonblock?
- skip "IO#read_nonblock is not supported on file/pipe." if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
with_pipe {|r, w|
assert_equal :wait_readable, r.read_nonblock(4096, "", exception: false)
w.puts "HI!"
@@ -1337,7 +1331,6 @@ class TestIO < Test::Unit::TestCase
def test_write_nonblock_error
return if !have_nonblock?
- skip "IO#write_nonblock is not supported on file/pipe." if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
with_pipe {|r, w|
begin
loop {
@@ -1351,7 +1344,6 @@ class TestIO < Test::Unit::TestCase
def test_write_nonblock_no_exceptions
return if !have_nonblock?
- skip "IO#write_nonblock is not supported on file/pipe." if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
with_pipe {|r, w|
loop {
ret = w.write_nonblock("a"*100000, exception: false)
@@ -2643,7 +2635,6 @@ End
end
def test_cross_thread_close_fd
- skip "cross thread close causes hung-up if pipe." if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
with_pipe do |r,w|
read_thread = Thread.new do
begin
@@ -2932,7 +2923,6 @@ End
end
def test_readpartial_locktmp
- skip "nonblocking mode is not supported for pipe on this platform" if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
bug6099 = '[ruby-dev:45297]'
buf = " " * 100
data = "a" * 100