test/lib_read_write.rb in kgio-2.8.0.2.g30c1 vs test/lib_read_write.rb in kgio-2.8.1
- old
+ new
@@ -1,18 +1,20 @@
# -*- encoding: binary -*-
require 'test/unit'
require 'io/nonblock'
require 'digest/sha1'
+require 'fileutils'
$-w = true
require 'kgio'
module LibReadWriteTest
RANDOM_BLOB = File.open("/dev/urandom") { |fp| fp.read(10 * 1024 * 1024) }
def teardown
@rd.close if defined?(@rd) && ! @rd.closed?
@wr.close if defined?(@wr) && ! @wr.closed?
+ FileUtils.remove_entry_secure(@tmpdir) if defined?(@tmpdir)
end
def test_write_empty
assert_nil @wr.kgio_write("")
end
@@ -354,11 +356,12 @@
thr = Thread.new { @wr.kgio_writev(buf) }
@rd.nonblock = false
readed = @rd.read(RANDOM_BLOB.size)
thr.join
assert_nil thr.value
- assert_equal RANDOM_BLOB, readed
+ e = (RANDOM_BLOB == readed)
+ assert e
end
def test_monster_write_wait_writable
@wr.instance_variable_set :@nr, 0
def @wr.kgio_wait_writable
@@ -386,11 +389,12 @@
thr = Thread.new { @wr.kgio_writev(buf) }
Thread.pass until thr.stop?
readed = @rd.read(buf_size)
thr.join
assert_nil thr.value
- assert_equal buf.join, readed
+ e = (buf.join == readed)
+ assert e
assert @wr.instance_variable_get(:@nr) > 0
end
def test_wait_readable_ruby_default
elapsed = 0
@@ -452,13 +456,15 @@
def test_trywrite_wait_readable_method
def @wr.kgio_wait_writable
raise "Hello"
end
- tmp = []
- buf = "." * 1024
- 10000.times { tmp << @wr.kgio_trywrite(buf) }
- assert_equal :wait_writable, tmp.pop
+ buf = "." * 4096
+ rv = nil
+ until rv == :wait_writable
+ rv = @wr.kgio_trywrite(buf)
+ end
+ assert_equal :wait_writable, rv
end
def test_wait_writable_method
def @wr.kgio_wait_writable
defined?(@z) ? raise(RuntimeError, "Hello") : @z = "HI"