diff options
author | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-27 16:12:47 +0000 |
---|---|---|
committer | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-27 16:12:47 +0000 |
commit | a34db218ade33b79e7404488db5a15bad2841c25 (patch) | |
tree | 2ed22ad149cd75e36d9aabbe29b32e96c27fa3a6 /spec/ruby/core/io/syswrite_spec.rb | |
parent | 0f989b87a06563add3fdeb9cda983492e8a420af (diff) |
Update to ruby/spec@0fe33ac
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec/ruby/core/io/syswrite_spec.rb')
-rw-r--r-- | spec/ruby/core/io/syswrite_spec.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/ruby/core/io/syswrite_spec.rb b/spec/ruby/core/io/syswrite_spec.rb index 879423de2e..e4936441ce 100644 --- a/spec/ruby/core/io/syswrite_spec.rb +++ b/spec/ruby/core/io/syswrite_spec.rb @@ -49,6 +49,23 @@ describe "IO#syswrite on a file" do end end +describe "IO#syswrite on a pipe" do + it "returns the written bytes if the fd is in nonblock mode and write would block" do + require 'io/nonblock' + r, w = IO.pipe + begin + w.nonblock = true + larger_than_pipe_capacity = 100 * 1024 + written = w.syswrite("a"*larger_than_pipe_capacity) + written.should > 0 + written.should < larger_than_pipe_capacity + ensure + w.close + r.close + end + end +end + describe "IO#syswrite" do it_behaves_like :io_write, :syswrite end |