mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* test/io/nonblock/test_flush.rb (TestIONonblock#test_flush): write
operation ignores EAGAIN. * test/ruby/test_super.rb (TestSuper#test_define_method): test for super from proc. [ruby-core:03856] * test/socket/test_tcp.rb (TestTCPSocket#test_recvfrom): make execution order more precise. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d5b434088a
commit
807a93be08
3 changed files with 30 additions and 5 deletions
|
@ -23,7 +23,7 @@ class TestIONonblock < Test::Unit::TestCase
|
|||
end
|
||||
}
|
||||
assert_raise(IOError) {w.flush}
|
||||
t.join
|
||||
assert_equal("b", result)
|
||||
assert_nothing_raised {t.join}
|
||||
assert_equal(4097, result.size)
|
||||
end
|
||||
end if IO.method_defined?(:nonblock)
|
||||
|
|
|
@ -65,4 +65,24 @@ class TestSuper < Test::Unit::TestCase
|
|||
assert_equal([1,2,3], Array4.new.array(1, 2, 3))
|
||||
assert_equal([1,2,3,4], Array4.new.array(1, 2, 3, 4))
|
||||
end
|
||||
|
||||
class A
|
||||
def tt(aa)
|
||||
"A#tt"
|
||||
end
|
||||
|
||||
def uu(a)
|
||||
class << self
|
||||
define_method(:tt) do |sym|
|
||||
super
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_define_method # [ruby-core:03856]
|
||||
a = A.new
|
||||
a.uu(12)
|
||||
assert_raise(RuntimeError) {a.tt(12)}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -7,17 +7,22 @@ end
|
|||
|
||||
class TestTCPSocket < Test::Unit::TestCase
|
||||
def test_recvfrom # [ruby-dev:24705]
|
||||
c = s = nil
|
||||
svr = TCPServer.new("localhost", 0)
|
||||
Thread.new {
|
||||
svr.accept.print("x"*0x1000)
|
||||
c = svr.accept
|
||||
Thread.pass until s
|
||||
c.print("x"*0x1000)
|
||||
}
|
||||
addr = svr.addr
|
||||
sock = TCPSocket.open(addr[2], addr[1])
|
||||
Thread.new {
|
||||
Thread.pass
|
||||
Thread.pass until c
|
||||
Thread.critical = true
|
||||
ObjectSpace.each_object(String) {|s|
|
||||
s.replace "a" if s.length == 0x10000
|
||||
s.replace "a" if s.length == 0x10000 and !s.frozen?
|
||||
}
|
||||
Thread.critical = false
|
||||
}
|
||||
assert_raise(RuntimeError, SocketError) {
|
||||
sock.recvfrom(0x10000)
|
||||
|
|
Loading…
Reference in a new issue