test/lib_read_write.rb in kgio-2.10.0 vs test/lib_read_write.rb in kgio-2.11.0

- old
+ new

@@ -5,11 +5,16 @@ require 'fileutils' $-w = true require 'kgio' module LibReadWriteTest - RANDOM_BLOB = File.open("/dev/urandom") { |fp| fp.read(10 * 1024 * 1024) } + RANDOM_BLOB = File.open("/dev/urandom") do |fp| + nr = 31 + buf = fp.read(nr) + # get roughly a 20MB block of random data + (buf * (20 * 1024 * 1024 / nr)) + (buf * rand(123)) + end def teardown @rd.close if defined?(@rd) && ! @rd.closed? @wr.close if defined?(@wr) && ! @wr.closed? FileUtils.remove_entry_secure(@tmpdir) if defined?(@tmpdir) @@ -367,11 +372,11 @@ @wr.instance_variable_set :@nr, 0 def @wr.kgio_wait_writable @nr += 1 IO.select(nil, [self]) end - buf = "." * 1024 * 1024 * 10 + buf = RANDOM_BLOB thr = Thread.new { @wr.kgio_write(buf) } Thread.pass until thr.stop? readed = @rd.read(buf.size) thr.join assert_nil thr.value @@ -383,10 +388,10 @@ @wr.instance_variable_set :@nr, 0 def @wr.kgio_wait_writable @nr += 1 IO.select(nil, [self]) end - buf = ["." * 1024] * 1024 * 10 + buf = [ RANDOM_BLOB, RANDOM_BLOB ] buf_size = buf.inject(0){|c, s| c + s.size} thr = Thread.new { @wr.kgio_writev(buf) } Thread.pass until thr.stop? readed = @rd.read(buf_size) thr.join