diff options
author | Eric Wong <normalperson@yhbt.net> | 2012-12-24 20:20:00 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2012-12-24 20:23:12 +0000 |
commit | c0b3faa0922d895e6aafa9802df69649b1977eae (patch) | |
tree | e58ad4f186322b8f2ca1a007bb0b3c031b23a212 | |
parent | de18522959de92865bb10582dd02276b3da8ae01 (diff) | |
download | mogilefs-client-c0b3faa0922d895e6aafa9802df69649b1977eae.tar.gz |
IO.copy_stream does not raise EOFError when specified copy length is less than input size. Thus we must rely on the MogileFS tracker to validate the input size.
-rw-r--r-- | test/test_fresh.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/test_fresh.rb b/test/test_fresh.rb index b619a6a..706783e 100644 --- a/test/test_fresh.rb +++ b/test/test_fresh.rb @@ -147,4 +147,22 @@ class TestMogFresh < Test::Unit::TestCase end src.close! end + + def test_new_file_copy_stream_known_length + add_host_device_domain + opts = { :content_length => 666 } + input = StringIO.new("short") + client = MogileFS::MogileFS.new :hosts => @hosts, :domain => @domain + assert_raises(MogileFS::SizeMismatchError) do + client.new_file("copy_stream", opts) do |io| + IO.copy_stream(input, io) + end + end + + assert_raises(MogileFS::SizeMismatchError) do + client.new_file("copy_stream", opts) do |io| + IO.copy_stream(input, io, 666) + end + end + end if IO.respond_to?(:copy_stream) end |